{"id":802,"date":"2025-06-12T00:04:42","date_gmt":"2025-06-11T16:04:42","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/802.html"},"modified":"2025-06-12T00:04:42","modified_gmt":"2025-06-11T16:04:42","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8-laravel-%e4%b8%ad%e4%bc%a0%e9%80%92%e5%8f%82%e6%95%b0%e5%88%b0%e4%b8%ad%e9%97%b4%e4%bb%b6","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/802.html","title":{"rendered":"\u5982\u4f55\u5728 Laravel \u4e2d\u4f20\u9012\u53c2\u6570\u5230\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;&#20256;&#36882;&#21442;&#25968;&#21040;&#20013;&#38388;&#20214;&#21487;&#20197;&#36890;&#36807;&#22810;&#31181;&#26041;&#24335;&#23454;&#29616;&#12290;&#20197;&#19979;&#26159;&#20960;&#31181;&#24120;&#35265;&#30340;&#26041;&#27861;&#65306;<\/p>\n<h3>&#26041;&#27861;&#19968;&#65306;&#20351;&#29992;&#26500;&#36896;&#20989;&#25968;&#27880;&#20837;<\/h3>\n<ol>\n<li>\n<p><strong>&#21019;&#24314;&#20013;&#38388;&#20214;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:middleware MyMiddleware<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#32534;&#36753;&#20013;&#38388;&#20214;&#25991;&#20214;<\/strong>&#65306;\n&#25171;&#24320; <code>app\/Http\/Middleware\/MyMiddleware.php<\/code> &#25991;&#20214;&#65292;&#24182;&#28155;&#21152;&#20197;&#19979;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesRequest;\n\nclass MyMiddleware\n{\n   public function handle($request, Closure $next)\n   {\n       \/\/ &#33719;&#21462;&#35831;&#27714;&#20013;&#30340;&#26576;&#20010;&#21442;&#25968;\n       $param = Request::input('myParam');\n\n       \/\/ &#20351;&#29992;&#35813;&#21442;&#25968;&#36827;&#34892;&#22788;&#29702;\n       \/\/ ...\n\n       return $next($request);\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#27880;&#20876;&#20013;&#38388;&#20214;<\/strong>&#65306;\n&#22312; <code>app\/Http\/Kernel.php<\/code> &#25991;&#20214;&#30340; <code>$routeMiddleware<\/code> &#25968;&#32452;&#20013;&#27880;&#20876;&#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-php\">protected $routeMiddleware = [\n   \/\/ &#20854;&#20182;&#20013;&#38388;&#20214;...\n   'myMiddleware' =&gt; AppHttpMiddlewareMyMiddleware::class,\n];<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#24212;&#29992;&#20013;&#38388;&#20214;<\/strong>&#65306;\n&#22312;&#36335;&#30001;&#23450;&#20041;&#20013;&#20351;&#29992;&#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/example', function () {\n   return view('example');\n})-&gt;middleware('myMiddleware');<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#35775;&#38382;&#35831;&#27714;&#20013;&#30340;&#21442;&#25968;<\/strong>&#65306;\n&#22312;&#35270;&#22270;&#25110;&#20854;&#20182;&#25511;&#21046;&#22120;&#20013;&#65292;&#21487;&#20197;&#20351;&#29992; <code>Request::input()<\/code> &#26041;&#27861;&#26469;&#33719;&#21462;&#35831;&#27714;&#20013;&#30340;&#21442;&#25968;&#65306;<\/p>\n<pre><code class=\"language-blade\">&lt;p&gt;The value of myParam is {{ request()-&gt;input('myParam') }}&lt;\/p&gt;<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>&#26041;&#27861;&#20108;&#65306;&#20351;&#29992;&#20840;&#23616;&#23646;&#24615;<\/h3>\n<ol>\n<li>\n<p><strong>&#35774;&#32622;&#20840;&#23616;&#23646;&#24615;<\/strong>&#65306;\n&#22312; <code>bootstrap\/app.php<\/code> &#25991;&#20214;&#20013;&#35774;&#32622;&#20840;&#23616;&#23646;&#24615;&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateSupportFacadesApp;\n\nApp::globalScope(function ($query) {\n   \/\/ &#35774;&#32622;&#26597;&#35810;&#26465;&#20214;\n   $query-&gt;where('status', 'active');\n});<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#22312;&#20013;&#38388;&#20214;&#20013;&#20351;&#29992;&#20840;&#23616;&#23646;&#24615;<\/strong>&#65306;\n&#32534;&#36753; <code>app\/Http\/Middleware\/MyMiddleware.php<\/code> &#25991;&#20214;&#65292;&#24182;&#28155;&#21152;&#20197;&#19979;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesRequest;\n\nclass MyMiddleware\n{\n   public function handle($request, Closure $next)\n   {\n       \/\/ &#20351;&#29992;&#20840;&#23616;&#23646;&#24615;&#36827;&#34892;&#22788;&#29702;\n       \/\/ ...\n\n       return $next($request);\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#27880;&#20876;&#20013;&#38388;&#20214;<\/strong>&#65306;\n&#22312; <code>app\/Http\/Kernel.php<\/code> &#25991;&#20214;&#30340; <code>$routeMiddleware<\/code> &#25968;&#32452;&#20013;&#27880;&#20876;&#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-php\">protected $routeMiddleware = [\n   \/\/ &#20854;&#20182;&#20013;&#38388;&#20214;...\n   'myMiddleware' =&gt; AppHttpMiddlewareMyMiddleware::class,\n];<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#24212;&#29992;&#20013;&#38388;&#20214;<\/strong>&#65306;\n&#22312;&#36335;&#30001;&#23450;&#20041;&#20013;&#20351;&#29992;&#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/example', function () {\n   return view('example');\n})-&gt;middleware('myMiddleware');<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>&#26041;&#27861;&#19977;&#65306;&#20351;&#29992;&#26381;&#21153;&#23481;&#22120;<\/h3>\n<ol>\n<li>\n<p><strong>&#21019;&#24314;&#26381;&#21153;<\/strong>&#65306;\n&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#26381;&#21153;&#31867;&#65292;&#20363;&#22914; <code>MyService.php<\/code>&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppServices;\n\nclass MyService\n{\n   public function process()\n   {\n       \/\/ &#22788;&#29702;&#36923;&#36753;\n       return 'Processed';\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#27880;&#20876;&#26381;&#21153;<\/strong>&#65306;\n&#22312; <code>config\/app.php<\/code> &#25991;&#20214;&#30340; <code>providers<\/code> &#25968;&#32452;&#20013;&#27880;&#20876;&#26381;&#21153;&#25552;&#20379;&#32773;&#65306;<\/p>\n<pre><code class=\"language-php\">'providers' =&gt; [\n   \/\/ &#20854;&#20182;&#26381;&#21153;&#25552;&#20379;&#32773;...\n   AppServicesMyService::class,\n],<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#22312;&#20013;&#38388;&#20214;&#20013;&#20351;&#29992;&#26381;&#21153;<\/strong>&#65306;\n&#32534;&#36753; <code>app\/Http\/Middleware\/MyMiddleware.php<\/code> &#25991;&#20214;&#65292;&#24182;&#28155;&#21152;&#20197;&#19979;&#20195;&#30721;&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesRequest;\n\nclass MyMiddleware\n{\n   private $myService;\n\n   public function __construct(MyService $myService)\n   {\n       $this-&gt;myService = $myService;\n   }\n\n   public function handle($request, Closure $next)\n   {\n       \/\/ &#20351;&#29992;&#26381;&#21153;&#36827;&#34892;&#22788;&#29702;\n       $result = $this-&gt;myService-&gt;process();\n\n       \/\/ ...\n       return $next($request);\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#27880;&#20876;&#20013;&#38388;&#20214;<\/strong>&#65306;\n&#22312; <code>app\/Http\/Kernel.php<\/code> &#25991;&#20214;&#30340; <code>$routeMiddleware<\/code> &#25968;&#32452;&#20013;&#27880;&#20876;&#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-php\">protected $routeMiddleware = [\n   \/\/ &#20854;&#20182;&#20013;&#38388;&#20214;...\n   'myMiddleware' =&gt; AppHttpMiddlewareMyMiddleware::class,\n];<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#24212;&#29992;&#20013;&#38388;&#20214;<\/strong>&#65306;\n&#22312;&#36335;&#30001;&#23450;&#20041;&#20013;&#20351;&#29992;&#20013;&#38388;&#20214;&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/example', function () {\n   return view('example');\n})-&gt;middleware('myMiddleware');<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>&#36890;&#36807;&#20197;&#19978;&#26041;&#27861;&#65292;&#20320;&#21487;&#20197;&#28789;&#27963;&#22320;&#22312; Laravel &#20013;&#20256;&#36882;&#21644;&#20351;&#29992;&#21442;&#25968;&#21040;&#20013;&#38388;&#20214;&#12290;&#36873;&#25321;&#21738;&#31181;&#26041;&#27861;&#21462;&#20915;&#20110;&#20320;&#30340;&#20855;&#20307;&#38656;&#27714;&#21644;&#39033;&#30446;&#32467;&#26500;&#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 &#24456;&#21463;&#22909;&#35780;&#65292;&#22240;&#20854;&#20248;&#38597;&#30340;&#35821;&#27861;&#21644;&#24378;&#22823;&#30340;&#21151;&#33021;&#65292;&#20351;&#24471;&#24320;&#21457;&#32773;&#33021;&#22815;&#20197;&#39640;&#25928;&#30340;&#26041;&#24335;&#26500;&#24314;&#22797;&#26434;&#30340; Web &#24212;&#29992;&#31243;&#24207;&#12290;&#20854;&#20013;&#65292;Laravel &#30340;&#24378;&#22823;&#29305;&#24615;&#20043;&#19968;&#23601;&#26159;&#20854;&#20013;&#38388;&#20214;&#65288;middleware&#65289;&#65292;&#23427;&#20026;&#36807;&#28388;&#36827;&#20837;&#24212;&#29992;&#31243;&#24207;&#30340; HTTP &#35831;&#27714;&#25552;&#20379;&#20102;&#19968;&#20010;&#26041;&#20415;&#30340;&#26426;&#21046;&#12290;&#29702;&#35299;&#22914;&#20309;&#21521;&#20013;&#38388;&#20214;&#20256;&#36882;&#21442;&#25968;&#21487;&#20197;&#26174;&#33879;&#25552;&#39640;&#23545; HTTP &#35831;&#27714;&#21644;&#21709;&#24212;&#31890;&#24230;&#25511;&#21046;&#30340;&#31243;&#24230;&#12290;&#22312;&#36825;&#31687;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#25506;&#35752;&#22312; Laravel &#20013;&#20351;&#29992;&#19981;&#21516;&#26041;&#27861;&#20256;&#36882;&#21442;&#25968;&#21040;&#20013;&#38388;&#20214;&#30340;&#21508;&#31181;&#26041;&#24335;&#65292;&#20174;&#22522;&#26412;&#24212;&#29992;&#21040;&#26356;&#39640;&#32423;&#27010;&#24565;&#12290;<\/p><h2>&#35774;&#32622;&#20013;&#38388;&#20214;<\/h2><p>&#22312;&#28145;&#20837;&#21442;&#25968;&#20256;&#36882;&#20043;&#21069;&#65292;&#29702;&#35299;&#22914;&#20309;&#21019;&#24314;&#21644;&#27880;&#20876;&#20013;&#38388;&#20214;&#38750;&#24120;&#37325;&#35201;&#12290;&#21487;&#20197;&#20351;&#29992;Laravel Artisan&#21629;&#20196;&#29983;&#25104;&#20013;&#38388;&#20214;&#65306;<\/p><pre><code>php artisan make:middleware CheckAge<\/code><\/pre><p>&#35813;&#21629;&#20196;&#21019;&#24314;&#20102;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#31867;&#12290;<code>app\/Http\/Middleware\/CheckAge.php<\/code>&#35813;&#29677;&#32423;&#23558;&#21253;&#21547;&#19968;&#20010;<code>handle<\/code>&#25105;&#20204;&#23454;&#29616;&#36923;&#36753;&#30340;&#26041;&#27861;&#20043;&#19968;&#12290;&#36825;&#37324;&#26377;&#19968;&#20010;&#22522;&#26412;&#30340;&#20363;&#23376;&#65306;<\/p><pre><code>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<\/code><\/pre><h2>&#20256;&#36882;&#21442;&#25968;&#21040;&#20013;&#38388;&#20214;<\/h2><p>&#22312;Laravel&#20013;&#20256;&#36882;&#20013;&#38388;&#20214;&#30340;&#21442;&#25968;&#65292;&#21487;&#20197;&#30452;&#25509;&#23558;&#21442;&#25968;&#28155;&#21152;&#21040;&#36335;&#30001;&#23450;&#20041;&#20013;&#12290;&#35201;&#21521;&#20013;&#38388;&#20214;&#20256;&#36882;&#21333;&#20010;&#21442;&#25968;&#65292;&#35831;&#21442;&#32771;&#20197;&#19979;&#27493;&#39588;&#65306;<\/p><pre><code>Route::get('\/profile', 'ProfileController@index')-&gt;middleware('checkage:18');<\/code><\/pre><p>&#23545;&#19981;&#36215;&#65292;&#24744;&#30340;&#28040;&#24687;&#19981;&#23436;&#25972;&#65292;&#25105;&#26080;&#27861;&#29702;&#35299;&#24744;&#24819;&#35201;&#34920;&#36798;&#30340;&#20869;&#23481;&#12290;&#35831;&#25552;&#20379;&#26356;&#22810;&#30340;&#20449;&#24687;&#25110;&#21477;&#23376;&#20197;&#20415;&#20110;&#25105;&#33021;&#26356;&#22909;&#22320;&#24110;&#21161;&#24744;&#12290;<code>checkage<\/code>&#20013;&#38388;&#20214;&#65292;&#29616;&#22312;&#21487;&#20197;&#22312;&#20854;&#20013;&#35775;&#38382;&#36825;&#20010;&#21442;&#25968;&#20102;&#12290;<code>handle<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>public function handle($request, Closure $next, $age)\n{\n    if ($request-&gt;age &lt; $age) {\n        return redirect('home');\n    }\n\n    return $next($request);\n}\n<\/code><\/pre><p>&#36825;&#23558;&#26816;&#26597;&#26159;&#21542;&#28385;&#36275;&#26465;&#20214;&#12290;<code>age<\/code>&#25552;&#20379;&#30340;&#35831;&#27714;&#23567;&#20110;18&#26102;&#65292;&#20250;&#36827;&#34892;&#37325;&#23450;&#21521;&#12290;Laravel&#22312;&#20013;&#38388;&#20214;&#21518;&#33258;&#21160;&#27880;&#20837;&#21442;&#25968;&#12290;<code>$request<\/code>and&#20063;&#26159;&#65292;&#26377;&#20160;&#20040;&#38656;&#35201;&#24110;&#24537;&#30340;&#21527;&#65311;<code>$next<\/code>&#21464;&#37327;&#12290;<\/p><h2>&#20256;&#36882;&#22810;&#20010;&#21442;&#25968;<\/h2><p>&#20256;&#36882;&#22810;&#20010;&#21442;&#25968;&#21040;&#20013;&#38388;&#20214;&#23601;&#20687;&#20256;&#36882;&#21333;&#20010;&#21442;&#25968;&#19968;&#26679;&#31616;&#21333;&#12290;&#22914;&#19979;&#25152;&#31034;&#23450;&#20041;&#36335;&#30001;&#65306;<\/p><pre><code>Route::get('\/post\/{id}', 'PostController@show')-&gt;middleware('role:editor,delete');<\/code><\/pre><p>&#23545;&#19981;&#36215;&#65292;&#25105;&#19981;&#26126;&#30333;&#24744;&#30340;&#24847;&#24605;&#65292;&#35831;&#37325;&#26032;&#25551;&#36848;&#19968;&#19979;&#12290;<code>handle<\/code>&#22312;&#20013;&#38388;&#20214;&#30340;&#26041;&#27861;&#29616;&#22312;&#21487;&#20197;&#35775;&#38382;&#20004;&#20010;&#21442;&#25968;&#65306;<\/p><pre><code>public function handle($request, Closure $next, $role, $permission)\n{\n    \/* other code *\/\n\n    return $next($request);\n}\n<\/code><\/pre><h2>&#39640;&#32423;&#65306;&#21160;&#24577;&#21442;&#25968;&#30340;&#20013;&#38388;&#20214;<\/h2><p>&#26377;&#26102;&#20505;&#65292;&#20320;&#38656;&#35201;&#36890;&#36807;&#26381;&#21153;&#25552;&#20379;&#32773;&#25110;&#38381;&#21253;&#30340;&#26041;&#24335;&#21160;&#24577;&#20256;&#36882;&#20013;&#38388;&#20214;&#21442;&#25968;&#65292;&#32780;&#19981;&#26159;&#21482;&#20351;&#29992;&#36335;&#30001;&#20013;&#23450;&#20041;&#30340;&#38745;&#24577;&#23383;&#31526;&#20018;&#12290;<\/p><p>&#22914;&#26524;&#38656;&#35201;&#20174;&#29992;&#25143;&#27169;&#22411;&#20013;&#20351;&#29992;&#20540;&#65292;&#21487;&#20197;&#30452;&#25509;&#22312;&#36335;&#30001;&#20013;&#29992;&#38381;&#21253;&#35843;&#29992;&#20013;&#38388;&#20214;&#65306;<\/p><pre><code>use IlluminateSupportFacadesAuth;\n\nRoute::get('\/dashboard', function () {\n    $user = Auth::user();\n    $this-&gt;middleware('checkage', [$user-&gt;age]);\n    \/\/ ... Controller logic\n});\n<\/code><\/pre><h2>&#22312;&#32452;&#20869;&#20351;&#29992;&#20013;&#38388;&#20214;&#21442;&#25968;<\/h2><p>&#19968;&#20010;&#23454;&#38469;&#22330;&#26223;&#28041;&#21450;&#23558;&#21442;&#25968;&#20256;&#36882;&#21040;&#24212;&#29992;&#21040;&#19968;&#32452;&#36335;&#30001;&#30340;&#20013;&#38388;&#20214;&#12290;&#36825;&#31181;&#37197;&#32622;&#22312;&#24744;&#24076;&#26395;&#23545;&#19968;&#32452;&#36335;&#30001;&#24378;&#21046;&#25191;&#34892;&#29305;&#23450;&#34892;&#20026;&#26102;&#38750;&#24120;&#29702;&#24819;&#12290;&#36825;&#37324;&#26377;&#19968;&#20010;&#31034;&#20363;&#65306;<\/p><pre><code>Route::middleware(['checkrole:admin'])-&gt;group(function () {\n    Route::get('\/admin\/posts', 'AdminPostController@index');\n    Route::get('\/admin\/users', 'AdminUserController@index');\n});\n<\/code><\/pre><p>&#22312;&#35813;&#31034;&#20363;&#20013;&#65292;&#32452;&#20869;&#30340;&#25152;&#26377;&#36335;&#30001;&#37117;&#20855;&#26377;&#12290;<code>checkrole<\/code>middleware &#20182;&#20204;&#20013;&#30340;&#24212;&#29992;&#20102;<code>admin<\/code>&#21442;&#25968;&#12290;<\/p><h2>&#22788;&#29702;&#20013;&#38388;&#20214;&#20248;&#20808;&#32423;<\/h2><p>&#22312;&#20256;&#36882;&#21442;&#25968;&#21040;&#20013;&#38388;&#20214;&#26102;&#65292;&#29702;&#35299;&#20013;&#38388;&#20214;&#22914;&#20309;&#25353;&#39034;&#24207;&#25191;&#34892;&#33267;&#20851;&#37325;&#35201;&#65292;&#29305;&#21035;&#26159;&#22312;&#24744;&#26377;&#20381;&#36182;&#20851;&#31995;&#30340;&#24773;&#20917;&#19979;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#20462;&#25913;&#20013;&#38388;&#20214;&#30340;&#20248;&#20808;&#32423;&#26469;&#25511;&#21046;&#23427;&#20204;&#30340;&#25191;&#34892;&#39034;&#24207;&#12290;<code>$middlewarePriority<\/code>&#25265;&#27465;&#65292;&#25105;&#19981;&#22826;&#26126;&#30333;&#24744;&#30340;&#24847;&#24605;&#12290;<code>Kernel.php<\/code>&#25991;&#20214;&#12290;&#21015;&#34920;&#20013;&#30340;&#31532;&#19968;&#20010;&#20013;&#38388;&#20214;&#23558;&#39318;&#20808;&#25191;&#34892;&#12290;<\/p><h2>&#38169;&#35823;&#22788;&#29702;<\/h2><p>&#22312;&#20256;&#36882;&#21442;&#25968;&#32473;&#20013;&#38388;&#20214;&#26102;&#65292;&#22788;&#29702;&#24847;&#22806;&#20540;&#30340;&#24120;&#35265;&#25361;&#25112;&#20043;&#19968;&#26159;&#22914;&#20309;&#36827;&#34892;&#39564;&#35777;&#25110;&#35774;&#32622;&#40664;&#35748;&#21442;&#25968;&#20540;&#20197;&#36991;&#20813;&#26381;&#21153;&#22120;&#38169;&#35823;&#12290;&#33391;&#22909;&#30340;&#23454;&#36341;&#26159;&#22312;&#22788;&#29702;&#19981;&#26399;&#26395;&#30340;&#24773;&#20917;&#26102;&#20351;&#29992;&#38169;&#35823;&#22788;&#29702;&#22359;&#25110;&#19987;&#38376;&#38024;&#23545;&#20013;&#38388;&#20214;&#30340;&#24322;&#24120;&#26469;&#20248;&#38597;&#22320;&#31649;&#29702;&#36825;&#20123;&#24773;&#20917;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#25506;&#35752;&#20102;&#21521;Laravel&#24212;&#29992;&#31243;&#24207;&#20013;&#30340;&#20013;&#38388;&#20214;&#20256;&#36882;&#21442;&#25968;&#30340;&#21508;&#31181;&#26041;&#27861;&#12290;&#25105;&#20204;&#35752;&#35770;&#20102;&#31616;&#21333;&#21644;&#22810;&#21442;&#25968;&#24773;&#20917;&#65292;&#20197;&#21450;&#22914;&#20309;&#35774;&#32622;&#29992;&#20110;&#21160;&#24577;&#21644;&#32452;&#36335;&#30001;&#30340;&#20013;&#38388;&#20214;&#12290;&#26377;&#25928;&#20351;&#29992;&#20013;&#38388;&#20214;&#23558;&#22686;&#24378;&#24744;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#30340;&#23433;&#20840;&#24615;&#12289;&#28789;&#27963;&#24615;&#21644;&#27169;&#22359;&#21270;&#24615;&#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;&#20320;&#21487;&#20197;&#20351;&#29992;<code>Request<\/code>&#23545;&#35937;&#26469;&#20256;&#36882;&#21442;&#25968;&#21040;&#20013;&#38388;&#20214;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#23454;&#29616;&#36825;&#19968;&#21151;&#33021;&#30340;&#31616;&#21333;&#27493;&#39588;&#65306;<\/p>\n<ol>\n<li>\n<p>&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#24050;&#32463;&#23433;&#35013;&#20102;Laravel&#26694;&#26550;&#65292;&#24182;&#19988;&#20320;&#30340;&#39033;&#30446;&#26159;&#36816;&#34892;&#29366;&#24577;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#31867;&#12290;&#20363;&#22914;&#65292;&#25105;&#20204;&#21487;&#20197;&#21019;&#24314;&#19968;&#20010;&#21517;&#20026;<code>MyMiddleware.php<\/code>&#30340;&#25991;&#20214;&#65292;&#24182;&#23558;&#20854;&#25918;&#22312;<code>app\/Middleware<\/code>&#30446;&#24405;&#19979;&#12290;&#36825;&#20010;&#25991;&#20214;&#23558;&#20316;&#20026;&#31532;&#19968;&#20010;&#20013;&#38388;&#20214;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#22312;<code>MyMiddleware.php<\/code>&#20013;&#65292;&#23450;&#20041;&#19968;&#20010;&#26041;&#27861;&#65292;&#29992;&#20110;&#22788;&#29702;&#35831;&#27714;&#12290;&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#23558;&#22788;&#29702;POST&#35831;&#27714;&#12290;<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpMiddleware;\n\nuse Closure;\nuse IlluminateSupportFacadesRequest;\n\nclass MyMiddleware\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        \/\/ &#22914;&#26524;&#36825;&#26159;&#19968;&#20010;POST&#35831;&#27714;&#65292;&#25105;&#20204;&#21487;&#20197;&#22312;&#36825;&#37324;&#28155;&#21152;&#39069;&#22806;&#30340;&#25968;&#25454;&#12290;\n        if ($request-&gt;method() === 'POST') {\n            $data = Request::all();\n        }\n\n        return $next($request);\n    }\n}<\/code><\/pre>\n<ol start=\"4\">\n<li>&#29616;&#22312;&#65292;&#20320;&#38656;&#35201;&#22312;<code>routes\/web.php<\/code>&#25991;&#20214;&#20013;&#27880;&#20876;&#36825;&#20010;&#26032;&#30340;&#20013;&#38388;&#20214;&#12290;&#39318;&#20808;&#65292;&#25214;&#21040;<code>Route::middleware()<\/code>&#20989;&#25968;&#65292;&#28982;&#21518;&#28155;&#21152;<code>MyMiddleware<\/code>&#23454;&#20363;&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">Route::group(['prefix' =&gt; 'api'], function () {\n    Route::post('\/my-endpoint', [\n        'as' =&gt; 'my-endpoint',\n        'uses' =&gt; 'MyController@myEndpoint',\n    ]);\n\n    \/\/ &#28155;&#21152;&#20854;&#20182;&#36335;&#30001;&#21644;&#25511;&#21046;&#22120;\n});<\/code><\/pre>\n<ol start=\"5\">\n<li>&#25509;&#19979;&#26469;&#65292;&#20320;&#38656;&#35201;&#22312;<code>MyController<\/code>&#20013;&#23450;&#20041;<code>myEndpoint<\/code>&#26041;&#27861;&#12290;&#36825;&#20010;&#26041;&#27861;&#24212;&#35813;&#25509;&#21463;&#19968;&#20010;<code>$data<\/code>&#21442;&#25968;&#65292;&#22914;&#26524;&#23384;&#22312;&#30340;&#35805;&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\n\nclass MyController extends Controller\n{\n    public function myEndpoint(Request $request)\n    {\n        \/\/ &#20351;&#29992;&#25552;&#20379;&#30340;&#25968;&#25454;\n        $this-&gt;validate($request, [\n            'key1' =&gt; 'required|string|max:255',\n            'key2' =&gt; 'sometimes|nullable|string|max:255',\n        ]);\n\n        return response()-&gt;json([\n            'message' =&gt; 'Hello, World!',\n            'data' =&gt; $request-&gt;only('key1', 'key2'),\n        ]);\n    }\n}<\/code><\/pre>\n<ol start=\"6\">\n<li>&#26368;&#21518;&#65292;&#20320;&#38656;&#35201;&#22312;&#38656;&#35201;&#30340;&#22320;&#26041;&#35843;&#29992;&#36825;&#20010;&#20013;&#38388;&#20214;&#12290;&#20551;&#35774;&#20320;&#26377;&#19968;&#20010;&#35270;&#22270;&#25511;&#21046;&#22120;&#65292;&#20320;&#21487;&#20197;&#22312;&#20854;&#20013;&#35775;&#38382;&#36825;&#20010;&#20013;&#38388;&#20214;&#12290;<\/li>\n<\/ol>\n<pre><code class=\"language-php\">\/\/ view.blade.php\n@extends('layouts.app')\n\n@section('content')\n    &lt;h1&gt;Hello, {{ $data['key1'] }}&lt;\/h1&gt;\n    &lt;h2&gt;{{ $data['key2'] }}&lt;\/h2&gt;\n@endsection<\/code><\/pre>\n<p>&#29616;&#22312;&#65292;&#24403;&#20320;&#36890;&#36807;API&#21457;&#20986;POST&#35831;&#27714;&#26102;&#65292;&#23427;&#20250;&#25658;&#24102;&#20320;&#25351;&#23450;&#30340;&#21442;&#25968;&#12290;&#35831;&#27880;&#24847;&#65292;&#36825;&#20010;&#20363;&#23376;&#20013;&#30340;&#39564;&#35777;&#36923;&#36753;&#26159;&#20551;&#35774;&#20320;&#26377;&#19968;&#20010;&#21517;&#20026;<code>key1<\/code>&#21644;<code>key2<\/code>&#30340;&#34920;&#21333;&#23383;&#27573;&#12290;&#22914;&#26524;&#20320;&#30340;&#34920;&#21333;&#23383;&#27573;&#19981;&#21516;&#65292;&#35831;&#30456;&#24212;&#22320;&#20462;&#25913;&#39564;&#35777;&#35268;&#21017;&#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;&#20256;&#36882;&#21442;&#25968;&#21040;&#20013;&#38388;&#20214;&#21487;&#20197;&#36890;&#36807;&#22810;&#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-802","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\/802","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=802"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=802"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=802"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}