{"id":798,"date":"2025-06-11T23:58:20","date_gmt":"2025-06-11T15:58:20","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/798.html"},"modified":"2025-06-11T23:58:20","modified_gmt":"2025-06-11T15:58:20","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8-laravel-%e4%b8%ad%e7%bb%99%e8%b7%af%e7%94%b1%e5%88%86%e9%85%8d%e4%b8%ad%e9%97%b4%e4%bb%b6","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/798.html","title":{"rendered":"\u5982\u4f55\u5728 Laravel \u4e2d\u7ed9\u8def\u7531\u5206\u914d\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; <code>Route::middleware<\/code> &#26041;&#27861;&#26469;&#20026;&#29305;&#23450;&#30340;&#36335;&#30001;&#20998;&#37197;&#20013;&#38388;&#20214;&#12290;&#20013;&#38388;&#20214;&#26159; Laravel &#29992;&#20110;&#22788;&#29702;&#35831;&#27714;&#29983;&#21629;&#21608;&#26399;&#20013;&#30340;&#19981;&#21516;&#38454;&#27573;&#30340;&#36807;&#28388;&#22120;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#22312; Laravel &#20013;&#32473;&#36335;&#30001;&#20998;&#37197;&#20013;&#38388;&#20214;&#30340;&#22522;&#26412;&#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;&#22914;&#26524;&#20320;&#36824;&#27809;&#26377;&#21019;&#24314;&#20013;&#38388;&#20214;&#65292;&#21487;&#20197;&#20351;&#29992; Artisan &#21629;&#20196;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:middleware MyMiddleware<\/code><\/pre>\n<p>&#36825;&#23558;&#29983;&#25104;&#19968;&#20010;&#21517;&#20026; <code>MyMiddleware.php<\/code> &#30340;&#25991;&#20214;&#12290;<\/p>\n<h3>2. &#32534;&#36753;&#20013;&#38388;&#20214;<\/h3>\n<p>&#25171;&#24320; <code>app\/Http\/Middleware\/MyMiddleware.php<\/code> &#25991;&#20214;&#65292;&#24182;&#32534;&#20889;&#20013;&#38388;&#20214;&#36923;&#36753;&#12290;&#20363;&#22914;&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesAuth;\n\nclass MyMiddleware\n{\n    public function handle($request, Closure $next)\n    {\n        \/\/ &#26816;&#26597;&#29992;&#25143;&#26159;&#21542;&#30331;&#24405;\n        if (!Auth::check()) {\n            return redirect('\/login');\n        }\n\n        \/\/ &#32487;&#32493;&#25191;&#34892;&#19979;&#19968;&#20010;&#20013;&#38388;&#20214;&#25110;&#25511;&#21046;&#22120;&#26041;&#27861;\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; Laravel &#30340;&#26381;&#21153;&#25552;&#20379;&#32773;&#20013;&#12290;&#32534;&#36753; <code>app\/Providers\/AppServiceProvider.php<\/code> &#25991;&#20214;&#65292;&#25214;&#21040; <code>register<\/code> &#26041;&#27861;&#65292;&#24182;&#28155;&#21152;&#20197;&#19979;&#34892;&#65306;<\/p>\n<pre><code class=\"language-php\">protected function register()\n{\n    \/\/ &#20854;&#20182;&#26381;&#21153;&#25552;&#20379;&#32773;&#30340;&#27880;&#20876;&#20195;&#30721;...\n\n    \/\/ &#27880;&#20876;&#20013;&#38388;&#20214;\n    $this-&gt;app-&gt;singleton(AppHttpMiddlewareMyMiddleware::class);\n}<\/code><\/pre>\n<h3>4. &#36335;&#30001;&#37197;&#32622;<\/h3>\n<p>&#26368;&#21518;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; <code>Route::middleware<\/code> &#26041;&#27861;&#26469;&#20026;&#29305;&#23450;&#30340;&#36335;&#30001;&#20998;&#37197;&#20013;&#38388;&#20214;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#20026;&#25152;&#26377;&#35775;&#38382; <code>\/admin<\/code> &#31471;&#28857;&#30340;&#35831;&#27714;&#20998;&#37197; <code>MyMiddleware<\/code> &#20013;&#38388;&#20214;&#65292;&#21487;&#20197;&#22312; <code>routes\/web.php<\/code> &#25110;&#20854;&#20182;&#36335;&#30001;&#25991;&#20214;&#20013;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-php\">use AppHttpMiddlewareMyMiddleware;\n\nRoute::get('\/admin', function () {\n    return view('admin.dashboard');\n})-&gt;middleware(MyMiddleware::class);<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#23436;&#25972;&#30340;&#31034;&#20363;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#21019;&#24314;&#12289;&#27880;&#20876;&#21644;&#20351;&#29992;&#20013;&#38388;&#20214;&#65306;<\/p>\n<h4>1. &#21019;&#24314;&#20013;&#38388;&#20214;<\/h4>\n<pre><code class=\"language-bash\">php artisan make:middleware MyMiddleware<\/code><\/pre>\n<h4>2. &#32534;&#36753;&#20013;&#38388;&#20214;<\/h4>\n<pre><code class=\"language-php\">namespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesAuth;\n\nclass MyMiddleware\n{\n    public function handle($request, Closure $next)\n    {\n        \/\/ &#26816;&#26597;&#29992;&#25143;&#26159;&#21542;&#30331;&#24405;\n        if (!Auth::check()) {\n            return redirect('\/login');\n        }\n\n        \/\/ &#32487;&#32493;&#25191;&#34892;&#19979;&#19968;&#20010;&#20013;&#38388;&#20214;&#25110;&#25511;&#21046;&#22120;&#26041;&#27861;\n        return $next($request);\n    }\n}<\/code><\/pre>\n<h4>3. &#27880;&#20876;&#20013;&#38388;&#20214;<\/h4>\n<pre><code class=\"language-php\">\/\/ app\/Providers\/AppServiceProvider.php\nprotected function register()\n{\n    \/\/ &#20854;&#20182;&#26381;&#21153;&#25552;&#20379;&#32773;&#30340;&#27880;&#20876;&#20195;&#30721;...\n\n    \/\/ &#27880;&#20876;&#20013;&#38388;&#20214;\n    $this-&gt;app-&gt;singleton(AppHttpMiddlewareMyMiddleware::class);\n}<\/code><\/pre>\n<h4>4. &#36335;&#30001;&#37197;&#32622;<\/h4>\n<pre><code class=\"language-php\">\/\/ routes\/web.php\nuse AppHttpMiddlewareMyMiddleware;\n\nRoute::get('\/admin', function () {\n    return view('admin.dashboard');\n})-&gt;middleware(MyMiddleware::class);<\/code><\/pre>\n<p>&#36890;&#36807;&#36825;&#20123;&#27493;&#39588;&#65292;&#20320;&#23601;&#21487;&#20197;&#22312; Laravel &#20013;&#20026;&#36335;&#30001;&#20998;&#37197;&#20013;&#38388;&#20214;&#20102;&#12290;&#24076;&#26395;&#36825;&#23545;&#20320;&#26377;&#24110;&#21161;&#65281;<\/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&#20013;&#30340;&#20013;&#38388;&#20214;&#26159;&#19968;&#20010;&#24378;&#22823;&#30340;&#21151;&#33021;&#65292;&#20801;&#35768;&#24744;&#36807;&#28388;&#36827;&#20837;&#24212;&#29992;&#31243;&#24207;&#30340;HTTP&#35831;&#27714;&#12290;&#26412;&#25945;&#31243;&#23558;&#25351;&#23548;&#24744;&#22914;&#20309;&#22312;&#24744;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#20013;&#21019;&#24314;&#21644;&#20998;&#37197;&#20013;&#38388;&#20214;&#21040;&#36335;&#30001;&#12290;&#26080;&#35770;&#26159;&#20026;&#20102;&#35748;&#35777;&#12289;&#26085;&#24535;&#35760;&#24405;&#12289;CORS&#36824;&#26159;&#20219;&#20309;&#20854;&#20182;&#30446;&#30340;&#65292;Laravel&#30340;&#20013;&#38388;&#20214;&#37117;&#32988;&#20219;&#12290;<\/p><h2>&#29702;&#35299;&#20013;&#38388;&#20214;<\/h2><p>&#22312;Laravel&#20013;&#65292;&#20013;&#38388;&#20214;&#25552;&#20379;&#20102;&#19968;&#20010;&#26041;&#20415;&#30340;&#26041;&#27861;&#26469;&#26816;&#26597;&#21644;&#36807;&#28388;HTTP&#35831;&#27714;&#12290;&#20320;&#21487;&#20197;&#20351;&#29992;&#20013;&#38388;&#20214;&#25191;&#34892;&#35832;&#22914;&#39564;&#35777;&#29992;&#25143;&#36523;&#20221;&#12289;&#35760;&#24405;&#35831;&#27714;&#12289;&#22788;&#29702;CORS&#31561;&#20219;&#21153;&#65292;&#22312;&#24212;&#29992;&#31243;&#24207;&#34987;&#22788;&#29702;&#20043;&#21069;&#25110;&#21709;&#24212;&#34987;&#21457;&#36865;&#21040;&#27983;&#35272;&#22120;&#20043;&#21518;&#36827;&#34892;&#12290;<\/p><p>&#21019;&#24314;&#20013;&#38388;&#20214;<\/p><pre><code>php artisan make:middleware CheckAge<\/code><\/pre><p>&#35813;&#21629;&#20196;&#20250;&#22312;&#20013;&#38388;&#20214;&#31867;&#20013;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#31867;&#12290;<code>app\/Http\/Middleware<\/code>&#30446;&#24405;&#12290;<\/p><h3>&#23450;&#20041;&#20013;&#38388;&#20214;&#36923;&#36753;<\/h3><p>&#32534;&#36753;&#21018;&#21018;&#21019;&#24314;&#30340;&#12290;<code>CheckAge.php<\/code>&#24050;&#25910;&#21040;&#25351;&#20196;&#65292;&#31561;&#24453;&#24744;&#30340;&#38382;&#39064;&#12290;<\/p><pre><code>public function handle($request, Closure $next) \n   if (age &lt; 18) {     return redirect('home');   }   return $next($request); }<\/code><\/pre><p>&#35813;&#31034;&#20363;&#26816;&#26597;&#29992;&#25143;&#24180;&#40836;&#26159;&#21542;&#23567;&#20110;18&#23681;&#65292;&#22914;&#26524;&#26159;&#65292;&#21017;&#37325;&#23450;&#21521;&#21040;&#39318;&#39029;&#12290;<\/p><h2>&#20840;&#29699;&#20013;&#38388;&#20214;<\/h2><p>&#27880;&#20876;&#20013;&#38388;&#20214;&#21040;<code>app\/Http\/Kernel.php<\/code>&#36890;&#36807;&#28155;&#21152;&#23427;&#21040;<code>$middleware<\/code>&#25265;&#27465;&#65292;&#25105;&#26080;&#27861;&#29702;&#35299;&#24744;&#30340;&#38382;&#39064;&#65292;&#35831;&#24744;&#37325;&#26032;&#25551;&#36848;&#19968;&#19979;&#24744;&#30340;&#38656;&#27714;&#12290;<\/p><pre><code>'middleware' =&gt; [     \nIlluminate\newMiddleware\"];<\/code><\/pre><h3>&#32676;&#32452;&#20013;&#38388;&#20214;<\/h3><p>&#22914;&#26524;&#20320;&#24819;&#20026;&#19968;&#32452;&#36335;&#30001;&#20351;&#29992;&#26576;&#20123;&#20013;&#38388;&#20214;&#65292;&#21487;&#20197;&#22312;&#20854;&#20013;&#23450;&#20041;&#23427;&#12290;<code>$middlewareGroups<\/code>&#25968;&#32452;&#22312;&#12290;<code>Kernel.php<\/code>&#24050;&#25910;&#21040;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>$middlewareGroups = [   'web' =&gt; [      \nAppHttpMiddleware\newMiddleware],   'api' =&gt; [      \n\newMiddleware'     ],];<\/code><\/pre><h2>&#36335;&#30001;&#20013;&#38388;&#20214;<\/h2><p>&#20026;&#20102;&#20026;&#29305;&#23450;&#30340;&#36335;&#30001;&#20998;&#37197;&#20013;&#38388;&#20214;&#65292;&#39318;&#20808;&#38656;&#35201;&#22312;&#24744;&#30340;&#20195;&#30721;&#20013;&#27880;&#20876;&#23427;&#12290;<code>app\/Http\/Kernel.php<\/code>&#25991;&#20214;&#12290;<\/p><pre><code>protected $routeMiddleware = [ \n   'age' =&gt; \nAppHttpMiddleware\newMiddleware'];<\/code><\/pre><p>&#19968;&#26086;&#27880;&#20876;&#65292;&#24744;&#23601;&#21487;&#20197;&#20351;&#29992;&#23427;&#12290;<code>middleware<\/code>&#22312;&#20320;&#30340;&#24212;&#29992;&#20013;&#20026;&#20013;&#38388;&#20214;&#20998;&#37197;&#36335;&#30001;&#30340;&#26041;&#27861;&#26159;&#65311;<code>routes\/web.php<\/code>&#21734;&#65292;&#23545;&#20102;&#12290;<code>routes\/api.php<\/code>&#25991;&#20214;&#12290;<\/p><pre><code>Route::get('\/profile', function () {    \n       \/\/ Only called if age middleware allows   \n })-&gt;middleware('age');<\/code><\/pre><p>&#36825;&#21482;&#20250;&#25191;&#34892;&#38381;&#21253;&#12290;<code>\/profile<\/code>&#22914;&#26524;&#24180;&#40836;&#20013;&#38388;&#20214;&#20801;&#35768;&#65292;&#36335;&#30001;&#12290;<\/p><h2>&#21442;&#25968;&#21270;&#20013;&#38388;&#20214;<\/h2><p>&#20320;&#21487;&#20197;&#21521;&#20013;&#38388;&#20214;&#20256;&#36882;&#21442;&#25968;&#65306;<\/p><pre><code>Route::get('\/post\/{post}', function (AppModelsPost $post) {}\n)-&gt;middleware('role:editor');<\/code><\/pre><p>&#36825;&#26465;&#36335;&#32447;&#20165;&#23545;&#20855;&#26377;&ldquo;&#32534;&#36753;&rdquo;&#35282;&#33394;&#30340;&#29992;&#25143;&#24320;&#25918;&#12290;<\/p><h2>&#20013;&#38388;&#20214;&#20248;&#20808;&#32423;<\/h2><p>&#26377;&#26102;&#20320;&#38656;&#35201;&#25351;&#23450;&#20013;&#38388;&#20214;&#30340;&#25191;&#34892;&#39034;&#24207;&#12290;&#22312;&#20320;&#30340;<code>Kernel.php<\/code>&#24744;&#21487;&#20197;&#22312;&#20854;&#20013;&#20462;&#25913;&#12290;<code>$middlewarePriority<\/code>&#23454;&#29616;&#36825;&#19968;&#30446;&#26631;&#38656;&#35201;&#25968;&#32452;&#12290;<\/p><h2>&#22522;&#20110;&#38381;&#21253;&#30340;&#20013;&#38388;&#20214;<\/h2><p>&#23545;&#20110;&#24555;&#36895;&#12289;&#31616;&#21333;&#30340;&#26816;&#26597;&#65292;&#21487;&#20197;&#22312;&#36335;&#30001;&#20013;&#30452;&#25509;&#20351;&#29992;&#38381;&#21253;&#23450;&#20041;&#20013;&#38388;&#20214;&#12290;<\/p><pre><code>Route::get('admin\/profile', function () {\n    \/\/ Your logic here\n})-&gt;middleware(function ($request, $next) { \n    \/\/ Your validation logic here\n    return $next($request);\n});<\/code><\/pre><p>&#27492;&#26816;&#26597;&#22312;&#36335;&#30001;&#23450;&#20041;&#20013;&#30452;&#25509;&#38024;&#23545;&#24050;&#30331;&#24405;&#30340;&#29992;&#25143;&#36827;&#34892;&#12290;<\/p><h2>&#27979;&#35797;&#20013;&#38388;&#20214;<\/h2><p>&#22312;&#35774;&#32622;&#20013;&#38388;&#20214;&#21518;&#65292;&#20320;&#24212;&#35813;&#27979;&#35797;&#20197;&#30830;&#20445;&#23427;&#24037;&#20316;&#27491;&#24120;&#12290;Laravel &#25552;&#20379;&#20102;&#29992;&#20110;&#27979;&#35797; HTTP &#36335;&#30001;&#30340;&#21151;&#33021;&#27979;&#35797;&#35774;&#26045;&#12290;<\/p><pre><code>$response = $this-&gt;get('\/route');\n$response-&gt;assertStatus(403);<\/code><\/pre><p>&#22914;&#26524;&#20013;&#38388;&#20214;&#38480;&#21046;&#35775;&#38382;&#65292;&#29366;&#24577;&#26816;&#26597;&#24212;&#35813;&#39564;&#35777;&#27491;&#30830;&#30340;&#38169;&#35823;&#20195;&#30721;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#27491;&#30830;&#22320;&#22312;Laravel&#20013;&#24212;&#29992;&#20013;&#38388;&#20214;&#26377;&#21161;&#20110;&#20445;&#25345;&#24212;&#29992;&#31243;&#24207;&#30340;&#23433;&#20840;&#21644;&#39640;&#25928;&#12290;&#26412;&#25351;&#21335;&#24102;&#20320;&#23450;&#20041;&#12289;&#27880;&#20876;&#24182;&#24212;&#29992;&#20013;&#38388;&#20214;&#21040;&#20320;&#30340;&#36335;&#30001;&#12290;&#20013;&#38388;&#20214;&#21487;&#20197;&#31616;&#21270;&#20320;&#30340;&#24212;&#29992;&#31243;&#24207;&#36923;&#36753;&#65292;&#20026;&#20320;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#25552;&#20379;&#39069;&#22806;&#30340;HTTP&#35831;&#27714;&#25511;&#21046;&#23618;&#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;&#32473;&#36335;&#30001;&#20998;&#37197;&#20013;&#38388;&#20214;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#27493;&#39588;&#36827;&#34892;&#65306;<\/p>\n<ol>\n<li>\n<p>&#39318;&#20808;&#30830;&#20445;&#23433;&#35013;&#20102; Laravel &#30340;&#20381;&#36182;&#24211;&#65292;&#24182;&#19988;&#24050;&#32463;&#35774;&#32622;&#20102;&#29615;&#22659;&#21464;&#37327;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25511;&#21046;&#22120;&#65292;&#20363;&#22914; <code>Controller.php<\/code>&#12290;<\/p>\n<\/li>\n<li>\n<p>&#22312;&#25511;&#21046;&#22120;&#30340;&#31867;&#19978;&#28155;&#21152;&#20013;&#38388;&#20214;&#65306;<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\nuse AppJobsJobJob;\n\nclass Controller extends IlluminateRoutingController\n{\n    protected $middleware = ['auth', 'role:admin'];\n\n    public function index()\n    {\n        return view('welcome');\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#20026;&#25511;&#21046;&#22120;&#21019;&#24314;&#20102;&#19968;&#20010;&#21517;&#20026; <code>auth<\/code> &#21644; <code>role:admin<\/code> &#30340;&#20013;&#38388;&#20214;&#12290;&#36825;&#20004;&#20010;&#20013;&#38388;&#20214;&#20998;&#21035;&#29992;&#20110;&#39564;&#35777;&#29992;&#25143;&#30340;&#36523;&#20221;&#21644;&#26816;&#26597;&#26159;&#21542;&#26377;&#31649;&#29702;&#21592;&#26435;&#38480;&#12290;<\/p>\n<ol start=\"4\">\n<li>&#22312; <code>config\/app.php<\/code> &#25991;&#20214;&#20013;&#37197;&#32622;&#20013;&#38388;&#20214;&#65306;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">return [\n    \/\/ ...\n    'providers' =&gt; [\n        AppProvidersAppServiceProvider::class,\n        AppProvidersAuthServiceProvider::class,\n        IlluminateFoundationSupportProvidersAuthServiceProvider::class,\n        AppProvidersRouteServiceProvider::class,\n        IlluminateBroadcastingBusServiceProvider::class,\n        IlluminateQueueQueueServiceProvider::class,\n        IlluminateMailMailServiceProvider::class,\n        IlluminatePaginationPaginatorServiceProvider::class,\n        IlluminateRedisRedisServiceProvider::class,\n        IlluminateSessionSessionServiceProvider::class,\n        IlluminateAuthAuthServiceProvider::class,\n        IlluminateDatabaseDatabaseServiceProvider::class,\n        IlluminateHashingHashServiceProvider::class,\n        IlluminateFilesystemFilesystemProvider::class,\n        IlluminateConfigRepositoryServiceProvider::class,\n        IlluminateLogLogServiceProvider::class,\n        IlluminateValidationValidationServiceProvider::class,\n        IlluminateViewViewServiceProvider::class,\n        IlluminateCacheCacheServiceProvider::class,\n        IlluminateNotificationsNotificationServiceProvider::class,\n        IlluminateSessionMiddlewareStartSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateViewMiddlewareShareErrorsFromSession::class,\n        IlluminateRoutingMiddlewareSubstituteBindings::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        IlluminateSessionMiddlewareAuthenticateSession::class,\n        Illuminate.Session<\/code><\/pre>\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; Route::middleware &#26041;&#27861;&#26469;&#20026;&#29305;..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-798","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\/798","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=798"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=798"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=798"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}