Hal*_*nex 3 laravel composer-php laravel-4
每次我跑php artisan routes,我都会得到ReflectionException错误,那个UsersController班级不存在.我很确定它确实如此.
我试过php composer dump-autoload和php artisan clear-compiled,他们都给予了同样的错误.
这是我的错误登录 /app/storage/logs/
[2014-03-30 01:41:24] production.ERROR: exception 'ReflectionException' with message 'Class UsersController does not exist' in C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\ControllerInspector.php:28
Stack trace:
#0 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\ControllerInspector.php(28): ReflectionClass->__construct('UsersController')
#1 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\Router.php(269): Illuminate\Routing\ControllerInspector->getRoutable('UsersController', 'users')
#2 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php(211): Illuminate\Routing\Router->controller('users', 'UsersController')
#3 C:\wamp\www\re3\app\routes.php(14): Illuminate\Support\Facades\Facade::__callStatic('controller', Array)
#4 C:\wamp\www\re3\app\routes.php(14): Illuminate\Support\Facades\Route::controller('users', 'UsersController')
#5 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\start.php(269): require('C:\wamp\www\re3...')
#6 [internal function]: {closure}(Object(Illuminate\Foundation\Application))
#7 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(792): call_user_func(Object(Closure), Object(Illuminate\Foundation\Application))
#8 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(569): Illuminate\Foundation\Application->fireAppCallbacks(Array)
#9 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(552): Illuminate\Foundation\Application->bootApplication()
#10 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Console\Application.php(44): Illuminate\Foundation\Application->boot()
#11 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Console\Application.php(33): Illuminate\Console\Application::make(Object(Illuminate\Foundation\Application))
#12 C:\wamp\www\re3\artisan(46): Illuminate\Console\Application::start(Object(Illuminate\Foundation\Application))
#13 {main} [] []
Run Code Online (Sandbox Code Playgroud)
Ant*_*iro 10
不知怎的,Laravel无法找到你的UsersController,运行
composer dumpautoload
Run Code Online (Sandbox Code Playgroud)
然后检查文件vendor/composer/autoload_classmap.php,你的UsersController必须在那里,否则composer将无法自动加载它,Laravel将无法访问它.
如果你在int中找不到你的控制器,你必须检查:
1)您的composer.json文件,您的控制器所在的文件夹必须位于:
"autoload": {
"classmap": [
"app/controllers",
....
],
Run Code Online (Sandbox Code Playgroud)
2)检查您的类是否正确命名.
3)如果您使用命名空间:
class UsersController扩展Controller {...}
您必须在对它的引用中使用命名空间,在这种情况下,使用PSR-4(甚至PSR-0)自动加载您的类可能会更好.
4)将autoload_classmap.php中的类与不存在的类进行比较.命名或目录放置必须有所不同.
5)检查你的课程是否都以课程开头
<?php
Run Code Online (Sandbox Code Playgroud)
而不只是
<?
Run Code Online (Sandbox Code Playgroud)
这对于作曲家和PHP来说可能没有太大的区别,但它确实对Laravel来说.
| 归档时间: |
|
| 查看次数: |
11524 次 |
| 最近记录: |