gpt4 book ai didi

php - 如何将 Controller 放入 Laravel 5.1.3 的文件夹中?

转载 作者:行者123 更新时间:2023-12-02 11:06:23 27 4
gpt4 key购买 nike

我是 Laravel 新手。我试图通过将 Controller 放入文件夹中来组织 Controller ,但它似乎不起作用。

我的文件夹结构是这样的:

/app
/Http
/Controllers
/Admin
ShowDashboard.php

我的ShowDashboard.php文件是这样的:

<?php namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;

class ShowDashboard extends Controller {

/**
* Show the profile for the given user.
*
* @param int $id
* @return Response
*/
public function init()
{
return 'Hi there!';
}

}

我的路线是这样的

Route::get('/admin', 'Admin\ShowDashboard@init');

当我尝试访问 http://localhost:8000/admin 我收到以下错误:

Class App\Http\Controllers\Admin\ShowDashboard does not exist

我的自动加载器部分:

"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
}

我错过了什么吗?

最佳答案

创建 Controller 的最佳方法是使用内置的 Laravel 实用程序 Artisan。从命令提示符中,浏览到 laravel 项目所在的目录。例如:c:\development\htdocs\www.example.dev

在提示符下,输入:php artisan make:controller admin/showDashboard --plain

这将在 Controller 下的管理目录中生成一个名为 showDashboard.php 的文件。该文件默认包含以下代码:

<?php

namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class showDashboard extends Controller
{
//
}

现在您已经创建了 Controller ,请添加一个 init 方法:

public function init()
{
return 'Hi there!';
}

你的 Controller 现在看起来像这样:

<?php

namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class showDashboard extends Controller
{
public function init()
{
return 'Hi there!';
}
}

现在,在 paths.php 中设置路由,如下所示:

route::get('admin', 'admin\showDashboard@init');

保存您的工作,然后启动您的页面。当浏览到 www.example.dev/admin 时,您应该看到消息:嗨!

希望这会有所帮助!

关于php - 如何将 Controller 放入 Laravel 5.1.3 的文件夹中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31637961/

27 4 0
文章推荐: java - 随机/随机比较器
文章推荐: java - 如何使用 BufferedReader 从命令行输出中获取带有特殊字符的字符串
文章推荐: java - 过滤logstash输入
文章推荐: java - 不会生成数组 List 而是 List