我是新来的,但我已经在这里检查了所有关于我的问题的解决方案,但仍然无法修复它。
我想在Laravel 5.2中使用教程创建简单的应用程序,但我无法让控制器工作。
我将我的应用命名为“test”,这是一个代码:
PagesController.php:
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class PagesController extends Controller
{
public function getAbout(){
return view('about');
}
}
routes.php文件:
Route::get('about', [
'as' => 'about',
'uses' => 'PagesController@getAbout'
]);
和Controller.php(默认):
<?php
namespace test\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
你觉得这里有什么问题吗? 我确信所有文件都在正确的文件夹中。
答案 0 :(得分:3)
要使一切正确,请运行此。
php artisan app:name YourApplicationName
它会将应用程序的所有内容更改为您的应用程序名称,因此您无需在任何地方手动编写测试
答案 1 :(得分:2)
如果 App / Http / Controllers / 文件夹没有 Controller.php 文件,也会出现错误。
确保文件存在。
答案 2 :(得分:1)
请更正页面控制器中的命名空间
<?php
namespace test\Http\Controllers;
use test\Http\Controllers\Controller;
class PagesController extends Controller
{
public function getAbout(){
return view('about');
}
}
更新:
在控制器中更改名称空间后,请转储 - 自动加载您的作曲家:
Composer dump-autoload
答案 3 :(得分:0)
我的控制器现在看起来像这样:
<?php
namespace test\Http\Controllers;
use test\Http\Controllers\Controller;
class PagesController extends Controller
{
public function getAbout(){
return view('about');
}
}
错误仍然存在
<强>更新强>
好的,我创建了一个新项目,并且它有效。我认为所有的asewrs都会对类似的问题有所帮助:))
感谢您的帮助!
答案 4 :(得分:0)
在我的情况下,我在controller.php
中有两个命名空间,一个用于控制器,一个用于模型。
namespace App\Http\Controllers;
namespace App\Http\Models;
第二个人干扰了第一个人
我删除了第二个,瞧……代码起作用了