{"id":796,"date":"2025-06-11T23:54:46","date_gmt":"2025-06-11T15:54:46","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/796.html"},"modified":"2025-06-11T23:54:46","modified_gmt":"2025-06-11T15:54:46","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8laravel%e4%b8%ad%e5%ae%9a%e4%b9%89%e8%87%aa%e5%ae%9a%e4%b9%89blade%e6%8c%87%e4%bb%a4","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/796.html","title":{"rendered":"\u5982\u4f55\u5728Laravel\u4e2d\u5b9a\u4e49\u81ea\u5b9a\u4e49Blade\u6307\u4ee4"},"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;&#23450;&#20041;&#33258;&#23450;&#20041;Blade&#25351;&#20196;&#21487;&#20197;&#35753;&#20320;&#22312;&#27169;&#26495;&#20013;&#20351;&#29992;&#33258;&#23450;&#20041;&#30340;HTML&#26631;&#31614;&#25110;&#36923;&#36753;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#22312;Laravel&#20013;&#23450;&#20041;&#33258;&#23450;&#20041;Blade&#25351;&#20196;&#30340;&#27493;&#39588;&#65306;<\/p>\n<h3>1. &#21019;&#24314;&#25351;&#20196;&#31867;<\/h3>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25351;&#20196;&#31867;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#21629;&#20196;&#26469;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25351;&#20196;&#31867;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:directive MyCustomDirective<\/code><\/pre>\n<p>&#36825;&#23558;&#29983;&#25104;&#19968;&#20010;&#21517;&#20026;<code>MyCustomDirective.php<\/code>&#30340;&#25991;&#20214;&#65292;&#20301;&#20110;<code>app\/Http\/Support\/Directives<\/code>&#30446;&#24405;&#19979;&#12290;<\/p>\n<h3>2. &#32534;&#36753;&#25351;&#20196;&#31867;<\/h3>\n<p>&#25171;&#24320;&#29983;&#25104;&#30340;<code>MyCustomDirective.php<\/code>&#25991;&#20214;&#65292;&#24182;&#36827;&#34892;&#20197;&#19979;&#20462;&#25913;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpSupportFacades;\n\nuse IlluminateSupportFacadesFacade;\nuse IlluminateSupportStr;\n\nclass MyCustomDirective extends Facade\n{\n    \/**\n     * Get the name of the directive.\n     *\n     * @return string\n     *\/\n    protected static function getFacadeAccessor()\n    {\n        return 'my_custom_directive';\n    }\n\n    \/**\n     * Render the directive.\n     *\n     * @param mixed $value\n     * @return string\n     *\/\n    public function render($value)\n    {\n        \/\/ &#36825;&#37324;&#21487;&#20197;&#28155;&#21152;&#33258;&#23450;&#20041;&#30340;&#36923;&#36753;\n        $modifiedValue = strtoupper($value);\n\n        return '&lt;strong&gt;' . $modifiedValue . '&lt;\/strong&gt;';\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#21019;&#24314;&#20102;&#19968;&#20010;&#21517;&#20026;<code>MyCustomDirective<\/code>&#30340;&#25351;&#20196;&#65292;&#24182;&#37325;&#20889;&#20102;<code>getFacadeAccessor<\/code>&#26041;&#27861;&#20197;&#36820;&#22238;&#25351;&#20196;&#30340;&#21517;&#31216;&#12290;&#28982;&#21518;&#65292;&#25105;&#20204;&#22312;<code>render<\/code>&#26041;&#27861;&#20013;&#28155;&#21152;&#20102;&#33258;&#23450;&#20041;&#30340;&#36923;&#36753;&#65292;&#23558;&#36755;&#20837;&#20540;&#36716;&#25442;&#20026;&#22823;&#20889;&#23383;&#27597;&#24182;&#29992;&#31895;&#20307;&#26631;&#35760;&#12290;<\/p>\n<h3>3. &#20351;&#29992;&#25351;&#20196;<\/h3>\n<p>&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#22312;&#20320;&#30340;&#35270;&#22270;&#25991;&#20214;&#20013;&#20351;&#29992;&#36825;&#20010;&#25351;&#20196;&#20102;&#12290;&#20363;&#22914;&#65292;&#22312;<code>resources\/views\/welcome.blade.php<\/code>&#25991;&#20214;&#20013;&#65306;<\/p>\n<pre><code class=\"language-blade\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;Welcome to Laravel&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h1&gt;{{ my_custom_directive('Hello, World!') }}&lt;\/h1&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#20351;&#29992;&#20102;<code>my_custom_directive<\/code>&#25351;&#20196;&#24182;&#23558;&#23383;&#31526;&#20018;&ldquo;Hello, World!&rdquo;&#20316;&#20026;&#21442;&#25968;&#20256;&#36882;&#32473;&#23427;&#12290;<\/p>\n<h3>4. &#37197;&#32622;&#25351;&#20196;<\/h3>\n<p>&#20026;&#20102;&#20351;&#25351;&#20196;&#33021;&#22815;&#22312;&#25152;&#26377; Blade&#27169;&#26495;&#20013;&#20351;&#29992;&#65292;&#20320;&#38656;&#35201;&#23558;&#20854;&#27880;&#20876;&#21040;&#26381;&#21153;&#25552;&#20379;&#32773;&#20013;&#12290;&#32534;&#36753;<code>config\/app.php<\/code>&#25991;&#20214;&#20013;&#30340;<code>providers<\/code>&#25968;&#32452;&#65292;&#28155;&#21152;&#20197;&#19979;&#34892;&#65306;<\/p>\n<pre><code class=\"language-php\">'providers' =&gt; [\n    \/\/ &#20854;&#20182;&#26381;&#21153;&#25552;&#20379;&#32773;...\n    AppHttpSupportFacadesMyCustomDirective::class,\n],<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#21457;&#24067;&#25351;&#20196;&#30340;&#37197;&#32622;&#25991;&#20214;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan vendor:publish --provider=\"AppHttpSupportFacadesMyCustomDirective\"<\/code><\/pre>\n<p>&#36825;&#23558;&#29983;&#25104;&#19968;&#20010;&#21517;&#20026;<code>config\/my-custom-directive.php<\/code>&#30340;&#25991;&#20214;&#65292;&#20854;&#20013;&#21253;&#21547;&#20102;&#25351;&#20196;&#30340;&#40664;&#35748;&#37197;&#32622;&#12290;<\/p>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#20320;&#23601;&#21487;&#20197;&#22312;Laravel&#20013;&#23450;&#20041;&#21644;&#20351;&#29992;&#33258;&#23450;&#20041;Blade&#25351;&#20196;&#20102;&#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; Blade &#27169;&#26495;&#24341;&#25806;&#25552;&#20379;&#20102;&#38750;&#24120;&#24378;&#22823;&#21644;&#28789;&#27963;&#30340;&#26041;&#24335;&#26469;&#31649;&#29702;&#24212;&#29992;&#31243;&#24207;&#20013;&#30340;&#21576;&#29616;&#36923;&#36753;&#12290;&#38500;&#20102;&#20869;&#32622;&#30340;&#25351;&#20196;&#65288;&#22914; @if, @else, @endif &#31561;&#65289;&#20043;&#22806;&#65292;Blade &#36824;&#25903;&#25345;&#33258;&#23450;&#20041;&#25351;&#20196;&#12289;&#36807;&#28388;&#22120;&#12289;&#34920;&#36798;&#24335;&#31561;&#26469;&#25193;&#23637;&#20854;&#21151;&#33021;&#12290;&#36825;&#20123;&#29305;&#24615;&#20351;&#24471;&#24320;&#21457;&#20154;&#21592;&#33021;&#22815;&#26356;&#21152;&#26041;&#20415;&#22320;&#21019;&#24314;&#21160;&#24577;&#19988;&#21487;&#32500;&#25252;&#30340;&#27169;&#26495;&#12290;<code>@if<\/code>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<code>@foreach<\/code>&#21644;&#25105;&#26377;&#20160;&#20040;&#20107;&#21527;&#65311;<code>@include<\/code>Blade &#20063;&#20801;&#35768;&#25105;&#20204;&#23450;&#20041;&#33258;&#23450;&#20041;&#25351;&#20196;&#65292;&#20197;&#36827;&#19968;&#27493;&#22686;&#24378;&#25105;&#20204;&#30340;&#35270;&#22270;&#21151;&#33021;&#12290;&#22312;&#36825;&#27425;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#25506;&#32034;&#22914;&#20309;&#22312; Laravel &#20013;&#21019;&#24314;&#36825;&#20123;&#33258;&#23450;&#20041;&#25351;&#20196;&#65292;&#20174;&#22522;&#26412;&#31034;&#20363;&#24320;&#22987;&#65292;&#28982;&#21518;&#36880;&#27493;&#36807;&#28193;&#21040;&#26356;&#39640;&#32423;&#30340;&#29992;&#36884;&#12290;<\/p><h2>&#22522;&#26412;&#33258;&#23450;&#20041; Blade &#25351;&#20196;<\/h2><p>&#23450;&#21046;&#30340;Blade&#25351;&#20196;&#22312;&#24744;&#30340;Blade&#27169;&#26495;&#20013;&#20351;&#29992;&#24744;&#24819;&#35201;&#27880;&#20876;&#30340;PHP&#20195;&#30721;&#26102;&#38750;&#24120;&#26377;&#29992;&#12290;&#27599;&#20010;&#25351;&#20196;&#37117;&#26159;&#20197;&#29305;&#23450;&#20851;&#38190;&#23383;&#23450;&#20041;&#30340;&#65292;&#28982;&#21518;&#36890;&#36807;&#36825;&#20123;&#20851;&#38190;&#23383;&#26469;&#23450;&#20041;&#23427;&#12290;<code>directive<\/code>&#30001;Blade&#27169;&#26495;&#24341;&#25806;&#25552;&#20379;&#30340;&#26041;&#27861;&#12290;<\/p><p>&#20197;&#19979;&#26159;&#23450;&#20041;&#31616;&#21333;&#33258;&#23450;&#20041;&#25351;&#20196;&#30340;&#31034;&#20363;&#65306;<\/p><pre><code>Blade::directive('uppercase', function ($expression) {\n    return \"\";\n});\n<\/code><\/pre><p>&#19968;&#26086;&#23450;&#20041;&#20102;&#25351;&#23548;&#26041;&#38024;&#65292;&#23601;&#21487;&#20197;&#22312;Blade&#27169;&#26495;&#20013;&#20351;&#29992;&#23427;&#22914;&#19979;&#65306;<\/p><pre><code>@uppercase('hello world')\n<\/code><\/pre><p>&#36825;&#20010;&#33258;&#23450;&#20041;&#25351;&#20196;&#20250;&#23558;&#20256;&#36882;&#32473;&#23427;&#30340;&#23383;&#31526;&#20018;&#36716;&#25442;&#20026;&#22823;&#20889;&#12290;&#36755;&#20986;&#23558;&#26159;&#65306;<\/p><pre><code>HELLO WORLD\n<\/code><\/pre><h2>&#21442;&#25968;&#21270;&#25351;&#20196;<\/h2><p>&#25105;&#20204;&#32463;&#24120;&#38656;&#35201;&#21521;&#25105;&#20204;&#30340;&#25351;&#20196;&#20256;&#36882;&#21442;&#25968;&#12290;&#35753;&#25105;&#20204;&#23450;&#20041;&#19968;&#20010;&#26684;&#24335;&#21270;&#32473;&#23450;&#26085;&#26399;&#30340;&#25351;&#20196;&#65306;<\/p><pre><code>Blade::directive('formatDate', function ($expression) {\n    return \"\";\n});\n<\/code><\/pre><p>&#20351;&#29992;&#27492;&#25351;&#20196;&#65292;&#35831;&#20256;&#36882;&#19968;&#20010;<code>Carbon<\/code>&#35831;&#25552;&#20379;&#26356;&#22810;&#30340;&#19978;&#19979;&#25991;&#20449;&#24687;&#65292;&#20197;&#20415;&#25105;&#33021;&#22815;&#26356;&#20934;&#30830;&#22320;&#29702;&#35299;&#24744;&#30340;&#38656;&#27714;&#24182;&#36827;&#34892;&#32763;&#35793;&#12290;<\/p><pre><code>@formatDate(now())\n<\/code><\/pre><p>&#24744;&#30340;&#21160;&#24577;&#36755;&#20986;&#26684;&#24335;&#22914;&#19979;&#65306;<\/p><pre><code>01\/23\/2023\n<\/code><\/pre><p>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><h2>&#39640;&#32423;&#29992;&#27861;<\/h2><p>&#35753;&#25105;&#20204;&#21046;&#23450;&#19968;&#20010;&#26356;&#22797;&#26434;&#30340;&#35268;&#33539;&#12290;&#20363;&#22914;&#65292;&#25105;&#20204;&#21487;&#33021;&#24076;&#26395;&#21019;&#24314;&#19968;&#20010;&#26816;&#26597;&#26435;&#38480;&#30340;&#35268;&#33539;&#12290;<\/p><pre><code>Blade::directive('permission', function ($expression) {\n    if(auth()-&gt;user()-&gt;hasPermission($expression)) {\n        return \"\";\n    } else {\n        return \"\";\n    }\n});\n<\/code><\/pre><p>&#35813;&#25351;&#20196;&#21487;&#20197;&#29992;&#20110;&#22312;Blade&#23618;&#20445;&#25252;&#32593;&#31449;&#30340;&#37096;&#20998;&#65306;<\/p><pre><code>@permission('edit_post')\n&lt;button&gt;Edit Post&lt;\/button&gt;\n@endpermission\n<\/code><\/pre><p>&#26410;&#32463;&#25480;&#26435;&#30340;&#35775;&#38382;&#20250;&#23548;&#33268;HTTP 403&#38169;&#35823;&#12290;<\/p><h2>&#20351;&#29992;&#26381;&#21153;&#25552;&#20379;&#21830;&#26469;&#32452;&#32455;&#25351;&#20196;<\/h2><p>&#22914;&#26524;&#20320;&#30340;&#24212;&#29992;&#31243;&#24207;&#20351;&#29992;&#20102;&#22810;&#20010;&#33258;&#23450;&#20041;&#30340;Blade&#25351;&#20196;&#65292;&#37027;&#20040;&#23558;&#23427;&#20204;&#32452;&#32455;&#22312;&#19968;&#20010;&#26381;&#21153;&#25552;&#20379;&#32773;&#65288;service provider&#65289;&#37324;&#26159;&#26377;&#24847;&#20041;&#30340;&#12290;&#20320;&#21487;&#20197;&#21019;&#24314;&#33258;&#24049;&#30340;&#26381;&#21153;&#25552;&#20379;&#32773;&#12290;<code>BladeServiceProvider<\/code>&#23450;&#20041;&#33258;&#23450;&#20041;&#25351;&#20196;&#22312;&#19968;&#20010;&#22320;&#26041;&#65306;<\/p><pre><code>php artisan make:provider BladeServiceProvider\n<\/code><\/pre><p>&#28982;&#21518;&#65292;&#22312;&#36825;&#37324;&#28155;&#21152;&#24744;&#30340;&#25351;&#20196;&#12290;<code>boot<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>public function boot()\n{\n    Blade::directive('upper', function ($expression) {\n        return \"\";\n    });\n\n    \/\/ Other directives...\n}\n<\/code><\/pre><p>&#35831;&#35760;&#24471;&#22312;&#26381;&#21153;&#25552;&#20379;&#21830;&#27880;&#20876;&#20449;&#24687;&#26639;&#22635;&#20889;&#30456;&#20851;&#20449;&#24687;&#12290;<code>config\/app.php<\/code>&ldquo;providers&rdquo;&#25968;&#32452;&#12290;<\/p><h2>&#32531;&#23384;&#38382;&#39064;&#21644;&#20854;&#23427;&#38382;&#39064;&#12290;<code>if<\/code>&#22768;&#26126;&#26041;&#27861;<\/h2><p>&#38656;&#35201;&#27880;&#24847;&#30340;&#26159;&#65292;&#30001;&#20110;Blade&#30340;&#32531;&#23384;&#26426;&#21046;&#65292;directive&#20013;&#30340;&#20195;&#30721;&#22312;&#35270;&#22270;&#32534;&#35793;&#26102;&#25165;&#34987;&#35780;&#20272;&#12290;&#36825;&#21487;&#33021;&#23548;&#33268;&#24403;&#24744;&#30340;&#25351;&#20196;&#30340;&#32467;&#26524;&#38656;&#35201;&#38543;&#30528;&#27599;&#27425;&#35831;&#27714;&#21464;&#21270;&#26102;&#20986;&#29616;&#38382;&#39064;&#12290;&#35299;&#20915;&#36825;&#20010;&#38382;&#39064;&#30340;&#26041;&#27861;&#26159;&#20351;&#29992;&#20197;&#19979;&#35299;&#20915;&#26041;&#26696;&#65306;<code>if<\/code>&#22768;&#26126;&#24335;&#26041;&#27861;&#26469;&#27880;&#20876;&#22312;&#27599;&#27425;&#35831;&#27714;&#19978;&#37117;&#20250;&#34987;&#35780;&#20272;&#30340;&#26465;&#20214;&#65306;<\/p><pre><code>Blade::if('env', function ($environment) {\n    return app()-&gt;environment($environment);\n});\n<\/code><\/pre><p>&#28982;&#21518;&#22312;&#20320;&#30340;&#20992;&#29255;&#25991;&#20214;&#37324;&#65306;<\/p><pre><code>@env('local')\n    \/\/ The application is in the local environment\n@endenv\n<\/code><\/pre><h2>&#32467;&#35770;&#12290;<\/h2><p>&#24635;&#20043;&#65292;&#23450;&#21046;&#30340; Blade &#25351;&#20196;&#26159;&#19968;&#31181;&#38750;&#24120;&#26377;&#25928;&#30340;&#24037;&#20855;&#65292;&#29992;&#20110;&#20445;&#25345; Blade &#25991;&#20214;&#25972;&#27905;&#24182;&#26131;&#20110;&#32500;&#25252;&#12290;&#27491;&#22914;&#25105;&#20204;&#25152;&#35265;&#65292;&#20174;&#22522;&#30784;&#24320;&#22987;&#65292;&#21040;&#26356;&#39640;&#32423;&#30340;&#25216;&#26415;&#65292;Laravel &#30340; Blade &#27169;&#26495;&#24341;&#25806;&#20026;&#24320;&#21457;&#20154;&#21592;&#25552;&#20379;&#20102;&#26497;&#22823;&#30340;&#28789;&#27963;&#24615;&#65292;&#20351;&#23427;&#38750;&#24120;&#36866;&#21512;&#21019;&#24314;&#21709;&#24212;&#24335;&#21644;&#20132;&#20114;&#24335;&#30340;&#29992;&#25143;&#30028;&#38754;&#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>&#35201;&#22312; Laravel &#20013;&#23450;&#20041;&#33258;&#23450;&#20041; Blade &#25351;&#20196;&#65292;&#39318;&#20808;&#30830;&#20445;&#24744;&#24050;&#23433;&#35013;&#20102; Laravel&#65292;&#24182;&#19988;&#24050;&#32463;&#21019;&#24314;&#20102;&#19968;&#20010;&#39033;&#30446;&#12290;&#25509;&#19979;&#26469;&#65292;&#35831;&#25353;&#29031;&#20197;&#19979;&#27493;&#39588;&#25805;&#20316;&#65306;<\/p>\n<h3>1. &#23433;&#35013; Blade &#25351;&#20196;<\/h3>\n<p>&#25171;&#24320;&#32456;&#31471;&#24182;&#36827;&#20837;&#24744;&#30340;&#39033;&#30446;&#30446;&#24405;&#12290;&#22914;&#26524;&#24744;&#36824;&#27809;&#26377;&#20351;&#29992; Composer &#21019;&#24314;&#39033;&#30446;&#65292;&#21487;&#20197;&#36816;&#34892; <code>composer create-project --prefer-dist laravel\/laravel your-project-name<\/code> &#26469;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340; Laravel &#39033;&#30446;&#12290;<\/p>\n<h3>2. &#22312; <code>app\/Console\/Commands\/MakeBladeCommand.php<\/code> &#25991;&#20214;&#20013;&#23450;&#20041; Blade &#25351;&#20196;<\/h3>\n<p>&#25171;&#24320;&#21517;&#20026; <code>MakeBladeCommand.php<\/code> &#30340;&#25991;&#20214;&#65288;&#20551;&#35774;&#25991;&#20214;&#21517;&#19981;&#26159; <code>MakeBladeCommand.php<\/code>&#65289;&#65292;&#28982;&#21518;&#23558;&#20197;&#19979;&#20195;&#30721;&#28155;&#21152;&#21040;&#35813;&#25991;&#20214;&#20013;&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppConsoleCommands;\n\nuse IlluminateConsoleCommand;\nuse IlluminateSupportFacadesView;\n\nclass MakeBladeCommand extends Command\n{\n    \/**\n     * The name and signature of the console command.\n     *\n     * @var string\n     *\/\n    protected $signature = 'blade:make {name}';\n\n    \/**\n     * The console command description.\n     *\n     * @var string\n     *\/\n    protected $description = 'Create a new Blade directive';\n\n    \/**\n     * Create a new command instance.\n     *\n     * @return void\n     *\/\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    \/**\n     * Execute the console command.\n     *\n     * @return mixed\n     *\/\n    public function handle()\n    {\n        \/\/ &#33719;&#21462;&#25351;&#20196;&#21517;&#31216;\n        $name = $this-&gt;argument('name');\n\n        \/\/ &#35774;&#32622;&#40664;&#35748;&#25351;&#20196;&#21442;&#25968;\n        $defaultParameters = [\n            'template' =&gt; 'blade.html',\n            'language' =&gt; 'en',\n            'namespace' =&gt; 'AppHttpControllers'\n        ];\n\n        \/\/ &#22522;&#20110;&#25552;&#20379;&#30340;&#25351;&#20196;&#21517;&#31216;&#65292;&#29983;&#25104;&#25351;&#20196;&#30340;&#21629;&#21517;&#31354;&#38388;&#21644;&#27169;&#26495;\n        $namespace = 'AppHttpControllers\\'.ucfirst($name);\n        $template = \"blade\\{$name}.html\";\n\n        \/\/ &#22914;&#26524;&#26377;&#39069;&#22806;&#30340;&#21442;&#25968;&#65292;&#21017;&#26681;&#25454;&#36825;&#20123;&#21442;&#25968;&#26469;&#35774;&#32622;&#25351;&#20196;&#30340;&#23646;&#24615;\n        if ($parameters = array_get($defaultParameters, $name)) {\n            $namespace .= '\\'.$parameters['namespace'];\n            $template = \"blade\\{$name}\\$parameters['template']\".\".html\";\n        }\n\n        \/\/ &#29983;&#25104;&#25351;&#20196;&#25991;&#20214;\n        $this-&gt;call('make:controller', [\n            'name' =&gt; $namespace,\n            '--template' =&gt; $template,\n            '--namespace' =&gt; $namespace\n        ]);\n\n        \/\/ &#36755;&#20986;&#25104;&#21151;&#28040;&#24687;\n        $this-&gt;info(\"&#25351;&#20196; '{$name}' &#24050;&#32463;&#34987;&#21019;&#24314;\");\n    }\n}<\/code><\/pre>\n<h3>3. &#36816;&#34892;&#26032;&#21019;&#24314;&#30340;&#25351;&#20196;<\/h3>\n<p>&#22312;&#32456;&#31471;&#20013;&#65292;&#23548;&#33322;&#21040;&#39033;&#30446;&#30446;&#24405;&#24182;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#36816;&#34892;&#26032;&#21019;&#24314;&#30340;&#25351;&#20196;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:command MakeBladeCommand<\/code><\/pre>\n<p>&#36825;&#23558;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340; <code>MakeBladeCommand<\/code> &#31867;&#65292;&#24182;&#22312; <code>app\/Console\/Commands<\/code> &#30446;&#24405;&#19979;&#29983;&#25104;&#30456;&#24212;&#30340;&#25991;&#20214;&#32467;&#26500;&#12290;&#25509;&#30528;&#65292;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#28608;&#27963;&#36825;&#20010;&#26032;&#30340; <code>MakeBladeCommand<\/code> &#31867;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan vendor:publish --provider=\"AppConsoleCommandsMakeBladeCommand\"<\/code><\/pre>\n<p>&#36825;&#19968;&#27493;&#39588;&#20250;&#33258;&#21160;&#20174; Composer &#21253;&#31649;&#29702;&#22120;&#19979;&#36733;&#25152;&#38656;&#30340;&#20381;&#36182;&#24211;&#65292;&#24182;&#26356;&#26032; <code>MakeBladeCommand<\/code> &#30340;&#21457;&#24067;&#33050;&#26412;&#12290;<\/p>\n<p>&#29616;&#22312;&#65292;&#24744;&#21487;&#20197;&#22312; Laravel &#24212;&#29992;&#31243;&#24207;&#20013;&#20351;&#29992;&#33258;&#23450;&#20041; Blade &#25351;&#20196;&#20102;&#12290;&#20363;&#22914;&#65292;&#35201;&#21019;&#24314;&#19968;&#20010;&#21517;&#20026; <code>myCustomDirective<\/code> &#30340;&#25351;&#20196;&#65292;&#24744;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:command MyCustomDirective<\/code><\/pre>\n<p>&#36825;&#23558;&#22312; <code>app\/Console\/Commands<\/code> &#19979;&#36733;&#24182;&#32534;&#35793;&#19968;&#20010;&#21517;&#20026; <code>MyCustomDirective<\/code> &#30340;&#26032;&#31867;&#12290;&#20043;&#21518;&#65292;&#24744;&#21487;&#20197;&#22312;&#24212;&#29992;&#31243;&#24207;&#20013;&#20351;&#29992; <code>{{ myCustomDirective }}<\/code> &#25351;&#20196;&#12290;<\/p>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#24744;&#24050;&#32463;&#25104;&#21151;&#22320;&#22312; Laravel &#20013;&#23450;&#20041;&#20102;&#19968;&#20010;&#33258;&#23450;&#20041; Blade &#25351;&#20196;&#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;&#23450;&#20041;&#33258;&#23450;&#20041;Blade&#25351;&#20196;&#21487;&#20197;&#35753;&#20320;&#22312;&#27169;..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-796","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\/796","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=796"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=796"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=796"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}