{"id":799,"date":"2025-06-11T23:59:45","date_gmt":"2025-06-11T15:59:45","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/799.html"},"modified":"2025-06-11T23:59:45","modified_gmt":"2025-06-11T15:59:45","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8-laravel-%e4%b8%ad%e5%88%86%e7%bb%84%e4%bd%bf%e7%94%a8%e4%b8%ad%e9%97%b4%e4%bb%b6","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/799.html","title":{"rendered":"\u5982\u4f55\u5728 Laravel \u4e2d\u5206\u7ec4\u4f7f\u7528\u4e2d\u95f4\u4ef6"},"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;&#36890;&#36807;&#20351;&#29992;&#20013;&#38388;&#20214;&#26469;&#23545;&#35831;&#27714;&#36827;&#34892;&#20998;&#32452;&#22788;&#29702;&#12290;&#20013;&#38388;&#20214;&#26159;&#19968;&#31181;&#24378;&#22823;&#30340;&#24037;&#20855;&#65292;&#21487;&#20197;&#24110;&#21161;&#20320;&#22312;&#24212;&#29992;&#30340;&#19981;&#21516;&#37096;&#20998;&#25191;&#34892;&#19981;&#21516;&#30340;&#36923;&#36753;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#22312; Laravel &#20013;&#20998;&#32452;&#20351;&#29992;&#20013;&#38388;&#20214;&#30340;&#35814;&#32454;&#27493;&#39588;&#65306;<\/p>\n<h3>1. &#21019;&#24314;&#20013;&#38388;&#20214;<\/h3>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#12290;&#20320;&#21487;&#20197;&#20351;&#29992; Artisan &#21629;&#20196;&#26469;&#23436;&#25104;&#36825;&#20010;&#20219;&#21153;&#12290;<\/p>\n<pre><code class=\"language-bash\">php artisan make:middleware GroupMiddleware<\/code><\/pre>\n<p>&#36825;&#23558;&#29983;&#25104;&#19968;&#20010;&#21517;&#20026; <code>GroupMiddleware<\/code> &#30340;&#25991;&#20214;&#65292;&#24182;&#23558;&#20854;&#25918;&#32622;&#22312; <code>app\/Http\/Middleware<\/code> &#30446;&#24405;&#19979;&#12290;<\/p>\n<h3>2. &#32534;&#36753;&#20013;&#38388;&#20214;<\/h3>\n<p>&#25171;&#24320; <code>app\/Http\/Middleware\/GroupMiddleware.php<\/code> &#25991;&#20214;&#65292;&#24182;&#32534;&#20889;&#20320;&#30340;&#20013;&#38388;&#20214;&#36923;&#36753;&#12290;&#20363;&#22914;&#65292;&#20551;&#35774;&#20320;&#24819;&#26681;&#25454;&#35831;&#27714;&#36335;&#24452;&#36827;&#34892;&#20998;&#32452;&#22788;&#29702;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesRequest;\n\nclass GroupMiddleware\n{\n    public function handle(Request $request, Closure $next)\n    {\n        \/\/ &#26681;&#25454;&#35831;&#27714;&#36335;&#24452;&#36827;&#34892;&#20998;&#32452;\n        if ($request-&gt;path() === '\/group1') {\n            return $next($request);\n        } elseif ($request-&gt;path() === '\/group2') {\n            return $this-&gt;handleGroup2($request, $next);\n        }\n\n        \/\/ &#40664;&#35748;&#22788;&#29702;\n        return response('Not found', 404);\n    }\n\n    private function handleGroup2(Request $request, Closure $next)\n    {\n        \/\/ &#22312;&#36825;&#37324;&#28155;&#21152; group2 &#30340;&#36923;&#36753;\n        echo \"Handling group2 request.\";\n        return $next($request);\n    }\n}<\/code><\/pre>\n<h3>3. &#27880;&#20876;&#20013;&#38388;&#20214;<\/h3>\n<p>&#25509;&#19979;&#26469;&#65292;&#20320;&#38656;&#35201;&#27880;&#20876;&#36825;&#20010;&#20013;&#38388;&#20214;&#21040;&#36335;&#30001;&#25991;&#20214;&#20013;&#12290;&#36890;&#24120;&#65292;&#20320;&#20250;&#22312; <code>routes\/web.php<\/code> &#25110; <code>routes\/api.php<\/code> &#25991;&#20214;&#20013;&#36827;&#34892;&#27880;&#20876;&#12290;<\/p>\n<h4>&#20351;&#29992;&#20840;&#23616;&#20013;&#38388;&#20214;&#65288;&#36866;&#29992;&#20110;&#25152;&#26377;&#36335;&#30001;&#65289;<\/h4>\n<p>&#22914;&#26524;&#20320;&#24076;&#26395;&#25152;&#26377;&#30340;&#36335;&#30001;&#37117;&#20351;&#29992;&#21516;&#19968;&#20010;&#20013;&#38388;&#20214;&#65292;&#21487;&#20197;&#22312; <code>AppHttpKernel.php<\/code> &#25991;&#20214;&#20013;&#27880;&#20876;&#23427;&#65306;<\/p>\n<pre><code class=\"language-php\">protected $routeMiddleware = [\n    'auth' =&gt; IlluminateAuthMiddlewareAuthenticate::class,\n    'guest' =&gt; IlluminateAuthMiddlewareRedirectIfAuthenticated::class,\n    'group.middleware' =&gt; AppHttpMiddlewareGroupMiddleware::class, \/\/ &#27880;&#20876;&#20013;&#38388;&#20214;\n];<\/code><\/pre>\n<h4>&#20351;&#29992;&#29305;&#23450;&#36335;&#30001;&#30340;&#20013;&#38388;&#20214;<\/h4>\n<p>&#22914;&#26524;&#20320;&#24819;&#20026;&#26576;&#20123;&#29305;&#23450;&#30340;&#36335;&#30001;&#27880;&#20876;&#20013;&#38388;&#20214;&#65292;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/group1', function () {\n    return view('group1');\n})-&gt;middleware('group.middleware'); \/\/ &#27880;&#20876;&#20013;&#38388;&#20214;\n\nRoute::get('\/group2', function () {\n    return view('group2');\n})-&gt;middleware('group.middleware'); \/\/ &#27880;&#20876;&#20013;&#38388;&#20214;<\/code><\/pre>\n<h3>4. &#27979;&#35797;&#20013;&#38388;&#20214;<\/h3>\n<p>&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#27979;&#35797;&#20320;&#30340;&#20013;&#38388;&#20214;&#26159;&#21542;&#25353;&#39044;&#26399;&#24037;&#20316;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#35775;&#38382;&#19981;&#21516;&#30340; URL &#26469;&#39564;&#35777;&#65306;<\/p>\n<ul>\n<li>&#35775;&#38382; <code>\/group1<\/code>&#65306;&#20320;&#24212;&#35813;&#20250;&#30475;&#21040; &#8220;Handling group2 request.&#8221; &#30340;&#36755;&#20986;&#12290;<\/li>\n<li>&#35775;&#38382; <code>\/group2<\/code>&#65306;&#20320;&#24212;&#35813;&#20063;&#20250;&#30475;&#21040; &#8220;Handling group2 request.&#8221; &#30340;&#36755;&#20986;&#12290;<\/li>\n<li>&#35775;&#38382; <code>\/nonexistent<\/code>&#65306;&#20320;&#24212;&#35813;&#20250;&#30475;&#21040; &#8220;Not found&#8221; &#30340;&#21709;&#24212;&#12290;<\/li>\n<\/ul>\n<p>&#36890;&#36807;&#36825;&#31181;&#26041;&#24335;&#65292;&#20320;&#21487;&#20197;&#22312; Laravel &#20013;&#26377;&#25928;&#22320;&#20998;&#32452;&#20351;&#29992;&#20013;&#38388;&#20214;&#65292;&#20174;&#32780;&#23454;&#29616;&#26356;&#22797;&#26434;&#30340;&#35831;&#27714;&#22788;&#29702;&#36923;&#36753;&#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>Laravel&#30340;&#20013;&#38388;&#20214;&#25552;&#20379;&#20102;&#26041;&#20415;&#30340;&#26041;&#27861;&#26469;&#36807;&#28388;&#36827;&#20837;&#24212;&#29992;&#31243;&#24207;&#30340;HTTP&#35831;&#27714;&#12290;&#24403;&#24744;&#24076;&#26395;&#25191;&#34892;&#26576;&#20123;&#25805;&#20316;&#65292;&#22914;&#29992;&#25143;&#35748;&#35777;&#12289;&#35760;&#24405;&#35831;&#27714;&#25110;&#22312;&#25511;&#21046;&#22120;&#22788;&#29702;&#35831;&#27714;&#20043;&#21069;&#23545;&#36755;&#20837;&#36827;&#34892;&#28165;&#29702;&#26102;&#65292;&#36825;&#31181;&#21151;&#33021;&#38750;&#24120;&#26377;&#29992;&#12290;&#36890;&#24120;&#65292;&#24744;&#20250;&#21457;&#29616;&#33258;&#24049;&#20026;&#19968;&#32452;&#36335;&#30001;&#24212;&#29992;&#30456;&#21516;&#30340;&#20013;&#38388;&#20214;&#65292;&#24182;&#19988;Laravel&#25552;&#20379;&#20102;&#19968;&#31181;&#20248;&#38597;&#30340;&#26041;&#24335;&#26469;&#32452;&#32452;&#20013;&#38388;&#20214;&#12290;&#26412;&#25945;&#31243;&#28085;&#30422;&#20102;&#22914;&#20309;&#22312;Laravel&#20013;&#20998;&#32452;&#20013;&#38388;&#20214;&#30340;&#27493;&#39588;&#21644;&#26368;&#20339;&#23454;&#36341;&#12290;<\/p><h2>&#22312;Laravel&#20013;&#29702;&#35299;&#20013;&#38388;&#20214;&#26159;&#38750;&#24120;&#37325;&#35201;&#30340;&#65292;&#23427;&#20204;&#24110;&#21161;&#20320;&#22312;&#24212;&#29992;&#31243;&#24207;&#30340;&#19981;&#21516;&#37096;&#20998;&#20043;&#38388;&#36827;&#34892;&#36335;&#30001;&#31649;&#29702;&#12290;&#23427;&#20204;&#21487;&#20197;&#29992;&#20110;&#25191;&#34892;&#21508;&#31181;&#25805;&#20316;&#65292;&#22914;&#36523;&#20221;&#39564;&#35777;&#12289;&#26085;&#24535;&#35760;&#24405;&#21644;&#38169;&#35823;&#22788;&#29702;&#31561;&#12290;&#20102;&#35299;&#22914;&#20309;&#21019;&#24314;&#21644;&#20351;&#29992;&#20013;&#38388;&#20214;&#23545;&#20110;&#26500;&#24314;&#21151;&#33021;&#24378;&#22823;&#19988;&#26131;&#20110;&#32500;&#25252;&#30340;Web&#24212;&#29992;&#33267;&#20851;&#37325;&#35201;&#12290;<\/h2><p>&#35753;&#25105;&#20204;&#20174;&#20013;&#38388;&#20214;&#30340;&#22522;&#26412;&#27010;&#24565;&#21644;&#23427;&#22312;Laravel&#26694;&#26550;&#20013;&#30340;&#36816;&#20316;&#26041;&#24335;&#24320;&#22987;&#12290;&#26412;&#36136;&#19978;&#65292;&#20013;&#38388;&#20214;&#20316;&#20026;&#19968;&#20010;&#23618;&#23618;&#36882;&#36827;&#30340;&#31995;&#32479;&#23384;&#22312;&#65292;HTTP&#35831;&#27714;&#24517;&#39035;&#36890;&#36807;&#36825;&#19968;&#23618;&#12290;&#27599;&#20010;&#23618;&#27425;&#37117;&#21487;&#20197;&#26816;&#26597;&#35831;&#27714;&#24182;&#29978;&#33267;&#20462;&#25913;&#23427;&#65292;&#22312;&#24517;&#35201;&#26102;&#23558;&#20854;&#20256;&#36882;&#21040;&#19979;&#19968;&#20010;&#23618;&#27425;&#25110;&#32456;&#27490;&#25191;&#34892;&#12290;<\/p><p>&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>\/\/ A simple middleware example in Laravel\n\nnamespace AppHttpMiddleware;\n\nuse Closure;\n\nclass CheckAge {\n    public function handle($request, Closure $next)\n    {\n        if ($request-&gt;age &lt;= 18) {\n            return redirect('home');\n        }\n\n        return $next($request);\n    }\n}\n<\/code><\/pre><h2>&#23450;&#20041;&#20013;&#38388;&#20214;&#32452;<\/h2><p>&#20013;&#38388;&#20214;&#32452;&#20801;&#35768;&#24744;&#20026;&#36335;&#30001;&#25110;&#19968;&#32452;&#36335;&#30001;&#20998;&#37197;&#22810;&#20010;&#20013;&#38388;&#20214;&#65292;&#20174;&#32780;&#20943;&#23569;&#22312;Laravel&#20013;&#30340;&#25152;&#26377;&#36335;&#30001;&#37325;&#22797;&#20351;&#29992;&#24120;&#35265;&#20013;&#38388;&#20214;&#30340;&#38656;&#27714;&#12290;&#35201;&#23450;&#20041;&#20013;&#38388;&#20214;&#32452;&#65292;&#35831;&#32534;&#36753;&#12290;<code>$middlewareGroups<\/code>&#25968;&#32452;&#22312;&#8230;<code>Kernal.php<\/code>&#22312;&#24744;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#20869;&#30340;&#19968;&#20010;&#25991;&#20214;&#12290;<code>app\/Http<\/code>&#30446;&#24405;&#12290;<\/p><p>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>\/\/ Defining a middleware group in Kernel.php\n\nprotected $middlewareGroups = [\n    'web' =&gt; [\n        AppHttpMiddlewareEncryptCookies::class,\n        IlluminateCookieMiddlewareAddQueuedCookiesToResponse::class,\n        IlluminateSessionMiddlewareStartSession::class,\n        \/\/ etc...\n    ],\n\n    'api' =&gt; [\n        \/\/ 'throttle:api', \/\/ Deprecated in favour of scoped middleware\n        \/\/ Scoped API throttling...\n        IlluminateRoutingMiddlewareSubstituteBindings::class,\n    ],\n    'custom' =&gt; [\n        AppHttpMiddlewareCheckAge::class,\n        AppHttpMiddlewareAnotherMiddleware::class,\n    ],\n];\n<\/code><\/pre><h2>&#20998;&#32452;&#36335;&#32447;<\/h2><p>&#22312;&#23450;&#20041;&#20102;&#20013;&#38388;&#20214;&#32452;&#20043;&#21518;&#65292;&#20320;&#21487;&#20197;&#23558;&#20854;&#24212;&#29992;&#21040;&#20320;&#30340;&#36335;&#30001;&#19978;&#12290;<code>web.php<\/code>&#21734;&#65292;&#23545;&#20102;&#12290;<code>api.php<\/code>&#20301;&#20110;&#25991;&#20214;&#22841;&#20869;&#30340;&#25991;&#20214;&#12290;<code>routes<\/code>&#25991;&#20214;&#22841;&#12290;&#36825;&#26159;&#36890;&#36807;&#20351;&#29992;&#25991;&#20214;&#22841;&#23454;&#29616;&#30340;&#12290;<code>middleware<\/code>&#26041;&#27861;&#12290;<\/p><p>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>\/\/ Assigning the 'custom' middleware group to a group of routes\n\nRoute::middleware('custom')-&gt;group(function() {\n    Route::get('\/profile', function() {\n        \/\/ The 'CheckAge' and 'AnotherMiddleware' will apply here\n    });\n\n    Route::get('\/settings', function() {\n        \/\/ The 'CheckAge' and 'AnotherMiddleware' will also apply here\n    });\n});\n<\/code><\/pre><h2>&#20013;&#38388;&#20214;&#21442;&#25968;<\/h2><p>&#22312;&#26576;&#20123;&#24773;&#20917;&#19979;&#65292;&#24744;&#21487;&#33021;&#24076;&#26395;&#21521;&#20013;&#38388;&#20214;&#20256;&#36882;&#21442;&#25968;&#12290;&#36825;&#21487;&#20197;&#22312;&#20013;&#38388;&#20214;&#20869;&#37096;&#23450;&#20041;&#65292;&#24182;&#22312;&#23558;&#20013;&#38388;&#20214;&#38468;&#21152;&#21040;&#36335;&#30001;&#26102;&#25351;&#23450;&#12290;<\/p><p>&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>\/\/ Defining middleware with parameters\n\npublic function handle($request, Closure $next, $role)\n{\n    if (!$request-&gt;user()-&gt;hasRole($role)) {\n        \/\/ Redirect or handle the unauthorized access\n    }\n    return $next($request);\n}\n\n\/\/ Attaching middleware with parameters to a route\n\nRoute::get('\/admin', function() {\n    \/\/ ...\n})-&gt;middleware('role:admin');\n<\/code><\/pre><p>&#22312;&#35813;&#20195;&#30721;&#29255;&#27573;&#20013;&#65292;&#24744;&#21521;&#8217;role&#8217;&#20013;&#38388;&#20214;&#38468;&#21152;&#20102;&#19968;&#20010;&#21442;&#25968;&#65292;&#25351;&#23450;&#21482;&#26377;&#20855;&#26377;&#8217;admin&#8217;&#35282;&#33394;&#30340;&#29992;&#25143;&#25165;&#33021;&#35775;&#38382;&#8217;\/admin&#8217;&#36335;&#30001;&#12290;<\/p><h2>&#20351;&#29992;&#20013;&#38388;&#20214;&#32452;&#36827;&#34892;&#23884;&#22871;&#25805;&#20316;&#12290;<\/h2><p>&#20013;&#38388;&#20214;&#32452;&#20063;&#21487;&#20197;&#23884;&#22871;&#22312;&#20854;&#20182;&#20013;&#38388;&#20214;&#32452;&#20013;&#65292;&#22914;&#26524;&#24744;&#30340;&#24212;&#29992;&#31243;&#24207;&#38656;&#35201;&#26356;&#22797;&#26434;&#30340;&#20013;&#38388;&#20214;&#23618;&#32467;&#26500;&#12290;<\/p><p>&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>\/\/ Nested middleware groups within Kernel.php\n\nprotected $middlewareGroups = [\n    'web' =&gt; [\n        \/\/ ...existing web middleware...\n    ],\n    'admin' =&gt; [\n        'web',\n        'auth',\n        'role:admin',\n    ],\n];\n\n\/\/ Applying nested middleware groups to routes\n\nRoute::middleware('admin')-&gt;group(function() {\n    \/\/ This group of routes will require all middleware in 'web' and 'auth',\n    \/\/ plus the 'role:admin' middleware\n});\n<\/code><\/pre><h2>&#20013;&#38388;&#20214;&#20248;&#20808;&#32423;<\/h2><p>&#22312;&#20351;&#29992;&#20013;&#38388;&#20214;&#32452;&#26102;&#65292;&#19968;&#32452;&#20013;&#38388;&#20214;&#20869;&#37096;&#30340;&#39034;&#24207;&#20250;&#24433;&#21709;&#23427;&#20204;&#34987;&#22788;&#29702;&#30340;&#26041;&#24335;&#12290;Laravel &#20801;&#35768;&#24744;&#36890;&#36807;&#20351;&#29992;&#20248;&#20808;&#32423;&#26469;&#35774;&#32622;&#20013;&#38388;&#20214;&#30340;&#20248;&#20808;&#32423;&#12290;<code>$middlewarePriority<\/code>&#25968;&#32452;&#22312;&#12290;<code>Kernel.php<\/code>&#25991;&#20214;&#12290;<\/p><p>&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>\/\/ Setting middleware priority in Kernel.php\n\nprotected $middlewarePriority = [\n    AppHttpMiddlewareStartSession::class,\n    AppHttpMiddlewareAuthenticate::class,\n    AppHttpMiddlewarePrepareMiddleware::class,\n    AppHttpMiddlewareRoleMiddleware::class,\n    \/\/ Other middlewares...\n];\n<\/code><\/pre><h2>&#36164;&#28304;&#25511;&#21046;&#22120;&#30340;&#20013;&#38388;&#20214;&#12290;<\/h2><p>&#22312;&#19982;&#36164;&#28304;&#25511;&#21046;&#22120;&#24037;&#20316;&#26102;&#65292;&#20320;&#21487;&#20197;&#20026;&#37027;&#20123;&#25511;&#21046;&#22120;&#20013;&#30340;&#29305;&#23450;&#25805;&#20316;&#20998;&#37197;&#20013;&#38388;&#20214;&#32452;&#12290;<\/p><p>&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>\/\/ Using middleware groups in a resource controller\n\npublic function __construct() {\n    $this-&gt;middleware('auth')-&gt;except(['index', 'show']);\n    $this-&gt;middleware('role:admin')-&gt;only('create', 'store', 'update', 'delete');\n}\n<\/code><\/pre><p>&#36825;&#25351;&#31034;Laravel&#24212;&#29992;auth&#20013;&#38388;&#20214;&#21040;&#36164;&#28304;&#25511;&#21046;&#22120;&#20013;&#30340;&#25152;&#26377;&#26041;&#27861;&#65292;&#38500;&#20102;index&#21644;show&#20043;&#22806;&#65307;&#32780;role:admin&#20013;&#38388;&#20214;&#20165;&#24212;&#29992;&#20110;&#36164;&#28304;&#30340;&#21019;&#24314;&#12289;&#23384;&#20648;&#12289;&#26356;&#26032;&#21644;&#21024;&#38500;&#25805;&#20316;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#20013;&#38388;&#20214;&#22312;&#20219;&#20309;Laravel&#24212;&#29992;&#20013;&#37117;&#36215;&#30528;&#33267;&#20851;&#37325;&#35201;&#30340;&#20316;&#29992;&#65292;&#23427;&#20204;&#25552;&#20379;&#20102;&#19968;&#31181;&#39044;&#22788;&#29702;&#21644;&#21518;&#22788;&#29702;HTTP&#35831;&#27714;&#30340;&#26041;&#27861;&#12290;&#36890;&#36807;&#36335;&#30001;&#32452;&#30340;&#20351;&#29992;&#65292;&#21487;&#20197;&#26356;&#26041;&#20415;&#22320;&#31649;&#29702;&#21644;&#20998;&#37197;&#20849;&#20139;&#34892;&#20026;&#12290;&#21033;&#29992;&#36825;&#20123;&#32452;&#22686;&#24378;&#20102;&#20195;&#30721;&#30340;&#21487;&#32500;&#25252;&#24615;&#21644;&#32452;&#32455;&#24615;&#65292;&#20351;&#20320;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#26356;&#21152;&#20581;&#22766;&#21644;&#23433;&#20840;&#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>Laravel &#26159;&#19968;&#20010;&#38750;&#24120;&#27969;&#34892;&#30340; PHP &#24320;&#21457;&#26694;&#26550;&#65292;&#23427;&#25552;&#20379;&#20102;&#19968;&#31995;&#21015;&#30340;&#20013;&#38388;&#20214;&#26469;&#24110;&#21161;&#24320;&#21457;&#32773;&#22788;&#29702;&#35831;&#27714;&#21644;&#21709;&#24212;&#12290;&#35201;&#22312; Laravel &#20013;&#20998;&#32452;&#20351;&#29992;&#20013;&#38388;&#20214;&#65292;&#20320;&#21487;&#20197;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#31867;&#65292;&#24182;&#32487;&#25215;&#33258; Laravel &#20013;&#30340; <code>Middleware<\/code> &#31867;&#12290;<\/p>\n<p>&#20197;&#19979;&#26159;&#22914;&#20309;&#22312; Laravel &#20013;&#20998;&#32452;&#20351;&#29992;&#20013;&#38388;&#20214;&#30340;&#19968;&#33324;&#27493;&#39588;&#65306;<\/p>\n<ol>\n<li>&#21019;&#24314;&#26032;&#30340;&#20013;&#38388;&#20214;&#31867;&#65306;&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#31867;&#24182;&#32487;&#25215;&#33258; <code>IlluminateSupportFacadesMiddleware<\/code>&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#35201;&#21019;&#24314;&#19968;&#20010;&#21517;&#20026; <code>MyCustomMiddleware<\/code> &#30340;&#26032;&#20013;&#38388;&#20214;&#65292;&#21487;&#20197;&#36825;&#26679;&#32534;&#20889;&#65306;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">namespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesHttp;\nuse IlluminateSupportFacadesLog;\nuse IlluminateSupportFacadesRequest;\n\nclass MyCustomMiddleware\n{\n    \/**\n     * Handle an incoming request.\n     *\n     * @param  IlluminateHttpRequest $request\n     * @param  Closure                 $next\n     * @return mixed\n     *\/\n    public function handle($request, Closure $next)\n    {\n        \/\/ &#22312;&#36825;&#37324;&#28155;&#21152;&#20320;&#30340;&#19994;&#21153;&#36923;&#36753;\n        Log::info('Handling request');\n        return $next($request);\n    }\n}<\/code><\/pre>\n<ol start=\"2\">\n<li>&#27880;&#20876;&#26032;&#30340;&#20013;&#38388;&#20214;&#65306;&#28982;&#21518;&#65292;&#20320;&#38656;&#35201;&#23558;&#36825;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#27880;&#20876;&#21040; Laravel &#30340; <code>app\/Http\/Middleware<\/code> &#30446;&#24405;&#19979;&#12290;&#22312; <code>config\/app.php<\/code> &#25991;&#20214;&#20013;&#65292;&#25214;&#21040; <code>middleware<\/code> &#37197;&#32622;&#39033;&#65292;&#28982;&#21518;&#28155;&#21152;&#20320;&#21018;&#21018;&#21019;&#24314;&#30340;&#26032;&#20013;&#38388;&#20214;&#65306;<\/li>\n<\/ol>\n<pre><code class=\"language-ini\">'middleware' =&gt; [\n    'AppHttpMiddlewareMyCustomMiddleware',\n],<\/code><\/pre>\n<ol start=\"3\">\n<li>&#20351;&#29992;&#26032;&#30340;&#20013;&#38388;&#20214;&#65306;&#26368;&#21518;&#65292;&#20320;&#38656;&#35201;&#22312;&#38656;&#35201;&#30340;&#22320;&#26041;&#35843;&#29992;&#36825;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#12290;&#20551;&#35774;&#20320;&#26377;&#19968;&#20010;&#25511;&#21046;&#22120;&#26041;&#27861;&#65292;&#20320;&#21487;&#20197;&#22312;&#35813;&#26041;&#27861;&#21069;&#28155;&#21152;&#36825;&#20010;&#20013;&#38388;&#20214;&#65306;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">public function store(Request $request)\n{\n    \/\/ &#20551;&#35774;&#36825;&#26159;&#19968;&#20010;&#38656;&#35201;&#22788;&#29702;&#30340;&#25968;&#25454;&#39564;&#35777;&#30340;&#26041;&#27861;\n    if ($this-&gt;validate($request)) {\n        \/\/ &#36825;&#37324;&#26159;&#20320;&#30340;&#19994;&#21153;&#36923;&#36753;\n        $response = Http::withHeaders(['Content-Type' =&gt; 'application\/json'])-&gt;post('\/api\/store', $request-&gt;all());\n        Log::info('Data stored in the database');\n\n        return response()-&gt;json([\n            'message' =&gt; 'Data stored successfully',\n            'data' =&gt; $response-&gt;getData(),\n        ], 200);\n    } else {\n        \/\/ &#36825;&#37324;&#26159;&#20320;&#30340;&#38169;&#35823;&#22788;&#29702;&#36923;&#36753;\n        return response()-&gt;json([\n            'error' =&gt; true,\n            'message' =&gt; 'Validation failed',\n        ], 422);\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#24050;&#32463;&#21019;&#24314;&#20102;&#19968;&#20010;&#21517;&#20026; <code>MyCustomMiddleware<\/code> &#30340;&#20013;&#38388;&#20214;&#65292;&#24182;&#23558;&#20854;&#27880;&#20876;&#21040;&#20102; Laravel &#20013;&#12290;&#29616;&#22312;&#65292;&#24403;&#20320;&#23581;&#35797;&#22312; <code>store<\/code> &#26041;&#27861;&#20013;&#23384;&#20648;&#25968;&#25454;&#26102;&#65292;&#22914;&#26524;&#25968;&#25454;&#19981;&#21512;&#27861;&#65292;&#23427;&#23558;&#35302;&#21457;&#38169;&#35823;&#22788;&#29702;&#36923;&#36753;&#65292;&#32780;&#19981;&#26159;&#30452;&#25509;&#36820;&#22238;&#38169;&#35823;&#28040;&#24687;&#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;&#36890;&#36807;&#20351;&#29992;&#20013;&#38388;&#20214;&#26469;&#23545;&#038;#3..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-799","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\/799","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=799"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=799"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=799"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}