我在laravel 5.5工作 . 我创建了一个名为 Abc
的控制器文件夹,并在其中创建了一个名为 abc.php
的控制器文件,在此文件中我编写了代码:
namespace App\Http\Controllers\Abc;
use App\Http\Controllers\Controller;
//use Illuminate\Support\Facades\DB;
class abcController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function NewPromotion()
{
return view('new-promotion');
}
}
在web.php文件下的Route文件夹中,我调用其视图文件,如: - Route :: get('/ new-promotion','Abc \ abcController @ NewPromotion');
尽管在命名空间中定义,我仍然会收到错误,即
“ReflectionException(-1)类App \ Http \ Controllers \ Abc \ abcController不存在” .
可能的问题是什么?
2 回答
您应该确保您的文件位于
app/Http/Controllers/Abc
目录中,并且名称为abcController.php
(区分大小写) .同样按照惯例,类名以大字母开头,因此您应该将控制器命名为
AbcController
,并将此文件命名为AbcController.php
(并且还要更新路由文件以使用此控制器名称的有效大小写) .创建控制器的好方法是使用cmd(你必须在项目目录中)