首页 文章

命名空间Laravel安装

提问于
浏览
0

我刚刚在一个名为blog1的项目中在xampp下安装了Laravel . 文档说默认命名空间是App . 我创建了以下控制器:

namespace App\Http\Controllers;
 use App\User;
 use App\Repositories\UserRepository;
 use App\Http\Controllers\Controller;

 class UserController extends Controller
 {
  /**
  * The user repository implementation.
   *
   * @var UserRepository
  */
  protected $users;

/**
 * Create a new controller instance.
 *
 * @param  UserRepository  $users
 * @return void
 */
public function __construct(UserRepository $users)
{
    $this->users = $users;
}

/**
 * Show the profile for the given user.
 *
 * @param  int  $id
 * @return Response
 */
public function show($id)
{
    $user = $this->users->find($id);

    return view('user.profile', ['user' => $user]);
}
}

在公共目录下使用名称testController.php .

当我http://localhost/blog1/testController.php我在第10行的C:\ xampp \ htdocs \ blog1 \ public \ testController.php中找不到以下类'App\Http\Controllers\Controller' . 有什么建议吗?我试图将命名空间设置为blog1,但现在blog1 / Http?Controller没有发生任何事情 .

我通过作曲家重新安装Laravel .

2 回答

  • 0

    在PHP中阅读PSR-4PSR-0 (deprecated)autoloading . 引发错误,因为类名( UserController )必须与文件名 testController.php 完全相同,因此您应将文件命名为 UserController.php 或您的类 testController .

    另请阅读Laravel's routingcomposer's autoloading .

  • 2

    laravel的错误是有效的 . 您将文件 TestController.php 放在公共目录下,并为该类提供名称空间 - App\Http\Controllers .

    您应该将 TestController.php 放在目录中:

    app > Http > Controllers
    

    这样,您的代码不会再次出错!

    查看有关Laravel控制器和命名空间和Laravel目录结构的更多信息

    希望这可以帮助!

相关问题