Jam*_*ery 4 php laravel laravel-4
是否可以调用嵌套在Laravel 4中的子文件夹中的控件?
我的控制器如下
- Controllers
- admin
* AdminController.php
* HomeController.php
* BaseController.php
* ArticleController.php
Run Code Online (Sandbox Code Playgroud)
以下是我的AdminController类的代码:
<?php
class LoginController extends BaseController {
public function showLogin()
{
return View::make('partials.admin.login');
}
}
Run Code Online (Sandbox Code Playgroud)
在我的Routes.php文件中,我正在执行以下操作:
Route::get('/admin', 'admin.LoginController@showLogin');
Run Code Online (Sandbox Code Playgroud)
但我得到一个Class not found错误.有什么我想念的,因为我似乎无法从Laravel 4文档中找到解决这个问题的方法.
Sin*_*ine 16
只要您不更改控制器的命名空间,即使它位于子文件夹中,您也应该能够从全局命名空间访问它.
所以只需改变:
Route::get('/admin', 'admin.LoginController@showLogin');
Run Code Online (Sandbox Code Playgroud)
至:
Route::get('/admin', 'LoginController@showLogin');
Run Code Online (Sandbox Code Playgroud)
文件名还需要与类名匹配,因此将'AdminController.php'更改为'LoginController.php'或将类名从'LoginController'更改为'AdminController'.
并确保你这样做 composer dump-autoload
ahm*_*mdy 10
你只需要添加namespace在你AdminController.php的文件并更改名称之类的LoginController来AdminController
AdminController.php 那么将是:
<?php
namespace Admin;
use BaseController;
class LoginController extends BaseController {
public function showLogin()
{
return View::make('partials.admin.login');
}
}
Run Code Online (Sandbox Code Playgroud)
并将你routes.php改为:
Route::get('/admin', 'admin\LoginController@showLogin');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9376 次 |
| 最近记录: |