【发布时间】:2016-10-19 11:45:15
【问题描述】:
我正在尝试在 laravel 5.2.* 中添加包,但包路由返回错误 Class FormController does not exist。
我正在尝试什么
Package Directory > packages\js\form\src
包>提供者
namespace Js\Form;
use Illuminate\Support\ServiceProvider;
class FormServiceProvider extends ServiceProvider
{
public function boot()
{
}
public function register()
{
include __DIR__.'/routes.php';
$this->app->make('Js\Form\FormController');
}
}
包>控制器
namespace Js\Form;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
class FormController extends Controller
{
public function index()
{
echo 'test';
}
}
包>作曲家
{
"name": "js/form",
"description": "this is form",
"type": "project",
"license": "xyz",
"minimum-stability": "dev",
"require": {}
}
主要作曲家
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"Js\\Form\\": "packages/Js/Form/src"
}
}
包裹>路线
Route::get('/contactus', 'FormController@index');
在 config/app.php 中
Js\Form\FormServiceProvider::class,
我也执行了这个命令 composer dump-autoload 然后试图打开这个 url http://localhost/project/public/index.php/contactus 但它显示以下错误。
Class FormController does not exist
谁能指导我哪里有问题可以解决。如果有人指导我,我将不胜感激。谢谢你
【问题讨论】:
-
我假设错误来自路由器功能。您只需指定 FormController,它就会在默认位置查找(app/http/controllers),但这不是表单控制器所在的位置
-
@tam 我同意你的观点,问题来自路由,因为我通过添加错误的控制器名称来检查它。那么我该如何解决。你有什么想法吗?
-
你能在 CLI 中试试这个命令 php artisan config:clear 吗?有时它会从缓存中获取配置。
-
@RonakDattani 我按照你的指示做了,但是当我刷新时它仍然显示相同的错误。