如何在laravel 5的命名空间路径中生成laravel请求


How to generate laravel request in namespace path for laravel 5

我熟悉laravel artisan命令

make:请求

然而,我似乎无法将它放在目录中。例如,我有一个目录结构

app/Http/请求/用户

我想把一个请求放在这个文件夹中,名称适当,但

php artisan make:request User'CreateUserRequest 

不起作用。

artisan make:request User''CreateUserRequest

感谢@DarrylCoder在评论

中的回答

将斜线(//strong>)方向切换为正向:

php artisan make:request User/CreateUserRequest 

php artisan make:request Auth''CreateUserRequest

这将使Requests'Auth文件夹中的请求文件

php artisan make:request Auth/CreateUserRequest

确保您的composer.json:

"autoload": {
    "classmap": [
        "database",
        "tests/TestCase.php"
    ],
    "psr-4": {
        "App''": "app/"
    }
},

您应该拥有此部件psr-4(此处默认设置)。

现在您不应该使用app/Requests/User,而应该使用app/Http/Requests/User,因为Requests应该放在Http目录中。

现在,当您运行php artisan make:request User'CreateUserRequest时,您应该会收到来自artisan的响应:

''请求创建成功。

并且在您的app/Http/Requests/User目录中,您应该有文件CreateUserRequest.php

我刚才检查过了,效果很好。当然,在你安装的版本中,你可能有一个错误,或者你更改了一些其他应用程序设置,所以你可以尝试将其更新到最新版本(我在几天前下载的版本上测试过它)。

以下示例演示如何调用make:request命令

php artisan make:request SignInRequest

app/Http/Requests/storeDrinkPostRequest.php转到该文件并编辑函数规则()

<?php
namespace App'Http'Requests;
use App'Http'Requests'Request;
class StoreDrinksPostRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
        ];
    }
}