我熟悉 laravel artisan 命令
制作:请求
但是我似乎无法将其放置在目录中。例如我有一个目录结构
应用程序/Http/请求/用户
我想在那个命名空间适当的文件夹中发出请求,但是
php artisan make:request User\CreateUserRequest
不起作用。
artisan make:request User\\CreateUserRequest
感谢@DarrylCoder在评论中回答
将斜线 ( / ) 方向切换为正向:
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
您应该得到工匠的响应:
\请求创建成功。
在你的app/Http/Requests/User
目录中你应该有文件CreateUserRequest.php
我刚才检查过它,它工作正常。当然,您安装的版本可能存在错误,或者您更改了其他一些应用程序设置,因此您可以尝试将其更新到最新版本(我已经在几天前下载的版本上对其进行了测试)。
以下示例演示如何调用 make:request 命令
php artisan make:request SignInRequest
app/Http/Requests/StoreDrinksPostRequest.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 [
//
];
}
}