{"id":1066,"date":"2025-06-12T11:50:33","date_gmt":"2025-06-12T03:50:33","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/symfony\/1066.html"},"modified":"2025-06-12T11:50:33","modified_gmt":"2025-06-12T03:50:33","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8-symfony-%e4%b8%ad%e8%ae%be%e7%bd%ae%e8%87%aa%e5%ae%9a%e4%b9%89%e5%93%8d%e5%ba%94%e5%a4%b4-%e7%a4%ba%e4%be%8b%e9%99%84%e4%b8%8a","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/1066.html","title":{"rendered":"\u5982\u4f55\u5728 Symfony \u4e2d\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u54cd\u5e94\u5934 (\u793a\u4f8b\u9644\u4e0a)"},"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; Symfony &#20013;&#35774;&#32622;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#21487;&#20197;&#36890;&#36807;&#22810;&#31181;&#26041;&#24335;&#23454;&#29616;&#12290;&#20197;&#19979;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;&#31034;&#20363;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#20351;&#29992; <code>Response<\/code> &#23545;&#35937;&#26469;&#35774;&#32622;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#12290;<\/p>\n<h3>1. &#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25511;&#21046;&#22120;<\/h3>\n<p>&#39318;&#20808;&#65292;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25511;&#21046;&#22120;&#26469;&#22788;&#29702;&#35831;&#27714;&#24182;&#35774;&#32622;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#12290;<\/p>\n<pre><code class=\"language-php\">\/\/ src\/Controller\/CustomHeaderController.php\nnamespace AppController;\n\nuse SymfonyBundleFrameworkBundleControllerAbstractController;\nuse SymfonyComponentHttpFoundationResponse;\n\nclass CustomHeaderController extends AbstractController\n{\n    public function setCustomHeaders(): Response\n    {\n        \/\/ &#35774;&#32622;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;\n        $headers = [\n            'Content-Type' =&gt; 'application\/json',\n            'Cache-Control' =&gt; 'no-cache, no-store, must-revalidate',\n            'Pragma' =&gt; 'no-cache',\n            'Expires' =&gt; '0'\n        ];\n\n        \/\/ &#36820;&#22238;&#24102;&#26377;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#30340;&#21709;&#24212;\n        return new Response(json_encode(['message' =&gt; 'Hello, World!']), 200, $headers);\n    }\n}<\/code><\/pre>\n<h3>2. &#23450;&#20041;&#36335;&#30001;<\/h3>\n<p>&#25509;&#19979;&#26469;&#65292;&#20320;&#38656;&#35201;&#23450;&#20041;&#19968;&#20010;&#36335;&#30001;&#26469;&#35775;&#38382;&#36825;&#20010;&#25511;&#21046;&#22120;&#30340;&#26041;&#27861;&#12290;<\/p>\n<pre><code class=\"language-yaml\"># config\/routes.yaml\napp_custom_header:\n    path: \/custom-header\n    controller: AppControllerCustomHeaderController::setCustomHeaders<\/code><\/pre>\n<h3>3. &#27979;&#35797;&#25511;&#21046;&#22120;<\/h3>\n<p>&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#27983;&#35272;&#22120;&#25110;&#20854;&#20182; HTTP &#23458;&#25143;&#31471;&#35775;&#38382; <code>http:\/\/localhost:8000\/custom-header<\/code> &#26469;&#27979;&#35797;&#20320;&#30340;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#26159;&#21542;&#24050;&#32463;&#29983;&#25928;&#12290;<\/p>\n<h3>&#31034;&#20363;&#20195;&#30721;&#35299;&#37322;<\/h3>\n<ul>\n<li><strong>&#25511;&#21046;&#22120;&#26041;&#27861;<\/strong>&#65306;<code>setCustomHeaders<\/code> &#26041;&#27861;&#20351;&#29992; <code>new Response<\/code> &#26500;&#36896;&#20989;&#25968;&#26469;&#21019;&#24314;&#19968;&#20010;&#21709;&#24212;&#23545;&#35937;&#65292;&#24182;&#20256;&#36882;&#35201;&#36820;&#22238;&#30340;&#20869;&#23481;&#21644;&#29366;&#24577;&#30721;&#12290;<\/li>\n<li><strong>&#21709;&#24212;&#22836;<\/strong>&#65306;<code>$headers<\/code> &#25968;&#32452;&#21253;&#21547;&#20102;&#35201;&#35774;&#32622;&#30340;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#65292;&#22914; <code>Content-Type<\/code>&#12289;<code>Cache-Control<\/code> &#31561;&#12290;<\/li>\n<li><strong>&#36820;&#22238;&#21709;&#24212;<\/strong>&#65306;&#26368;&#21518;&#65292;&#20351;&#29992; <code>return<\/code> &#20851;&#38190;&#23383;&#36820;&#22238;&#21253;&#21547;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#30340;&#21709;&#24212;&#23545;&#35937;&#12290;<\/li>\n<\/ul>\n<p>&#36890;&#36807;&#36825;&#31181;&#26041;&#24335;&#65292;&#20320;&#21487;&#20197;&#22312; Symfony &#20013;&#36731;&#26494;&#22320;&#35774;&#32622;&#21508;&#31181;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#65292;&#20197;&#28385;&#36275;&#19981;&#21516;&#30340;&#38656;&#27714;&#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>&#20316;&#20026;&#19968;&#21517;Symfony&#24320;&#21457;&#20154;&#21592;&#65292;&#25511;&#21046;HTTP&#21709;&#24212;&#22836;&#21487;&#20197;&#35753;&#20320;&#23545;&#24212;&#29992;&#31243;&#24207;&#22312;&#23458;&#25143;&#31471;&#30340;&#34892;&#20026;&#20197;&#21450;&#19982;&#20854;&#20182;&#26381;&#21153;&#22914;&#20309;&#20132;&#20114;&#36827;&#34892;&#31934;&#32454;&#25511;&#21046;&#12290;&#22312;&#36825;&#31687;&#25991;&#31456;&#20013;&#65292;&#25105;&#20204;&#23558;&#28145;&#20837;&#25506;&#35752;&#20351;&#29992;Symfony&#26694;&#26550;&#35774;&#32622;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#30340;&#36807;&#31243;&#12290;<\/p><p>HTTP&#21709;&#24212;&#22836;&#37096;&#26159;&#19968;&#20010;&#19981;&#21487;&#25110;&#32570;&#30340;&#37096;&#20998;&#65292;&#23427;&#20204;&#29992;&#20110;&#20256;&#36798;&#35832;&#22914;&#32531;&#23384;&#31574;&#30053;&#12289;&#20869;&#23481;&#31867;&#22411;&#31561;&#20803;&#25968;&#25454;&#12290;Symfony&#65292;&#19968;&#20010;&#27969;&#34892;&#30340;PHP&#26694;&#26550;&#65292;&#25552;&#20379;&#20102;&#35774;&#32622;&#36825;&#20123;&#30340;&#31616;&#21333;&#19988;&#28789;&#27963;&#30340;&#26041;&#27861;&#12290;&#35753;&#25105;&#20204;&#36890;&#36807;&#19968;&#20123;&#31034;&#20363;&#26469;&#25506;&#35752;&#22914;&#20309;&#23454;&#29616;&#36825;&#19968;&#28857;&#12290;<\/p><h2>&#29702;&#35299;HTTP&#21709;&#24212;&#22836;<\/h2><p>HTTP&#21709;&#24212;&#22836;&#26159;&#26381;&#21153;&#22120;&#22312;&#23454;&#38469;&#20869;&#23481;&#20043;&#21069;&#21457;&#36865;&#30340;&#38190;&#20540;&#23545;&#65292;&#23427;&#20204;&#25511;&#21046;&#27983;&#35272;&#22120;&#21644;&#23458;&#25143;&#31471;&#22914;&#20309;&#31649;&#29702;&#20182;&#20204;&#25509;&#25910;&#21040;&#30340;&#25968;&#25454;&#12290;&#24120;&#35265;&#30340;&#22836;&#37096;&#21253;&#25324;&#65306;<code>Content-Type<\/code>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<code>Cache-Control<\/code>&#21644;&#20320;&#19968;&#26679;&#65292;&#25105;&#20063;&#26159;&#19968;&#20010;&#32763;&#35793;&#21592;&#12290;<code>Set-Cookie<\/code>&#33258;&#23450;&#20041;&#22836;&#21487;&#20197;&#29992;&#20110;&#23450;&#20041;&#35832;&#22914;CORS&#31574;&#30053;&#25110;&#33258;&#23450;&#20041;&#36523;&#20221;&#39564;&#35777;&#26041;&#26696;&#31561;&#20855;&#20307;&#20869;&#23481;&#12290;<\/p><h2>&#22312;Symfony&#20013;&#65292;&#22522;&#26412;&#30340;&#33258;&#23450;&#20041;&#22836;&#65288;Custom Headers&#65289;&#21151;&#33021;&#20801;&#35768;&#24320;&#21457;&#32773;&#28155;&#21152;&#33258;&#23450;&#20041;HTTP&#22836;&#37096;&#21040;&#21709;&#24212;&#20013;&#12290;&#36825;&#36890;&#24120;&#29992;&#20110;&#22788;&#29702;&#29305;&#23450;&#20110;&#24212;&#29992;&#25110;&#26381;&#21153;&#30340;&#19978;&#19979;&#25991;&#20449;&#24687;&#65292;&#20363;&#22914;&#35774;&#32622;&#35831;&#27714;&#30340;&#35748;&#35777;&#20196;&#29260;&#12289;&#36861;&#36394;&#26631;&#35782;&#31526;&#31561;&#12290;\n&#35201;&#21551;&#29992;&#33258;&#23450;&#20041;&#22836;&#65292;&#39318;&#20808;&#38656;&#35201;&#30830;&#20445;&#20351;&#29992;&#30340;&#26159;&#25903;&#25345;&#33258;&#23450;&#20041;&#22836;&#30340;&#29256;&#26412;&#30340;Symfony&#26694;&#26550;&#12290;&#28982;&#21518;&#65292;&#22312;&#25511;&#21046;&#22120;&#26041;&#27861;&#25110;&#26381;&#21153;&#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;@RequestAttributes&#25110;&#32773;@ResponseHeaders&#26469;&#27880;&#20837;&#30456;&#24212;&#30340;&#20381;&#36182;&#39033;&#12290;&#19979;&#38754;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;&#31034;&#20363;&#65306;\nuse SymfonyComponentHttpFoundationRequest;\nuse SymfonyComponentHttpFoundationResponse;\n\nclass MyController {\n public function myAction(Request $request, Response $response) {\n \/\/ &#35774;&#32622;&#33258;&#23450;&#20041;&#22836;\n $headers = [\n &#8216;X-Custom-Header&#8217; =&gt; &#8216;MyValue&#8217;,\n ];\n\n $response-&gt;headers-&gt;set($headers);\n\n return $response;\n }\n}\n&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#21019;&#24314;&#20102;&#19968;&#20010;&#21517;&#20026;myAction&#30340;&#26041;&#27861;&#65292;&#23427;&#25509;&#21463;&#19968;&#20010;Request&#23545;&#35937;&#21644;&#19968;&#20010;Response&#23545;&#35937;&#20316;&#20026;&#21442;&#25968;&#12290;&#28982;&#21518;&#65292;&#25105;&#20204;&#22312;&#21709;&#24212;&#22836;&#20013;&#28155;&#21152;&#20102;&#21517;&#20026;X-Custom-Header&#30340;&#33258;&#23450;&#20041;&#22836;&#65292;&#20854;&#20540;&#20026;MyValue&#12290;\n&#35831;&#27880;&#24847;&#65292;&#36825;&#20123;&#33258;&#23450;&#20041;&#22836;&#21482;&#20250;&#24433;&#21709;&#24403;&#21069;&#35831;&#27714;&#30340;&#21709;&#24212;&#65292;&#24182;&#19981;&#20250;&#24433;&#21709;&#21518;&#32493;&#30340;&#35831;&#27714;&#12290;&#22914;&#26524;&#20320;&#24076;&#26395;&#33258;&#23450;&#20041;&#22836;&#22312;&#25972;&#20010;&#24212;&#29992;&#31243;&#24207;&#20013;&#29983;&#25928;&#65292;&#21487;&#33021;&#38656;&#35201;&#32771;&#34385;&#20351;&#29992;&#26356;&#39640;&#32423;&#30340;&#37197;&#32622;&#36873;&#39033;&#65292;&#22914;config\/packages\/http_foundation.yaml&#20013;&#30340;http_headers&#37197;&#32622;&#12290;<\/h2><p>&#22312;Symfony&#20013;&#35774;&#32622;&#33258;&#23450;&#20041;&#22836;&#20449;&#24687;&#65292;&#21487;&#20197;&#20351;&#29992;Response&#23545;&#35937;&#12290;&#20197;&#19979;&#31034;&#20363;&#23637;&#31034;&#20102;&#22914;&#20309;&#35774;&#32622;&#19968;&#20010;&#31616;&#21333;&#30340;&#33258;&#23450;&#20041;&#22836;&#20449;&#24687;&#12290;<\/p><pre><code>&lt;?php\n\nnamespace AppController;\n\nuse SymfonyComponentHttpFoundationResponse;\n\nclass DefaultController\n{\n    public function index(): Response\n    {\n        $response = new Response();\n        $response-&gt;headers-&gt;set('X-Custom-Header', 'value');\n\n        return $response;\n    }\n}\n<\/code><\/pre><p>&#36825;&#20010;&#20195;&#30721;&#20250;&#36820;&#22238;&#24102;&#26377;&#33258;&#23450;&#20041;&#22836;&#37096;&#30340;&#21709;&#24212;&#12290;<code>X-Custom-Header<\/code>&#24050;&#32463;&#25910;&#21040;&#28040;&#24687;&#12290;<\/p><h2>&#22312;&#25511;&#21046;&#22120;&#26041;&#27861;&#20013;&#20351;&#29992;&#33258;&#23450;&#20041;&#22836;&#20449;&#24687;&#12290;<\/h2><p>Symfony&#25511;&#21046;&#22120;&#25552;&#20379;&#20102;&#19968;&#20010;&#21019;&#24314;&#21709;&#24212;&#30340;&#24555;&#25463;&#26041;&#27861;&#12290;&#36825;&#37324;&#26159;&#19968;&#20010;&#20351;&#29992;&#25511;&#21046;&#22120;&#22522;&#31867;&#26041;&#27861;&#35774;&#32622;&#33258;&#23450;&#20041;&#22836;&#20449;&#24687;&#30340;&#20363;&#23376;&#12290;<\/p><pre><code>&lt;?php\n\nnamespace AppController;\n\nuse SymfonyBundleFrameworkBundleControllerAbstractController;\n\nclass CustomHeaderController extends AbstractController\n{\n    public function customHeaderAction()\n    {\n        \/\/ ...\n        return $this-&gt;json([\n            'data' =&gt; 'Your data goes here',\n        ], 200, [\n            'X-Custom-Header' =&gt; 'Your custom value',\n        ]);\n\n        \/\/ Other logic...\n    }\n}\n<\/code><\/pre><p>&#36825;&#20801;&#35768;&#20320;&#22312;&#36820;&#22238;&#35821;&#21477;&#20013;&#30452;&#25509;&#35774;&#32622;&#22836;&#12290;<code>json()<\/code>&#26041;&#27861; method &#29992;&#20110;&#36820;&#22238;&#24102;&#26377;&#33258;&#23450;&#20041;&#22836;&#30340; JSON &#21709;&#24212;&#12290;<\/p><h2>&#20351;&#29992;&#20107;&#20214;&#35774;&#32622;&#22836;&#37096;<\/h2><p>Symfony&#30340;&#20107;&#20214;&#31995;&#32479;&#20063;&#21487;&#20197;&#35774;&#32622;&#22836;&#20449;&#24687;&#12290;&#22914;&#26524;&#38656;&#35201;&#22312;&#25152;&#26377;&#21709;&#24212;&#20013;&#20840;&#23616;&#35774;&#32622;&#22836;&#20449;&#24687;&#65292;&#36825;&#23588;&#20854;&#26377;&#29992;&#12290;&#19979;&#38754;&#26159;&#31034;&#20363;&#20013;&#30340;&#19968;&#20010;&#20107;&#20214;&#35746;&#38405;&#32773;&#65292;&#23427;&#35774;&#32622;&#20102;&#33258;&#23450;&#20041;&#22836;&#20449;&#24687;&#12290;<\/p><pre><code>&lt;?php\n\nnamespace AppEventSubscriber;\n\nuse SymfonyComponentEventDispatcherEventSubscriberInterface;\nuse SymfonyComponentHttpKernelEventResponseEvent;\n\nclass CustomHeaderSubscriber implements EventSubscriberInterface\n{\n    public static function getSubscribedEvents()\n    {\n        return [\n            ResponseEvent::class =&gt; 'onKernelResponse',\n        ];\n    }\n    public function onKernelResponse(ResponseEvent $event)\n    {\n        $response = $event-&gt;getResponse();\n        $response-&gt;headers-&gt;set('X-Custom-Header', 'Your custom value');\n    }\n}\n<\/code><\/pre><p>&#19981;&#35201;&#24536;&#35760;&#22312;&#27880;&#20876;&#35746;&#38405;&#32773;&#26102;&#23558;&#20854;&#20316;&#20026;&#26381;&#21153;&#36827;&#34892;&#37197;&#32622;&#65292;&#38500;&#38750;&#24744;&#27491;&#22312;&#20351;&#29992;Symfony&#30340;&#40664;&#35748;&#26381;&#21153;&#37197;&#32622;&#12290;<\/p><h2>&#35774;&#32622;&#23433;&#20840;&#22836;&#20449;&#24687;&#12290;<\/h2><p>&#23433;&#20840;&#22836;&#34900;&#21487;&#20197;&#38450;&#27490;&#24120;&#35265;&#30340;&#28431;&#27934;&#12290;Symfony &#25552;&#20379;&#20102;&#19968;&#20123;&#26500;&#24314;&#36825;&#20123;&#22836;&#34900;&#30340;&#31867;&#65292;&#36825;&#21487;&#20197;&#20351;&#24744;&#30340;&#24212;&#29992;&#31243;&#24207;&#26356;&#21152;&#23433;&#20840;&#12290;<\/p><pre><code>&lt;?php\n\nnamespace AppController;\n\nuse SymfonyComponentHttpFoundationResponse;\n\nclass SecurityController\n{\n    public function securityHeader(): Response\n    {\n        $response = new Response();\n        $response-&gt;headers-&gt;set('Content-Security-Policy', \"default-src 'self'\");\n\n        return $response;\n    }\n}\n<\/code><\/pre><p>&#36825;&#35774;&#23450;&#20102;&#19968;&#20010;<code>Content-Security-Policy<\/code>&#25351;&#31034;&#27983;&#35272;&#22120;&#20174;&#25552;&#20379;&#21709;&#24212;&#30340;&#26381;&#21153;&#22120;&#21152;&#36733;&#20869;&#23481;&#30340;&#22836;&#37096;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#26412;&#25351;&#21335;&#25552;&#20379;&#20102;&#22312;Symfony&#20013;&#35774;&#32622;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#30340;&#31034;&#20363;&#12290;&#36890;&#36807;&#29702;&#35299;&#24182;&#20351;&#29992;HTTP&#21709;&#24212;&#22836;&#65292;&#20320;&#21487;&#20197;&#24494;&#35843;&#24212;&#29992;&#31243;&#24207;&#19982;&#23458;&#25143;&#31471;&#30340;&#20132;&#20114;&#26041;&#24335;&#12290;&#26080;&#35770;&#26159;&#35774;&#23450;&#31574;&#30053;&#12289;&#25511;&#21046;&#32531;&#23384;&#36824;&#26159;&#35774;&#32622;&#23433;&#20840;&#25514;&#26045;&#65292;Symfony&#37117;&#20351;&#24471;&#36825;&#20123;&#22836;&#21487;&#20197;&#24688;&#24403;&#22320;&#36827;&#34892;&#35774;&#32622;&#12290;<\/p><h2>&#32487;&#32493;&#38405;&#35835;&#12290;<\/h2><p>&#28145;&#20837;&#30740;&#31350;Symfony&#22312;HTTP&#22522;&#30784;&#21151;&#33021;&#26041;&#38754;&#30340;&#33021;&#21147;&#65292;&#23448;&#26041;Symfony&#25991;&#26723;&#25552;&#20379;&#20102;&#22914;&#20309;&#22788;&#29702;&#35831;&#27714;&#21644;&#21709;&#24212;&#23545;&#35937;&#12289;&#31649;&#29702;&#20250;&#35805;&#20197;&#21450;&#20854;&#20182;&#30456;&#20851;&#35814;&#32454;&#20449;&#24687;&#12290;&#22987;&#32456;&#35760;&#24471;&#35201;&#20180;&#32454;&#27979;&#35797;&#22836;&#37096;&#35774;&#32622;&#65292;&#20197;&#30830;&#20445;&#22312;&#19981;&#21516;&#23458;&#25143;&#31471;&#21644;&#22330;&#26223;&#19979;&#20855;&#26377;&#39044;&#26399;&#30340;&#34892;&#20026;&#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;Symfony&#26694;&#26550;&#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;<code>Response<\/code>&#23545;&#35937;&#30340;&#26500;&#36896;&#20989;&#25968;&#26469;&#35774;&#32622;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#23454;&#29616;&#36825;&#20010;&#25805;&#20316;&#30340;&#19968;&#20010;&#20363;&#23376;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ &#21019;&#24314;&#19968;&#20010;&#26032;&#30340;Response&#23545;&#35937;\n$response = new Response();\n\n\/\/ &#35774;&#32622;&#21709;&#24212;&#22836;&#30340;&#21517;&#31216;&#21644;&#20540;\n$response-&gt;headers-&gt;set('Custom-Header', 'Value');\n\n\/\/ &#25171;&#21360;&#21709;&#24212;&#22836;&#37096;&#20449;&#24687;&#65292;&#26597;&#30475;&#33258;&#23450;&#20041;&#22836;&#26159;&#21542;&#27491;&#30830;&#35774;&#32622;\nprint_r($response-&gt;headers);<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#21019;&#24314;&#20102;&#19968;&#20010;&#26032;&#30340;<code>Response<\/code>&#23545;&#35937;&#65292;&#24182;&#20351;&#29992;<code>set()<\/code>&#26041;&#27861;&#35774;&#32622;&#20102;&#21517;&#20026;&#8217;Custom-Header&#8217;&#30340;&#21709;&#24212;&#22836;&#65292;&#24182;&#23558;&#20540;&#35774;&#20026;&#8217;Value&#8217;&#12290;<\/p>\n<p>&#35201;&#39564;&#35777;&#35774;&#32622;&#26159;&#21542;&#25104;&#21151;&#65292;&#35831;&#25171;&#21360;&#20986;&#21709;&#24212;&#22836;&#37096;&#30340;&#20449;&#24687;&#65292;&#20320;&#24212;&#35813;&#20250;&#30475;&#21040;<code>Custom-Header<\/code>&#21709;&#24212;&#22836;&#34987;&#27491;&#30830;&#22320;&#28155;&#21152;&#21040;&#21709;&#24212;&#20013;&#12290;<\/p>\n<p>&#27880;&#24847;&#65306;<code>set()<\/code>&#26041;&#27861;&#25509;&#21463;&#20004;&#20010;&#21442;&#25968;&#65292;&#31532;&#19968;&#20010;&#26159;&#21709;&#24212;&#22836;&#30340;&#21517;&#31216;&#65292;&#31532;&#20108;&#20010;&#26159;&#21709;&#24212;&#22836;&#30340;&#20540;&#12290;&#22914;&#26524;&#20320;&#19981;&#25552;&#20379;&#20540;&#65292;&#23427;&#23558;&#20250;&#40664;&#35748;&#20026;&#31354;&#23383;&#31526;&#20018;&#65288;&#21363;&#19981;&#35774;&#32622;&#20219;&#20309;&#21709;&#24212;&#22836;&#65289;&#12290;&#22914;&#26524;&#20320;&#24819;&#35201;&#35774;&#32622;&#22810;&#20010;&#21709;&#24212;&#22836;&#65292;&#21487;&#20197;&#20998;&#21035;&#35843;&#29992;<code>set()<\/code>&#26041;&#27861;&#12290;&#20363;&#22914;&#65306;<\/p>\n<pre><code class=\"language-php\">$response-&gt;headers-&gt;set('Content-Type', 'text\/html');\n$response-&gt;headers-&gt;set('Date', gmdate('D, d M Y H:i:s GMT'));<\/code><\/pre>\n<p>&#36825;&#23558;&#20998;&#21035;&#35774;&#32622;&#21709;&#24212;&#22836;<code>Content-Type<\/code>&#20026;&#8221;text\/html&#8221;&#65292;&#24182;&#23558;&#24403;&#21069;&#26085;&#26399;&#21644;&#26102;&#38388;&#20316;&#20026;&#21709;&#24212;&#22836;&#30340;<code>Date<\/code>&#23383;&#27573;&#12290;<\/p>\n<p>&#24076;&#26395;&#36825;&#23545;&#24744;&#26377;&#25152;&#24110;&#21161;&#65281;&#22914;&#26524;&#24744;&#26377;&#20219;&#20309;&#20854;&#20182;&#38382;&#39064;&#25110;&#38656;&#35201;&#36827;&#19968;&#27493;&#30340;&#24110;&#21161;&#65292;&#35831;&#38543;&#26102;&#25552;&#38382;&#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; Symfony &#20013;&#35774;&#32622;&#33258;&#23450;&#20041;&#21709;&#24212;&#22836;&#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":[45],"tuisongtax":[],"class_list":["post-1066","my1js","type-my1js","status-publish","hentry","my1js2nav-symfony"],"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\/1066","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=1066"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=1066"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=1066"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=1066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}