【问题标题】:Laravel error: Cannot redeclare function in classLaravel 错误:无法在类中重新声明函数
【发布时间】:2017-08-01 01:27:53
【问题描述】:

我正在使用 Laravel,它给了我这种错误:

“无法在 MailController.php 中重新声明 PinoiseDigitalStudio\Http\Controllers\MailController::store()(第 17 行)”

这是我的控制器

namespace PinoiseDigitalStudio\Http\Controllers;

use Illuminate\Http\Request;

class MailController extends Controller {

    public function store(ContactFormRequest $request){
        return \Redirect::route('contact')->with('message', 'Thanks for contacting us!');
    }

    public function store(ContactFormRequest $request){
        \Mail::send('emails.contact',
            array(
                'name' => $request->get('name'),
                'email' => $request->get('email'),
                'user_message' => $request->get('message')
            ), function($message){
                $message->from('wj@wjgilmore.com');
                $message->to('wj@wjgilmore.com', 'Admin')->subject('TODOParrot Feedback');
        });
        return \Redirect::route('contact')->with('message', 'Thanks for contacting us!');
    }

}

你能告诉我有什么问题吗?

【问题讨论】:

  • 将旧标题粘贴到问题中,选项卡式/压缩代码块,提出实际问题,将错误放在引号块中,改写标题

标签: laravel mailing


【解决方案1】:

您的控制器中有两个同名的方法 - 您不能有两个名为 store 的方法。重命名其中一个以解决此问题。

【讨论】:

    【解决方案2】:

    你已经定义了两次 store 方法:

    一个重定向到“联系人”路由,另一个发送联系人电子邮件。

    在同一个类中不能有两个同名的方法。您需要重命名其中一种方法

    【讨论】:

      【解决方案3】:

      store 有两种方法,因此一种方法名称在控制器中重命名,也在路由文件中重命名,然后尝试一下。

      【讨论】:

        猜你喜欢
        • 2013-10-31
        • 2013-08-07
        • 1970-01-01
        • 1970-01-01
        • 2011-09-12
        • 2023-04-02
        • 2010-11-19
        相关资源
        最近更新 更多