{"id":827,"date":"2025-06-12T00:37:08","date_gmt":"2025-06-11T16:37:08","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/827.html"},"modified":"2025-06-12T00:37:08","modified_gmt":"2025-06-11T16:37:08","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8-laravel-%e4%b8%ad%e4%b8%ba%e8%af%b7%e6%b1%82%e5%8f%82%e6%95%b0%e5%ae%9a%e4%b9%89%e7%b1%bb%e5%9e%8b%e6%8f%90%e7%a4%ba","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/827.html","title":{"rendered":"\u5982\u4f55\u5728 Laravel \u4e2d\u4e3a\u8bf7\u6c42\u53c2\u6570\u5b9a\u4e49\u7c7b\u578b\u63d0\u793a"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; Laravel &#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; <code>Request<\/code> &#31867;&#26469;&#22788;&#29702; HTTP &#35831;&#27714;&#65292;&#24182;&#19988;&#21487;&#20197;&#20026;&#35831;&#27714;&#21442;&#25968;&#23450;&#20041;&#31867;&#22411;&#25552;&#31034;&#12290;&#36825;&#26377;&#21161;&#20110;&#25552;&#39640;&#20195;&#30721;&#30340;&#21487;&#35835;&#24615;&#21644;&#23433;&#20840;&#24615;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#22312; Laravel &#20013;&#20026;&#35831;&#27714;&#21442;&#25968;&#23450;&#20041;&#31867;&#22411;&#25552;&#31034;&#30340;&#27493;&#39588;&#65306;<\/p>\n<ol>\n<li>\n<p><strong>&#21019;&#24314;&#25511;&#21046;&#22120;<\/strong>&#65306;\n&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#24050;&#32463;&#21019;&#24314;&#20102;&#19968;&#20010;&#25511;&#21046;&#22120;&#26469;&#22788;&#29702;&#35831;&#27714;&#12290;<\/p>\n<pre><code class=\"language-bash\">php artisan make:controller MyController<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#23450;&#20041;&#36335;&#30001;<\/strong>&#65306;\n&#22312;&#20320;&#30340;&#36335;&#30001;&#25991;&#20214;&#65288;&#36890;&#24120;&#26159; <code>routes\/web.php<\/code>&#65289;&#20013;&#23450;&#20041;&#19968;&#20010;&#36335;&#30001;&#26469;&#22788;&#29702;&#36825;&#20010;&#25511;&#21046;&#22120;&#30340;&#26041;&#27861;&#12290;<\/p>\n<pre><code class=\"language-php\">use AppHttpControllersMyController;\n\nRoute::get('\/my-endpoint', [MyController::class, 'handle']);<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#23450;&#20041;&#25511;&#21046;&#22120;&#26041;&#27861;<\/strong>&#65306;\n&#22312;&#25511;&#21046;&#22120;&#26041;&#27861;&#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; <code>Request<\/code> &#31867;&#26469;&#33719;&#21462;&#35831;&#27714;&#21442;&#25968;&#65292;&#24182;&#20026;&#36825;&#20123;&#21442;&#25968;&#23450;&#20041;&#31867;&#22411;&#25552;&#31034;&#12290;<\/p>\n<pre><code class=\"language-php\">namespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\nuse IlluminateSupportFacadesValidator;\n\nclass MyController extends Controller\n{\n   public function handle(Request $request)\n   {\n       \/\/ &#23450;&#20041;&#39564;&#35777;&#35268;&#21017;\n       $rules = [\n           'name' =&gt; 'required|string',\n           'age' =&gt; 'required|integer|min:18',\n       ];\n\n       \/\/ &#21019;&#24314;&#39564;&#35777;&#22120;&#23454;&#20363;\n       $validator = Validator::make($request-&gt;all(), $rules);\n\n       if ($validator-&gt;fails()) {\n           return response()-&gt;json(['errors' =&gt; $validator-&gt;errors()], 400);\n       }\n\n       \/\/ &#33719;&#21462;&#39564;&#35777;&#21518;&#30340;&#25968;&#25454;\n       $data = $validator-&gt;validated();\n\n       \/\/ &#22788;&#29702;&#25968;&#25454;\n       return response()-&gt;json(['message' =&gt; 'Data received successfully'], 200);\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#36816;&#34892;&#24212;&#29992;&#31243;&#24207;<\/strong>&#65306;\n&#29616;&#22312;&#65292;&#24403;&#20320;&#35775;&#38382; <code>\/my-endpoint<\/code> &#36335;&#30001;&#26102;&#65292;Laravel &#23558;&#20250;&#33258;&#21160;&#26816;&#26597;&#35831;&#27714;&#21442;&#25968;&#26159;&#21542;&#31526;&#21512;&#23450;&#20041;&#30340;&#31867;&#22411;&#25552;&#31034;&#12290;&#22914;&#26524;&#21442;&#25968;&#19981;&#31526;&#21512;&#31867;&#22411;&#25552;&#31034;&#65292;&#21017;&#36820;&#22238;&#19968;&#20010;&#38169;&#35823;&#21709;&#24212;&#12290;<\/p>\n<\/li>\n<\/ol>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#23436;&#25972;&#30340;&#31034;&#20363;&#20195;&#30721;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312; Laravel &#20013;&#20026;&#35831;&#27714;&#21442;&#25968;&#23450;&#20041;&#31867;&#22411;&#25552;&#31034;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\nuse IlluminateSupportFacadesValidator;\n\nclass MyController extends Controller\n{\n    public function handle(Request $request)\n    {\n        \/\/ &#23450;&#20041;&#39564;&#35777;&#35268;&#21017;\n        $rules = [\n            'name' =&gt; 'required|string',\n            'age' =&gt; 'required|integer|min:18',\n        ];\n\n        \/\/ &#21019;&#24314;&#39564;&#35777;&#22120;&#23454;&#20363;\n        $validator = Validator::make($request-&gt;all(), $rules);\n\n        if ($validator-&gt;fails()) {\n            return response()-&gt;json(['errors' =&gt; $validator-&gt;errors()], 400);\n        }\n\n        \/\/ &#33719;&#21462;&#39564;&#35777;&#21518;&#30340;&#25968;&#25454;\n        $data = $validator-&gt;validated();\n\n        \/\/ &#22788;&#29702;&#25968;&#25454;\n        return response()-&gt;json(['message' =&gt; 'Data received successfully'], 200);\n    }\n}<\/code><\/pre>\n<p>&#36890;&#36807;&#36825;&#31181;&#26041;&#24335;&#65292;&#20320;&#21487;&#20197;&#22312; Laravel &#20013;&#20026;&#35831;&#27714;&#21442;&#25968;&#23450;&#20041;&#31867;&#22411;&#25552;&#31034;&#65292;&#20174;&#32780;&#25552;&#39640;&#20195;&#30721;&#30340;&#20581;&#22766;&#24615;&#21644;&#21487;&#32500;&#25252;&#24615;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#20171;&#32461;<\/h2><p>&#22312;PHP&#20013;&#21551;&#29992;&#31867;&#22411;&#25552;&#31034;&#65292;&#20801;&#35768;&#25105;&#20204;&#22312;&#20989;&#25968;&#31614;&#21517;&#20013;&#25351;&#23450;&#21442;&#25968;&#30340;&#39044;&#26399;&#25968;&#25454;&#31867;&#22411;&#12290;&#23545;&#20110;Laravel&#24212;&#29992;&#31243;&#24207;&#32780;&#35328;&#65292;&#20026;&#35831;&#27714;&#21442;&#25968;&#23450;&#20041;&#31867;&#22411;&#25552;&#31034;&#21487;&#20197;&#26174;&#33879;&#25552;&#39640;&#25511;&#21046;&#22120;&#30340;&#28165;&#26224;&#24230;&#21644;&#20581;&#22766;&#24615;&#65292;&#30830;&#20445;&#20320;&#22312;&#22788;&#29702;&#27491;&#30830;&#30340;&#25968;&#25454;&#31867;&#22411;&#26102;&#24037;&#20316;&#12290;&#26412;&#25945;&#31243;&#23558;&#24102;&#20320;&#20174;&#22522;&#30784;&#21040;&#26356;&#39640;&#32423;&#30340;&#27010;&#24565;&#65292;&#19968;&#27493;&#27493;&#25945;&#20320;&#22914;&#20309;&#22312;Laravel&#20013;&#23450;&#20041;&#35831;&#27714;&#21442;&#25968;&#30340;&#31867;&#22411;&#25552;&#31034;&#12290;<\/p><h2>&#35831;&#27714;&#31867;&#22411;&#25552;&#31034;&#30340;&#22522;&#30784;&#30693;&#35782;<\/h2><p>&#22312;Laravel&#20013;&#65292;&#35831;&#27714;&#22788;&#29702;&#20027;&#35201;&#36890;&#36807;&#25511;&#21046;&#22120;&#26469;&#23436;&#25104;&#12290;&#24403;&#20320;&#23450;&#20041;&#19968;&#20010;&#25511;&#21046;&#22120;&#20013;&#30340;&#26041;&#27861;&#65292;&#29992;&#20110;&#22788;&#29702;web&#35831;&#27714;&#26102;&#65292;&#21487;&#20197;&#20026;&#36825;&#20123;&#26041;&#27861;&#30340;&#21442;&#25968;&#31867;&#22411;&#25552;&#31034;&#65292;&#20174;&#32780;&#33258;&#21160;&#27880;&#20837;&#19968;&#20010;&#23454;&#20363;&#23545;&#35937;&#12290;<code>IlluminateHttpRequest<\/code>&#28436;&#35762;&#32773;&#65306;&#28436;&#35762;&#32773;<\/p><pre><code>public function store(Request $request){\n\/\/ Your code here\n}<\/code><\/pre><p>&#36890;&#36807;&#36825;&#26679;&#20570;&#65292;Laravel &#30340;&#26381;&#21153;&#23481;&#22120;&#20250;&#33258;&#21160;&#35299;&#26512;&#24182;&#27880;&#20837;&#35831;&#27714;&#23545;&#35937;&#65292;&#20174;&#32780;&#20801;&#35768;&#24744;&#36890;&#36807;&#36755;&#20837;&#25968;&#25454;&#35775;&#38382;&#23427;&#12290;<code>$request<\/code>&#24050;&#32463;&#25910;&#21040;&#20449;&#24687;&#65292;&#27491;&#22312;&#20026;&#24744;&#36827;&#34892;&#32763;&#35793;&#12290;<\/p><h2>&#33258;&#23450;&#20041;&#34920;&#21333;&#39564;&#35777;&#35831;&#27714;<\/h2><p>&#20026;&#20102;&#20805;&#20998;&#21033;&#29992;Laravel&#30340;&#24378;&#22823;&#39564;&#35777;&#31995;&#32479;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#34920;&#21333;&#35831;&#27714;&#39564;&#35777;&#12290;&#36825;&#21487;&#20197;&#36890;&#36807;&#29983;&#25104;&#33258;&#23450;&#20041;&#30340;&#35831;&#27714;&#31867;&#26469;&#23454;&#29616;&#12290;<code>php artisan make:request<\/code>&#21629;&#20196;&#65306;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>php artisan make:request StorePostRequest<\/code><\/pre><p>&#22312;&#33258;&#23450;&#20041;&#35831;&#27714;&#31867;&#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#37325;&#20889;&#35813;&#26041;&#27861;&#26469;&#25351;&#23450;&#39564;&#35777;&#35268;&#21017;&#12290;<code>rules()<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>namespace AppHttpRequests;\n\nuse IlluminateFoundationHttpFormRequest;\n\nclass StorePostRequest extends FormRequest {\n    public function rules() {\n        return [\n            'title' =&gt; 'required|string|max:255',\n            'content' =&gt; 'required|string',\n        ];\n    }\n}\n<\/code><\/pre><p>&#20320;&#21487;&#20197;&#28982;&#21518;&#22312;&#25511;&#21046;&#22120;&#26041;&#27861;&#20013;&#36755;&#20837;&#36825;&#20010;&#33258;&#23450;&#20041;&#35831;&#27714;&#30340;&#25552;&#31034;&#65306;<\/p><pre><code>public function store(StorePostRequest $request) {\n\/\/ You now have a validated request\n$title = $request-&gt;input('title');\n$content = $request-&gt;input('content');\n\/\/ Further processing\n}<\/code><\/pre><h2>&#31867;&#22411;&#25552;&#31034;&#36335;&#30001;&#21442;&#25968;<\/h2><p>Laravel &#20063;&#20801;&#35768;&#36890;&#36807;&#27169;&#22411;&#32465;&#23450;&#26469;&#23545;&#36335;&#30001;&#21442;&#25968;&#36827;&#34892;&#31867;&#22411;&#25552;&#31034;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#23545;&#19968;&#20010;&#31867;&#22411;&#30340;&#21464;&#37327;&#36827;&#34892;&#31867;&#22411;&#25552;&#31034;&#65292;&#21487;&#20197;&#20351;&#29992;&#20197;&#19979;&#20195;&#30721;&#65306;$variable = new SomeModel();<code>User<\/code>&#22312;&#36335;&#32447;&#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#20197;&#19979;&#26041;&#27861;&#65306;<\/p><pre><code>public function show(User $user) {\n\/\/ The $user parameter will be automatically resolved as an instance of the User model.\n}\n<\/code><\/pre><p>&#22312;&#36825;&#31181;&#24773;&#20917;&#19979;&#65292;&#24403;&#21521;&#23545;&#24212;&#30340;&#36335;&#30001;&#21457;&#20986;&#35831;&#27714;&#26102;&#65292;Laravel &#20250;&#33258;&#21160;&#27880;&#20837;&#19982;&#32473;&#23450;&#36335;&#30001;&#21442;&#25968;&#21305;&#37197;&#30340;&#29992;&#25143;&#27169;&#22411;&#12290;<\/p><h2>&#39640;&#32423;&#31867;&#22411;&#25552;&#31034;&#19982;DTO&#65288;&#25968;&#25454;&#20256;&#36755;&#23545;&#35937;&#65289;<\/h2><p>&#25968;&#25454;&#20256;&#36755;&#23545;&#35937;&#65288;DTO&#65289;&#20063;&#21487;&#20197;&#29992;&#20110;&#39640;&#32423;&#35831;&#27714;&#25968;&#25454;&#22788;&#29702;&#12290;DTO&#26159;&#31616;&#21333;&#23545;&#35937;&#65292;&#29992;&#20110;&#22312;&#24212;&#29992;&#31243;&#24207;&#30340;&#19981;&#21516;&#23618;&#20043;&#38388;&#20256;&#36882;&#25968;&#25454;&#65292;&#20801;&#35768;&#36827;&#34892;&#22797;&#26434;&#30340;&#25968;&#25454;&#24418;&#29366;&#21644;&#39564;&#35777;&#12290;<\/p><p>&#39318;&#20808;&#65292;&#20351;&#29992;&#22914;&#21253;&#21517;&#29983;&#25104;DTO&#65288;&#25968;&#25454;&#20256;&#36755;&#23545;&#35937;&#65289;&#12290;<code>spatie\/data-transfer-object<\/code>&#22312;&#20320;&#30340;&#25511;&#21046;&#22120;&#20013;&#65292;&#35299;&#26512;&#24182;&#20351;&#29992;DTO&#65306;<\/p><pre><code>public function store(Request $request) {\n    $postData = new PostData(\n        title: $request-&gt;input('title'),\n        content: $request-&gt;input('content'),\n    );\n\n    \/\/ Now use $postData DTO\n}<\/code><\/pre><p>&#36890;&#24120;&#24773;&#20917;&#19979;&#65292;DTO&#65288;&#25968;&#25454;&#20256;&#36755;&#23545;&#35937;&#65289;&#30340;&#26500;&#36896;&#20989;&#25968;&#25110;&#26041;&#27861;&#20869;&#37096;&#20250;&#21253;&#21547;&#39069;&#22806;&#30340;&#39564;&#35777;&#21644;&#36716;&#25442;&#36923;&#36753;&#12290;<\/p><h2>&#20351;&#29992;&#31867;&#22411;&#25552;&#31034;&#27880;&#20837;&#20381;&#36182;<\/h2><p>&#31867;&#22411;&#27880;&#35299;&#36824;&#21487;&#20197;&#29992;&#20110;&#35299;&#20915;&#21644;&#27880;&#20837;&#21508;&#31181;&#20854;&#20182;&#20381;&#36182;&#39033;&#65292;&#20363;&#22914;&#26381;&#21153;&#12289;&#20179;&#24211;&#25110;&#33258;&#23450;&#20041;&#31867;&#65292;&#36825;&#20123;&#20381;&#36182;&#39033;&#21487;&#20197;&#34987;&#25511;&#21046;&#22120;&#26041;&#27861;&#20351;&#29992;&#12290;&#26381;&#21153;&#23481;&#22120;&#29702;&#35299;&#31867;&#22411;&#27880;&#35299;&#24182;&#39640;&#25928;&#22320;&#25552;&#20379;&#36825;&#20123;&#20381;&#36182;&#39033;&#65306;<\/p><pre><code>public function index(PostRepositoryInterface $repository) {\n    \/\/ The PostRepositoryInterface will be automatically resolved and injected.\n    $posts = $repository-&gt;all();\n}\n<\/code><\/pre><p>&#36890;&#36807;&#31867;&#22411;&#25552;&#31034;&#25509;&#21475;&#65292;&#20320;&#21487;&#20197;&#36981;&#24490; SOLID &#21407;&#21017;&#24182;&#20351;&#25511;&#21046;&#22120;&#26356;&#23481;&#26131;&#27979;&#35797;&#21644;&#32500;&#25252;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#25506;&#35752;&#20102;&#22914;&#20309;&#20351;&#29992;&#31867;&#22411;&#25552;&#31034;&#22686;&#24378;Laravel&#30340;&#35831;&#27714;&#22788;&#29702;&#65292;&#20174;&#32780;&#25552;&#39640;&#20195;&#30721;&#21487;&#35835;&#24615;&#24182;&#20943;&#23569;&#25968;&#25454;&#31867;&#22411;&#19981;&#21305;&#37197;&#30340;&#38382;&#39064;&#12290;&#35831;&#23581;&#35797;&#36825;&#20123;&#31034;&#20363;&#65292;&#24182;&#22312;&#24744;&#30340;Laravel&#24212;&#29992;&#20013;&#24341;&#20837;&#31867;&#22411;&#25552;&#31034;&#20197;&#33719;&#24471;&#26356;&#31283;&#20581;&#21644;&#32500;&#25252;&#24615;&#30340;&#20195;&#30721;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; Laravel &#20013;&#65292;&#20026;&#20102;&#23450;&#20041;&#35831;&#27714;&#21442;&#25968;&#30340;&#31867;&#22411;&#25552;&#31034;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; <code>$request<\/code> &#23545;&#35937;&#21644; <code>-&gt;type()<\/code> &#26041;&#27861;&#12290;&#36825;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;&#20363;&#23376;&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateHttpRequest;\n\npublic function create(Request $request)\n{\n    \/\/ &#20551;&#35774;&#25105;&#20204;&#26377;&#19968;&#20010;&#21517;&#20026; 'name' &#30340;&#35831;&#27714;&#21442;&#25968;\n    $name = $request-&gt;input('name');\n\n    \/\/ &#22914;&#26524; name &#21442;&#25968;&#20026;&#31354;&#65292;&#21017;&#25243;&#20986;&#38169;&#35823;\n    if (empty($name)) {\n        abort(400, 'Name is required');\n    }\n\n    return response()-&gt;json(['success' =&gt; true, 'message' =&gt; \"Hello, {$name}!\"]);\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;<code>Request<\/code> &#31867;&#22411;&#26159;&#36890;&#36807; <code>$request<\/code> &#23545;&#35937;&#26469;&#24341;&#29992;&#30340;&#12290;&#28982;&#21518;&#65292;&#25105;&#20204;&#21487;&#20197;&#20351;&#29992; <code>$request<\/code> &#23545;&#35937;&#30340; <code>-&gt;type()<\/code> &#26041;&#27861;&#26469;&#33719;&#21462;&#35831;&#27714;&#21442;&#25968;&#30340;&#21517;&#23383;&#12290;<\/p>\n<p>&#27880;&#24847;&#65306;&#36825;&#20010;&#26041;&#27861;&#36820;&#22238;&#30340;&#26159;&#35831;&#27714;&#21442;&#25968;&#30340;&#21517;&#23383;&#32780;&#19981;&#26159;&#20540;&#12290;&#22914;&#26524;&#20320;&#24819;&#35201;&#33719;&#21462;&#20540;&#65292;&#20320;&#38656;&#35201;&#20808;&#23558;&#21517;&#31216;&#36716;&#25442;&#20026;&#20540;&#65288;&#20363;&#22914;&#65292;&#22914;&#26524;&#35831;&#27714;&#21442;&#25968;&#21517;&#26159; &#8216;name&#8217;&#65292;&#21017;&#21487;&#20197;&#20351;&#29992; <code>$request-&gt;get('name')<\/code> &#26469;&#33719;&#21462;&#23427;&#65289;&#12290;<\/p>\n<p>&#21478;&#22806;&#65292;Laravel 5.8 &#21450;&#26356;&#39640;&#29256;&#26412;&#25552;&#20379;&#20102;&#26356;&#24378;&#22823;&#30340; <code>IlluminateContractsFoundationApplication<\/code> &#31867;&#22411;&#25552;&#31034;&#12290;&#35201;&#21551;&#29992;&#27492;&#21151;&#33021;&#65292;&#35831;&#36981;&#24490;&#20197;&#19979;&#27493;&#39588;&#65306;<\/p>\n<ol>\n<li>\n<p>&#39318;&#20808;&#65292;&#22312;&#20320;&#30340; <code>app\/Providers\/AppServiceProvider.php<\/code> &#25991;&#20214;&#20013;&#27880;&#20876; <code>Application<\/code> &#36741;&#21161;&#22120;&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppProviders;\n\nuse IlluminateSupportFacadesApp;\nuse IlluminateSupportServiceProvider;\nuse IlluminateContractsFoundationApplication;\n\nclass ApplicationServiceProvider extends ServiceProvider\n{\n   public function boot(Application $app): void\n   {\n       \/\/ &#27880;&#20876; Application &#31867;&#22411;&#25552;&#31034;\n       $app['Application'] = $app-&gt;share(function () {\n           return new IlluminateFoundationApplication(\n               require __DIR__ . '\/bootstrap\/app.php',\n               require __DIR__ . '\/bootstrap\/cache\/app.php',\n               require __DIR__ . '\/bootstrap\/cache\/bootstrap.php'\n           );\n       });\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p>&#28982;&#21518;&#65292;&#22312;&#38656;&#35201;&#30340;&#22320;&#26041;&#27880;&#20837; <code>Application<\/code> &#23454;&#20363;&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateFoundationApplication;\n\npublic function __construct(Application $app)\n{\n   parent::__construct();\n\n   $this-&gt;app = $app;\n}<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>&#36825;&#26679;&#65292;&#20320;&#22312;&#20351;&#29992; <code>Application<\/code> &#31867;&#22411;&#26102;&#23601;&#21487;&#20197;&#30452;&#25509;&#20351;&#29992;&#23454;&#20363;&#20102;&#65292;&#32780;&#19981;&#38656;&#35201;&#39069;&#22806;&#30340;&#31867;&#22411;&#25552;&#31034;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312; Laravel &#20013;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; Request &#31867;&#26469;&#22788;&#29702; HTTP &#35831;&#038;#27..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-827","my1js","type-my1js","status-publish","hentry","my1js2nav-laravel"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/827","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=827"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=827"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=827"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}