{"id":1058,"date":"2025-06-12T11:37:25","date_gmt":"2025-06-12T03:37:25","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/symfony\/1058.html"},"modified":"2025-06-12T11:37:25","modified_gmt":"2025-06-12T03:37:25","slug":"symfony%ef%bc%9a%e8%a7%a3%e6%9e%90%e4%bc%a0%e5%85%a5%e7%9a%84%e8%af%b7%e6%b1%82%e6%ad%a3%e6%96%87","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/1058.html","title":{"rendered":"Symfony\uff1a\u89e3\u6790\u4f20\u5165\u7684\u8bf7\u6c42\u6b63\u6587"},"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 &#26694;&#26550;&#20013;&#65292;&#22788;&#29702;&#20256;&#20837;&#30340;&#35831;&#27714;&#27491;&#25991;&#65288;&#36890;&#24120;&#29992;&#20110; POST &#35831;&#27714;&#65289;&#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>1. &#20351;&#29992; <code>Request<\/code> &#23545;&#35937;<\/h3>\n<p>Symfony &#25552;&#20379;&#20102; <code>Request<\/code> &#23545;&#35937;&#26469;&#35775;&#38382; HTTP &#35831;&#27714;&#20449;&#24687;&#12290;&#20320;&#21487;&#20197;&#36890;&#36807;&#20197;&#19979;&#27493;&#39588;&#33719;&#21462;&#35831;&#27714;&#27491;&#25991;&#65306;<\/p>\n<pre><code class=\"language-php\">use SymfonyComponentHttpFoundationRequest;\n\n\/\/ &#33719;&#21462;&#24403;&#21069;&#35831;&#27714;&#23545;&#35937;\n$request = Request::createFromGlobals();\n\n\/\/ &#33719;&#21462;&#35831;&#27714;&#27491;&#25991;\n$body = $request-&gt;getContent();<\/code><\/pre>\n<h3>2. &#20351;&#29992; <code>Form<\/code> &#21629;&#21517;&#22120;<\/h3>\n<p>&#22914;&#26524;&#20320;&#26377;&#19968;&#20010;&#34920;&#21333;&#25552;&#20132;&#65292;&#24182;&#19988;&#24076;&#26395;&#20174;&#34920;&#21333;&#25968;&#25454;&#20013;&#25552;&#21462;&#29305;&#23450;&#23383;&#27573;&#65292;&#21487;&#20197;&#20351;&#29992; <code>Form<\/code> &#21629;&#21517;&#22120;&#65306;<\/p>\n<pre><code class=\"language-php\">use SymfonyComponentFormFormFactoryInterface;\nuse SymfonyComponentHttpFoundationRequest;\nuse SymfonyComponentFormForm;\n\n\/\/ &#21019;&#24314; Form &#21629;&#21517;&#22120;\n$formFactory = $this-&gt;get('form.factory');\n\n\/\/ &#33719;&#21462;&#24403;&#21069;&#35831;&#27714;&#23545;&#35937;\n$request = Request::createFromGlobals();\n\n\/\/ &#21019;&#24314;&#34920;&#21333;&#23454;&#20363;\n$form = $formFactory-&gt;createBuilder()\n    -&gt;add('field_name', 'text')\n    -&gt;getForm();\n\n\/\/ &#35299;&#26512;&#35831;&#27714;&#20307;&#24182;&#22635;&#20805;&#34920;&#21333;\n$form-&gt;submit($request-&gt;request-&gt;all());\n\n\/\/ &#35775;&#38382;&#34920;&#21333;&#25968;&#25454;\n$data = $form-&gt;getData();<\/code><\/pre>\n<h3>3. &#20351;&#29992; <code>JsonEncoder<\/code><\/h3>\n<p>&#22914;&#26524;&#20320;&#38656;&#35201;&#23558; JSON &#25968;&#25454;&#35299;&#26512;&#20026; PHP &#23545;&#35937;&#65292;&#21487;&#20197;&#20351;&#29992; <code>JsonEncoder<\/code>&#65306;<\/p>\n<pre><code class=\"language-php\">use SymfonyComponentSerializerJsonEncoder;\nuse SymfonyComponentHttpFoundationRequest;\n\n\/\/ &#21019;&#24314; JsonEncoder &#23454;&#20363;\n$jsonEncoder = new JsonEncoder();\n\n\/\/ &#33719;&#21462;&#24403;&#21069;&#35831;&#27714;&#23545;&#35937;\n$request = Request::createFromGlobals();\n\n\/\/ &#33719;&#21462;&#35831;&#27714;&#27491;&#25991;\n$body = $request-&gt;getContent();\n\n\/\/ &#35299;&#26512; JSON &#25968;&#25454;\n$data = json_decode($body, true);<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20551;&#35774;&#20320;&#26377;&#19968;&#20010;&#31616;&#21333;&#30340;&#25511;&#21046;&#22120;&#65292;&#23427;&#25509;&#25910;&#19968;&#20010; POST &#35831;&#27714;&#24182;&#35299;&#26512;&#20854;&#27491;&#25991;&#65306;<\/p>\n<pre><code class=\"language-php\">use SymfonyBundleFrameworkBundleControllerAbstractController;\nuse SymfonyComponentHttpFoundationRequest;\nuse SymfonyComponentHttpFoundationResponse;\n\nclass ExampleController extends AbstractController\n{\n    public function handlePost(Request $request): Response\n    {\n        \/\/ &#33719;&#21462;&#35831;&#27714;&#27491;&#25991;\n        $body = $request-&gt;getContent();\n\n        \/\/ &#35299;&#26512; JSON &#25968;&#25454;\n        $data = json_decode($body, true);\n\n        \/\/ &#22788;&#29702;&#25968;&#25454;\n        $name = $data['name'];\n        $age = $data['age'];\n\n        return new Response(\"Received name: $name and age: $age\");\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#31034;&#20363;&#20013;&#65292;&#25105;&#20204;&#39318;&#20808;&#33719;&#21462;&#35831;&#27714;&#27491;&#25991;&#65292;&#28982;&#21518;&#20351;&#29992; <code>json_decode<\/code> &#20989;&#25968;&#23558;&#20854;&#35299;&#26512;&#20026; PHP &#25968;&#32452;&#12290;&#25509;&#30528;&#65292;&#25105;&#20204;&#21487;&#20197;&#23545;&#36825;&#20010;&#25968;&#32452;&#36827;&#34892;&#22788;&#29702;&#12290;<\/p>\n<p>&#36890;&#36807;&#36825;&#20123;&#26041;&#27861;&#65292;&#20320;&#21487;&#20197;&#22312; Symfony &#20013;&#26377;&#25928;&#22320;&#35299;&#26512;&#21644;&#22788;&#29702;&#20256;&#20837;&#30340;&#35831;&#27714;&#27491;&#25991;&#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>&#35831;&#27714;&#20307;&#65288;request body&#65289;&#22312;HTTP POST&#25110;PUT&#35831;&#27714;&#26399;&#38388;&#21253;&#21547;&#21457;&#24448;&#26381;&#21153;&#22120;&#30340;&#25968;&#25454;&#12290;&#36825;&#31181;&#25968;&#25454;&#21487;&#33021;&#20197;&#21508;&#31181;&#26684;&#24335;&#20986;&#29616;&#65292;&#22914;JSON&#12289;&#34920;&#21333;&#25968;&#25454;&#25110;XML&#12290;Symfony&#36890;&#36807;&#20854;&ldquo;Request&rdquo;&#23545;&#35937;&#21644;HTTPFoundation&#32452;&#20214;&#30340;&#24110;&#21161;&#26469;&#22788;&#29702;&#36825;&#20123;&#25968;&#25454;&#26080;&#32541;&#22320;&#36827;&#34892;&#12290;<\/p><p>&#35299;&#26512;&#20837;&#31449;&#35831;&#27714;&#20307;&#26159;&#24320;&#21457;API&#21644;Web&#24212;&#29992;&#31243;&#24207;&#30340;&#22522;&#26412;&#32452;&#25104;&#37096;&#20998;&#12290;Symfony&#65292;&#19968;&#20010;&#24378;&#22823;&#30340;PHP&#26694;&#26550;&#65292;&#22312;&#20854;&#20869;&#32622;&#32452;&#20214;&#30340;&#24110;&#21161;&#19979;&#31616;&#21270;&#20102;&#36825;&#19968;&#36807;&#31243;&#12290;&#22312;&#26412;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#28145;&#20837;&#25506;&#35752;&#22914;&#20309;&#20351;&#29992;Symfony&#35299;&#26512;&#19981;&#21516;&#31867;&#22411;&#30340;&#35831;&#27714;&#20307;&#12290;<\/p><h2>&#24320;&#22987;&#20351;&#29992;&#35831;&#27714;&#23545;&#35937;<\/h2><p>&#20026;&#20102;&#22312;Symfony&#20013;&#35299;&#26512;&#20837;&#31449;&#35831;&#27714;&#20307;&#65292;&#20320;&#38656;&#35201;&#39318;&#20808;&#29702;&#35299;Request&#23545;&#35937;&#12290;&#22312;&#25511;&#21046;&#22120;&#20013;&#65292;Symfony&#20250;&#33258;&#21160;&#20026;&#20320;&#27880;&#20837;&#36825;&#20010;&#23545;&#35937;&#26469;&#20351;&#29992;&#12290;&#36825;&#37324;&#26377;&#19968;&#20010;&#22522;&#26412;&#30340;&#20363;&#23376;&#65306;<\/p><pre><code>&lt;?php\n\nnamespace AppController;\n\nuse SymfonyComponentHttpFoundationRequest;\n\nclass MyController {\n    public function index(Request $request) {\n        \/\/ Use $request object\n    }\n}\n<\/code><\/pre><h3>&#35299;&#26512;JSON&#12290;<\/h3><p>JSON&#65288;JavaScript Object Notation&#65289;&#36890;&#24120;&#29992;&#20316;API&#30340;&#25968;&#25454;&#20132;&#25442;&#26684;&#24335;&#12290;&#35753;&#25105;&#20204;&#35299;&#26512;&#19968;&#20010;JSON&#35831;&#27714;&#65306;<\/p><pre><code>&lt;?php\n\n\/\/ ...\npublic function parseJsonAction(Request $request) {\n    $data = json_decode($request-&gt;getContent(), true);\n    if (json_last_error() !== JSON_ERROR_NONE) {\n        throw new InvalidArgumentException('Invalid JSON');\n    }\n    \/\/ use $data array\n}\n<\/code><\/pre><p>&#35299;&#30721;&#21518;&#65292;&#20320;&#21487;&#20197;&#36827;&#34892;&#24037;&#20316;&#12290;<code>$data<\/code>&#21253;&#21547;JSON&#36755;&#20837;&#30340;&#25968;&#32452;&#12290;<\/p><h2>&#35299;&#26512;&#34920;&#21333;&#25968;&#25454;<\/h2><p>&#22914;&#26524;&#24744;&#30340;&#23458;&#25143;&#21457;&#36865;&#34920;&#21333;&#25968;&#25454;&#65292;&#35299;&#26512;&#36215;&#26469;&#38750;&#24120;&#31616;&#21333;&#65306;<\/p><pre><code>&lt;?php\n\n\/\/ ...\npublic function parseFormDataAction(Request $request) {\n    $form_data = $request-&gt;request-&gt;all();\n    \/\/ use $form_data array\n}\n<\/code><\/pre><p>Symfony &#33258;&#21160;&#22635;&#20805;&#20102;&#30456;&#20851;&#20869;&#23481;&#12290;<code>$request-&gt;request<\/code>&#24102;&#26377;&#34920;&#21333;&#25968;&#25454;&#30340;&#38598;&#21512;&#12290;<\/p><h2>&#39640;&#32423;&#35831;&#27714;&#35299;&#26512;<\/h2><p>&#23545;&#20110;&#26356;&#22797;&#26434;&#30340;&#22330;&#26223;&#65292;Symfony &#25552;&#20379;&#20102;&#39069;&#22806;&#30340;&#24037;&#20855;&#12290;&#20363;&#22914;&#65292;&#35753;&#25105;&#20204;&#39564;&#35777;&#21644;&#21453;&#24207;&#21015;&#21270; JSON &#20026;&#23545;&#35937;&#65306;<\/p><pre><code>&lt;?php\n\n\/\/ ...\nuse SymfonyComponentSerializerSerializerInterface;\nuse SymfonyComponentValidatorValidatorValidatorInterface;\n\n\/\/ ...\npublic function advancedParseAction(Request $request, SerializerInterface $serializer, ValidatorInterface $validator) {\n    $json = $request-&gt;getContent();\n    $object = $serializer-&gt;deserialize($json, MyObject::class, 'json');\n\n    $errors = $validator-&gt;validate($object);\n    if (count($errors) &gt; 0) {\n        \/\/ Handle errors\n    }\n\n    \/\/ use $object\n}\n<\/code><\/pre><p>&#22312;&#36825;&#31181;&#24773;&#20917;&#19979;&#65292;&#24744;&#21487;&#20197;&#30452;&#25509;&#20174;JSON&#35299;&#30721;&#21040;PHP&#23545;&#35937;&#65292;&#24182;&#20351;&#29992;Symfony&#30340;Validator&#32452;&#20214;&#36827;&#34892;&#39564;&#35777;&#12290;<\/p><h2>&#25991;&#20214;&#19978;&#20256;<\/h2><p>&#26377;&#26102;&#65292;&#35831;&#27714;&#20307;&#65288;request body&#65289;&#21253;&#21547;&#25991;&#20214;&#19978;&#20256;&#12290;Symfony&#20351;&#24471;&#36825;&#19968;&#28857;&#38750;&#24120;&#31616;&#21333;&#65306;<\/p><pre><code>&lt;?php\n\n\/\/ ...\npublic function uploadAction(Request $request) {\n    $file = $request-&gt;files-&gt;get('myfile');\n    if ($file) {\n        $file-&gt;move('\/path\/to\/directory', $file-&gt;getClientOriginalName());\n    }\n\n    \/\/ Proceed with the rest of your logic\n}\n<\/code><\/pre><p>&#36825;&#27573;&#20195;&#30721;&#29255;&#27573;&#28436;&#31034;&#20102;&#22914;&#20309;&#35775;&#38382;&#24182;&#31227;&#21160;&#19978;&#20256;&#30340;&#25991;&#20214;&#12290;<\/p><h2>&#23433;&#20840;&#32771;&#34385;<\/h2><p>&#22312;&#35299;&#26512;&#35831;&#27714;&#20307;&#26102;&#65292;&#22987;&#32456;&#23545;&#25968;&#25454;&#36827;&#34892;&#28165;&#27927;&#21644;&#39564;&#35777;&#33267;&#20851;&#37325;&#35201;&#65292;&#20197;&#38450;&#27490;&#22914;SQL&#27880;&#20837;&#25110;&#36328;&#31449;&#33050;&#26412;&#65288;XSS&#65289;&#31561;&#23433;&#20840;&#28431;&#27934;&#12290;<\/p><h2>&#25216;&#24039;&#65306;&#24615;&#33021;<\/h2><p>&#32771;&#34385;&#24744;&#35299;&#26512;&#30340;&#25968;&#25454;&#22823;&#23567;&#21644;&#22797;&#26434;&#24615;&#12290;&#23545;&#20110;&#38750;&#24120;&#22823;&#30340;JSON&#23545;&#35937;&#65292;&#21487;&#33021;&#38656;&#35201;&#20998;&#22359;&#22788;&#29702;&#25110;&#24322;&#27493;&#22788;&#29702;&#20197;&#36991;&#20813;&#38459;&#22622;&#20027;&#32447;&#31243;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#29702;&#35299;&#22914;&#20309;&#35299;&#26512;&#21508;&#31181;&#31867;&#22411;&#30340;&#35831;&#27714;&#20307;&#22312;Symfony&#24320;&#21457;&#20013;&#33267;&#20851;&#37325;&#35201;&#12290;&#36890;&#36807;&#21033;&#29992;Symfony&#30340;Request&#23545;&#35937;&#21450;&#20854;&#20851;&#32852;&#32452;&#20214;&#65292;&#20320;&#21487;&#20197;&#39640;&#25928;&#22320;&#22788;&#29702;JSON&#12289;&#34920;&#21333;&#25968;&#25454;&#21644;&#25991;&#20214;&#19978;&#20256;&#12290;&#22987;&#32456;&#35760;&#24471;&#23545;&#25968;&#25454;&#36827;&#34892; sanitization &#21644; validation&#65292;&#20197;&#30830;&#20445;&#23433;&#20840;&#24615;&#21644;&#24615;&#33021;&#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;&#20351;&#29992;Symfony&#26694;&#26550;&#26102;&#65292;&#22788;&#29702;HTTP&#35831;&#27714;&#26159;&#33267;&#20851;&#37325;&#35201;&#30340;&#19968;&#27493;&#12290;&#36890;&#36807;&#20998;&#26512;&#35831;&#27714;&#27491;&#25991;&#65288;&#21363;&#29992;&#25143;&#25552;&#20132;&#30340;&#20869;&#23481;&#65289;&#65292;&#25105;&#20204;&#21487;&#20197;&#26356;&#22909;&#22320;&#29702;&#35299;&#29992;&#25143;&#30340;&#24847;&#22270;&#21644;&#38656;&#27714;&#12290;<\/p>\n<h3>Symfony&#20013;&#30340;request&#23545;&#35937;<\/h3>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;<code>Request<\/code>&#23545;&#35937;&#26469;&#25509;&#25910;&#24182;&#20998;&#26512;&#35831;&#27714;&#20449;&#24687;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#21019;&#24314;&#19968;&#20010;<code>Request<\/code>&#23454;&#20363;&#65306;<\/p>\n<pre><code class=\"language-php\">use SymfonyComponentHttpFoundationRequest;\n$request = Request::createFromGlobals();<\/code><\/pre>\n<h3>&#20998;&#26512;&#35831;&#27714;&#27491;&#25991;<\/h3>\n<p>&#35201;&#35299;&#26512;&#35831;&#27714;&#27491;&#25991;&#65292;&#20320;&#21487;&#20197;&#21033;&#29992;<code>Request<\/code>&#31867;&#25552;&#20379;&#30340;&#26041;&#27861;&#12290;&#20363;&#22914;&#65292;&#33719;&#21462;GET&#21442;&#25968;&#12289;POST&#25968;&#25454;&#31561;&#65306;<\/p>\n<ol>\n<li>\n<p>&#33719;&#21462;GET&#21442;&#25968;&#65306;<\/p>\n<pre><code class=\"language-php\">$getParameters = $request-&gt;get('param_name');<\/code><\/pre>\n<\/li>\n<li>\n<p>&#33719;&#21462;POST&#25968;&#25454;&#65306;<\/p>\n<pre><code class=\"language-php\">$postParameters = $request-&gt;request-&gt;all();<\/code><\/pre>\n<\/li>\n<li>\n<p>&#25552;&#21462;URL&#36335;&#24452;&#65306;<\/p>\n<pre><code class=\"language-php\">$url = $request-&gt;getPathInfo();<\/code><\/pre>\n<\/li>\n<li>\n<p>&#35835;&#21462;&#25991;&#20214;&#65306;<\/p>\n<pre><code class=\"language-php\">$fileContents = file_get_contents($request-&gt;getUri());<\/code><\/pre>\n<\/li>\n<li>\n<p>&#35299;&#26512;JSON&#25968;&#25454;&#65306;<\/p>\n<pre><code class=\"language-php\">$jsonContent = json_decode($request-&gt;getContent(), true);<\/code><\/pre>\n<\/li>\n<li>\n<p>&#35775;&#38382;cookie&#65306;<\/p>\n<pre><code class=\"language-php\">$cookies = $request-&gt;cookies;<\/code><\/pre>\n<\/li>\n<li>\n<p>&#33719;&#21462;IP&#22320;&#22336;&#65306;<\/p>\n<pre><code class=\"language-php\">$remoteAddr = $_SERVER['REMOTE_ADDR'];<\/code><\/pre>\n<\/li>\n<li>\n<p>&#33719;&#21462;&#29992;&#25143;&#20195;&#29702;&#65288;User-Agent&#65289;&#65306;<\/p>\n<pre><code class=\"language-php\">$userAgent = $_SERVER['HTTP_USER_AGENT'];<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>&#32467;&#35770;<\/h3>\n<p>&#36890;&#36807;&#19978;&#36848;&#27493;&#39588;&#65292;&#20320;&#21487;&#20197;&#20174;HTTP&#35831;&#27714;&#20013;&#25552;&#21462;&#20986;&#22823;&#37327;&#26377;&#29992;&#30340;&#20449;&#24687;&#65292;&#24182;&#23558;&#20854;&#29992;&#20110;&#36827;&#19968;&#27493;&#30340;&#19994;&#21153;&#36923;&#36753;&#22788;&#29702;&#12290;&#35760;&#20303;&#65292;&#23454;&#38469;&#24212;&#29992;&#20013;&#21487;&#33021;&#38656;&#35201;&#26681;&#25454;&#20855;&#20307;&#30340;&#38656;&#27714;&#23545;&#36825;&#20123;&#21151;&#33021;&#36827;&#34892;&#23450;&#21046;&#21270;&#22788;&#29702;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#38656;&#35201;&#39564;&#35777;&#36755;&#20837;&#30340;&#26684;&#24335;&#25110;&#26377;&#25928;&#24615;&#65292;&#21487;&#20197;&#20351;&#29992;<code>Validator<\/code>&#31867;&#65307;&#22914;&#26524;&#38656;&#35201;&#25191;&#34892;&#25968;&#25454;&#24211;&#25805;&#20316;&#65292;&#21487;&#20197;&#20351;&#29992;ORM&#65288;Object-Relational Mapping&#65289;&#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 &#26694;&#26550;&#20013;&#65292;&#22788;&#29702;&#20256;&#20837;&#30340;&#35831;&#27714;&#27491;&#25991;&#65288;&#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-1058","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\/1058","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=1058"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=1058"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=1058"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=1058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}