{"id":1054,"date":"2025-06-12T11:33:42","date_gmt":"2025-06-12T03:33:42","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/symfony\/1054.html"},"modified":"2025-06-12T11:33:42","modified_gmt":"2025-06-12T03:33:42","slug":"%e5%9c%a8symfony%e4%b8%ad%e7%94%9f%e6%88%90url%ef%bc%9a%e5%ae%9e%e7%94%a8%e6%8c%87%e5%8d%97","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/1054.html","title":{"rendered":"\u5728Symfony\u4e2d\u751f\u6210URL\uff1a\u5b9e\u7528\u6307\u5357"},"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;&#29983;&#25104;URL&#36890;&#24120;&#28041;&#21450;&#20351;&#29992;<code>UrlGeneratorInterface<\/code>&#25509;&#21475;&#12290;&#36825;&#20010;&#25509;&#21475;&#25552;&#20379;&#20102;&#22810;&#31181;&#26041;&#27861;&#26469;&#29983;&#25104;URL&#65292;&#21253;&#25324;&#30456;&#23545;URL&#21644;&#32477;&#23545;URL&#12290;<\/p>\n<h3>1. &#30456;&#23545;URL<\/h3>\n<p>&#30456;&#23545;URL&#26159;&#30456;&#23545;&#20110;&#24403;&#21069;&#35831;&#27714;&#30340;URL&#12290;&#20320;&#21487;&#20197;&#20351;&#29992;<code>generate()<\/code>&#26041;&#27861;&#26469;&#29983;&#25104;&#36825;&#20123;URL&#12290;<\/p>\n<pre><code class=\"language-php\">use SymfonyComponentRoutingRouter;\n\n\/\/ &#20551;&#35774;&#20320;&#24050;&#32463;&#26377;&#19968;&#20010;Router&#23454;&#20363;\n$router = new Router();\n\n\/\/ &#29983;&#25104;&#30456;&#23545;URL\n$url = $router-&gt;generate('home', [], Router::ABSOLUTE_PATH);\n\necho $url; \/\/ &#36755;&#20986;: \/home<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;<code>'home'<\/code>&#26159;&#36335;&#30001;&#21517;&#31216;&#65292;&#31354;&#25968;&#32452;&#34920;&#31034;&#27809;&#26377;&#21442;&#25968;&#65292;<code>Router::ABSOLUTE_PATH<\/code>&#34920;&#31034;&#29983;&#25104;&#32477;&#23545;&#36335;&#24452;&#12290;<\/p>\n<h3>2. &#32477;&#23545;URL<\/h3>\n<p>&#32477;&#23545;URL&#26159;&#30456;&#23545;&#20110;&#26381;&#21153;&#22120;&#26681;&#30446;&#24405;&#30340;URL&#12290;&#20320;&#21487;&#20197;&#20351;&#29992;<code>generate()<\/code>&#26041;&#27861;&#24182;&#20256;&#36882;<code>Router::ABSOLUTE_URL<\/code>&#21442;&#25968;&#12290;<\/p>\n<pre><code class=\"language-php\">use SymfonyComponentRoutingRouter;\n\n\/\/ &#20551;&#35774;&#20320;&#24050;&#32463;&#26377;&#19968;&#20010;Router&#23454;&#20363;\n$router = new Router();\n\n\/\/ &#29983;&#25104;&#32477;&#23545;URL\n$url = $router-&gt;generate('home', [], Router::ABSOLUTE_URL);\n\necho $url; \/\/ &#36755;&#20986;: http:\/\/example.com\/home<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#23436;&#25972;&#30340;&#31034;&#20363;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312;Symfony&#25511;&#21046;&#22120;&#20013;&#20351;&#29992;<code>UrlGeneratorInterface<\/code>&#26469;&#29983;&#25104;URL&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppController;\n\nuse SymfonyBundleFrameworkBundleControllerAbstractController;\nuse SymfonyComponentHttpFoundationResponse;\nuse SymfonyComponentRoutingAnnotationRoute;\nuse SymfonyComponentRoutingRouter;\n\nclass HomeController extends AbstractController\n{\n    \/**\n     * @Route(\"\/\", name=\"home\")\n     *\/\n    public function index(Router $router): Response\n    {\n        \/\/ &#29983;&#25104;&#30456;&#23545;URL\n        $relativeUrl = $router-&gt;generate('about', [], Router::ABSOLUTE_PATH);\n        echo \"Relative URL: \" . $relativeUrl . \"&lt;br&gt;\";\n\n        \/\/ &#29983;&#25104;&#32477;&#23545;URL\n        $absoluteUrl = $router-&gt;generate('about', [], Router::ABSOLUTE_URL);\n        echo \"Absolute URL: \" . $absoluteUrl;\n\n        return new Response();\n    }\n}<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#31034;&#20363;&#20013;&#65292;&#25105;&#20204;&#23450;&#20041;&#20102;&#19968;&#20010;&#21517;&#20026;<code>index<\/code>&#30340;&#25511;&#21046;&#22120;&#26041;&#27861;&#65292;&#24182;&#22312;&#20854;&#20013;&#20351;&#29992;&#20102;<code>Router<\/code>&#23454;&#20363;&#26469;&#29983;&#25104;&#30456;&#23545;&#21644;&#32477;&#23545;URL&#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>&#22312;Symfony&#24212;&#29992;&#31243;&#24207;&#20013;&#29983;&#25104;URL&#26159;&#19968;&#39033;&#26680;&#24515;&#20219;&#21153;&#65292;&#30830;&#20445;&#20102;&#27969;&#30021;&#19988;&#21160;&#24577;&#30340;&#29992;&#25143;&#20307;&#39564;&#12290;Symfony&#26159;&#19968;&#27454;&#21151;&#33021;&#24378;&#22823;&#30340;PHP&#26694;&#26550;&#65292;&#25552;&#20379;&#20102;&#22810;&#31181;&#26041;&#27861;&#26469;&#21019;&#24314;&#21644;&#31649;&#29702;URL&#31243;&#24207;&#21270;&#65292;&#20351;&#24471;&#24320;&#21457;&#20154;&#21592;&#21487;&#20197;&#36731;&#26494;&#22320;&#26500;&#24314;&#24212;&#29992;&#31243;&#24207;&#65292;&#22312;&#26102;&#38388;&#36724;&#19978;&#36866;&#24212;&#36335;&#30001;&#21464;&#21270;&#12290;&#22312;&#36825;&#31687;&#25945;&#31243;&#20013;&#65292;&#25105;&#20204;&#23558;&#28085;&#30422;URL&#29983;&#25104;&#30340;&#22522;&#26412;&#27010;&#24565;&#21644;&#39640;&#32423;&#27010;&#24565;&#65292;&#20197;&#21450;&#23454;&#38469;&#20363;&#23376;&#12290;<\/p><h2>&#24320;&#22987;&#20351;&#29992;<\/h2><p>&#39318;&#20808;&#65292;&#30830;&#20445;&#22312;&#24212;&#29992;&#20013;&#27491;&#30830;&#35774;&#32622;&#20102;Symfony&#30340;&#36335;&#30001;&#32452;&#20214;&#12290;&#28982;&#21518;&#65292;&#25105;&#20204;&#23558;&#20174;&#26368;&#31616;&#21333;&#30340;&#29983;&#25104;URL&#30340;&#26041;&#24335;&#24320;&#22987;&#65306;<\/p><pre><code>\nuse SymfonyComponentRoutingGeneratorUrlGeneratorInterface;\n\nclass SomeController\n{\n    public function someAction(UrlGeneratorInterface $urlGenerator)\n    {\n        $url = $urlGenerator-&gt;generate('route_name');\n        \/\/...\n    }\n}\n<\/code><\/pre><p>&#36825;&#23558;&#29983;&#25104;&#21517;&#20026;&ldquo;route_name&rdquo;&#30340;&#36335;&#32447;&#30340;URL&#12290;&#29616;&#22312;&#65292;&#35753;&#25105;&#20204;&#20102;&#35299;&#22914;&#20309;&#22312;&#25105;&#20204;&#30340;URL&#20013;&#28155;&#21152;&#21160;&#24577;&#21442;&#25968;&#12290;<\/p><h2>&#29983;&#25104;&#24102;&#26377;&#21442;&#25968;&#30340;URL<\/h2><p>&#22823;&#22810;&#25968;&#36335;&#30001;&#37117;&#20250;&#21253;&#21547;&#21442;&#25968;&#65288;&#20363;&#22914;&#65292;ID&#65289;&#65292;&#38656;&#35201;&#22312;&#29983;&#25104;URL&#26102;&#36827;&#34892;&#26367;&#25442;&#12290;&#20197;&#19979;&#26159;&#25105;&#20204;&#30340;&#20570;&#27861;&#65306;<\/p><pre><code>\n$url = $urlGenerator-&gt;generate('route_name', ['id' =&gt; 10]);\n<\/code><\/pre><p>&#29983;&#25104;&#30340;URL&#23558;&#29992;&#23454;&#38469;&#25552;&#20379;&#30340;&#20540;&#26367;&#25442;&#21442;&#25968;&#21344;&#20301;&#31526;&#12290;<\/p><h2>&#32477;&#23545;URL&#19982;&#30456;&#23545;URL&#30340;&#21306;&#21035;&#26159;&#20160;&#20040;&#65311;<\/h2><p>Symfony&#21487;&#20197;&#29983;&#25104;&#32477;&#23545;&#21644;&#30456;&#23545;URL&#12290;&#40664;&#35748;&#24773;&#20917;&#19979;&#65292;&#35813;&#26041;&#27861;&#29983;&#25104;&#30456;&#23545;URL&#65306;<\/p><pre><code>\n\/\/ Generates a relative URL\n$url = $urlGenerator-&gt;generate('route_name', ['id' =&gt; 10], UrlGeneratorInterface::ABSOLUTE_URL);\n<\/code><\/pre><p>&#22914;&#26524;&#20320;&#38656;&#35201;&#32477;&#23545;&#30340;URL&#65306;<\/p><pre><code>\n\/\/ Generates an absolute URL\n$url = $urlGenerator-&gt;generate('route_name', ['id' =&gt; 10], UrlGeneratorInterface::ABSOLUTE_PATH);\n<\/code><\/pre><h2>&#23450;&#21046;&#36335;&#32447;&#29983;&#25104;&#36923;&#36753;<\/h2><p>&#22312;&#29983;&#25104;URL&#26102;&#65292;&#21487;&#33021;&#38656;&#35201;&#34701;&#20837;&#19968;&#20123;&#33258;&#23450;&#20041;&#36923;&#36753;&#65306;<\/p><pre><code>\npublic function redirectToCustomRoute(Request $request)\n{\n    \/\/ Custom logic based on the request\n    if (...) {\n        $parameters = ['id' =&gt; $customId];\n    } else {\n        $parameters = ['defaultParam' =&gt; $defaultValue];\n    }\n    \n    return new RedirectResponse(\n        $this-&gt;generateUrl('custom_route', $parameters)\n    );\n}\n<\/code><\/pre><p>&#25105;&#20204;&#29616;&#22312;&#22312;&#29983;&#25104;URL&#20043;&#21069;&#20808;&#35774;&#23450;&#21442;&#25968;&#12290;<\/p><h2>&#29983;&#25104;&#22806;&#37096;&#32593;&#31449;&#30340;URL<\/h2><p>Symfony&#19981;&#20165;&#20801;&#35768;&#24744;&#20026;&#24744;&#30340;&#36335;&#30001;&#29983;&#25104;URL&#65292;&#36824;&#21487;&#20197;&#20026;&#22806;&#37096;&#38142;&#25509;&#29983;&#25104;URL&#65306;<\/p><pre><code>\nprivate function generateExternalUrl(UrlGeneratorInterface $urlGenerator)\n{\n    $externalUrl = $urlGenerator-&gt;generate('http:\/\/example.com', [], UrlGeneratorInterface::NETWORK_PATH);\n    \/\/...\n}\n<\/code><\/pre><p>&#36825;&#22312;&#20320;&#38656;&#35201;&#37325;&#23450;&#21521;&#29992;&#25143;&#21040;&#22806;&#37096;&#31449;&#28857;&#25110;&#22312;&#24212;&#29992;&#31243;&#24207;&#20869;&#24341;&#29992;&#22806;&#37096;&#38142;&#25509;&#26102;&#38750;&#24120;&#26377;&#29992;&#12290;<\/p><h2>&#39640;&#32423;&#29992;&#27861;&#65306;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#22120;<\/h2><p>&#22312;Symfony&#20013;&#21019;&#24314;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#22120;&#21487;&#20197;&#20316;&#20026;&#22788;&#29702;&#22797;&#26434;&#36335;&#30001;&#22330;&#26223;&#30340;&#24378;&#22823;&#24037;&#20855;&#65292;&#20363;&#22914;&#22810;&#31199;&#25143;&#26550;&#26500;&#25110;&#21160;&#24577;&#29983;&#25104;&#30340;&#36335;&#30001;&#12290;&#35201;&#23454;&#29616;&#36825;&#19968;&#28857;&#65292;&#24744;&#38656;&#35201;&#25193;&#23637;Symfony&#29616;&#26377;&#30340;URL&#29983;&#25104;&#22120;&#12290;<code>UrlGenerator<\/code>&#24744;&#22909;&#65292;&#35831;&#38382;&#26377;&#20160;&#20040;&#25105;&#21487;&#20197;&#24110;&#21161;&#24744;&#30340;&#21527;&#65311;<\/p><p>&#20197;&#19979;&#26159;&#24744;&#22914;&#20309;&#22312;Symfony&#20013;&#21019;&#24314;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#26381;&#21153;&#30340;&#19968;&#20010;&#31034;&#20363;&#65306;<\/p><h3>&#21019;&#24314;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#22120;&#31867;<\/h3><p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#21019;&#24314;&#19968;&#20010;&#32487;&#25215;&#33258;&#35813;&#31867;&#30340;&#26032;&#31867;&#12290;<code>SymfonyComponentRoutingGeneratorUrlGenerator<\/code>&#22909;&#30340;&#65292;&#35831;&#21457;&#36865;&#20320;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>\/\/ src\/Service\/CustomUrlGenerator.php\r\n\r\nnamespace AppService;\r\n\r\nuse SymfonyComponentRoutingGeneratorUrlGenerator as BaseUrlGenerator;\r\nuse SymfonyComponentRoutingRequestContext;\r\nuse SymfonyComponentRoutingRouteCollection;\r\n\r\nclass CustomUrlGenerator extends BaseUrlGenerator\r\n{\r\n    public function __construct(RouteCollection $routes, RequestContext $context)\r\n    {\r\n        parent::__construct($routes, $context);\r\n    }\r\n\r\n    public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH)\r\n    {\r\n        \/\/ Implement your custom logic here\r\n\r\n        return parent::generate($name, $parameters, $referenceType);\r\n    }\r\n}\r\n<\/code><\/pre><p>&#22312;&#36825;&#19968;&#33410;&#35838;&#19978;&#65292;&#20320;&#20204;&#20250;&#35206;&#30422;&#30340;&#20869;&#23481;&#12290;<code>generate<\/code>&#26041;&#27861;&#20043;&#19968;&#65292;&#21487;&#20197;&#22312;URL&#29983;&#25104;&#26102;&#23454;&#29616;&#33258;&#23450;&#20041;&#36923;&#36753;&#12290;<\/p><h3>&#27880;&#20876;&#24744;&#30340;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#26381;&#21153;<\/h3><p>&#25509;&#19979;&#26469;&#65292;&#20320;&#38656;&#35201;&#22312;&#36825;&#20010;&#26032;&#31867;&#19978;&#27880;&#20876;&#20026;&#26381;&#21153;&#12290;<code>services.yaml<\/code>: &#22909;&#30340;&#65292;&#35831;&#21457;&#36865;&#20320;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p><pre><code>services:\r\n    AppServiceCustomUrlGenerator:\r\n        arguments:\r\n            $routes: '@router.default.route_collection'\r\n            $context: '@router.request_context'\r\n<\/code><\/pre><p>&#36825;&#20010;&#26381;&#21153;&#23450;&#20041;&#20250;&#23558;&#36335;&#30001;&#38598;&#21512;&#21644;&#35831;&#27714;&#19978;&#19979;&#25991;&#27880;&#20837;&#21040;&#24744;&#30340;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#22120;&#20013;&#12290;<\/p><h3>&#20351;&#29992;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#22120;&#12290;<\/h3><p>&#29616;&#22312;&#65292;&#24744;&#21487;&#20197;&#20351;&#29992;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#26381;&#21153;&#22312;&#25511;&#21046;&#22120;&#25110;&#20854;&#20182;&#26381;&#21153;&#20013;&#36827;&#34892;&#25805;&#20316;&#12290;&#20363;&#22914;&#65306;<\/p><pre><code>\/\/ src\/Controller\/SomeController.php\r\n\r\nnamespace AppController;\r\n\r\nuse AppServiceCustomUrlGenerator;\r\nuse SymfonyBundleFrameworkBundleControllerAbstractController;\r\n\r\nclass SomeController extends AbstractController\r\n{\r\n    private $urlGenerator;\r\n\r\n    public function __construct(CustomUrlGenerator $urlGenerator)\r\n    {\r\n        $this-&gt;urlGenerator = $urlGenerator;\r\n    }\r\n\r\n    public function index()\r\n    {\r\n        $url = $this-&gt;urlGenerator-&gt;generate('some_route');\r\n\r\n        \/\/ ... do something with the generated URL\r\n    }\r\n}\r\n<\/code><\/pre><p>&#37325;&#35201;&#25552;&#31034;&#65306;<\/p><p>&#27979;&#35797;&#24744;&#30340;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#22120;&#65292;&#30830;&#20445;&#23427;&#22312;&#25152;&#26377;&#22330;&#26223;&#19979;&#37117;&#33021;&#27491;&#24120;&#24037;&#20316;&#12290;<\/p><p>&#30830;&#20445;&#24744;&#30340;&#33258;&#23450;&#20041;URL&#29983;&#25104;&#22120;&#31526;&#21512;Symfony&#30340;URL&#29983;&#25104;&#25509;&#21475;&#65292;&#29305;&#21035;&#26159;&#22914;&#26524;&#24744;&#20351;&#29992;&#20102;&#36335;&#30001;&#21442;&#25968;&#25110;&#24341;&#29992;&#31867;&#22411;&#31561;&#29305;&#24615;&#12290;<\/p><p>&#26367;&#25442;&#21253;&#21547;&#22312;&#20013;&#30340;&#33258;&#23450;&#20041;&#36923;&#36753;&#12290;<code>generate<\/code>&#20351;&#29992;&#20320;&#33258;&#24049;URL&#29983;&#25104;&#36923;&#36753;&#30340;&#26041;&#27861;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#32508;&#19978;&#25152;&#36848;&#65292;Symfony&#20013;&#30340;URL&#29983;&#25104;&#26159;&#19968;&#39033;&#28789;&#27963;&#19988;&#19981;&#21487;&#25110;&#32570;&#30340;&#24320;&#21457;Web&#24212;&#29992;&#30340;&#19968;&#37096;&#20998;&#12290;&#26080;&#35770;&#24744;&#26159;&#29983;&#25104;&#31616;&#21333;&#30340;&#38142;&#25509;&#12289;&#22788;&#29702;&#21160;&#24577;&#36335;&#30001;&#21442;&#25968;&#65292;&#36824;&#26159;&#23454;&#29616;&#33258;&#23450;&#20041;&#36335;&#30001;&#36923;&#36753;&#65292;Symfony&#30340;&#36335;&#30001;&#32452;&#20214;&#37117;&#25552;&#20379;&#20102;&#24744;&#25152;&#38656;&#30340;&#19968;&#20999;&#24037;&#20855;&#26469;&#23454;&#29616;&#20248;&#38597;&#21644;&#21487;&#25193;&#23637;&#30340;URL&#31649;&#29702;&#12290;&#36890;&#36807;&#25484;&#25569;URL&#29983;&#25104;&#65292;&#24744;&#21487;&#20197;&#30830;&#20445;&#24744;&#30340;Symfony&#24212;&#29992;&#31243;&#24207;&#20445;&#25345;&#21487;&#32500;&#25252;&#24615;&#21644;&#29992;&#25143;&#21451;&#22909;&#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; Symfony &#20013;&#21019;&#24314; URL &#26159;&#19968;&#31181;&#24120;&#35265;&#30340;&#32534;&#31243;&#20219;&#21153;&#65292;&#23588;&#20854;&#26159;&#22312;&#26500;&#24314; Web &#24212;&#29992;&#31243;&#24207;&#26102;&#12290;&#20197;&#19979;&#26159;&#19968;&#20123;&#20351;&#29992; Symfony &#26500;&#24314; URL &#30340;&#23454;&#29992;&#25351;&#21335;&#65306;<\/p>\n<ol>\n<li>&#20351;&#29992; <code>Route<\/code> &#23450;&#20041; URL<\/li>\n<\/ol>\n<p>&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#23450;&#20041;&#36335;&#30001;&#12290;&#36825;&#21487;&#20197;&#36890;&#36807; Symfony &#25552;&#20379;&#30340; Route &#35268;&#21017;&#26469;&#23436;&#25104;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#20320;&#24819;&#35201;&#19968;&#20010;&#21517;&#20026; &#8220;home&#8221; &#30340;&#36335;&#30001;&#65292;&#24182;&#19988;&#23427;&#24212;&#35813;&#26144;&#23556;&#21040;&#19968;&#20010;&#21517;&#20026; &#8220;index.php&#8221; &#30340;&#35270;&#22270;&#25991;&#20214;&#65292;&#20320;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ src\/YourBundle\/Resources\/config\/routing.yml\nservices:\n    your_bundle.routing.home: ~<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#22312;&#20320;&#30340;&#25511;&#21046;&#22120;&#20013;&#28155;&#21152;&#30456;&#24212;&#30340; action&#65288;&#36890;&#24120;&#26159;&#22788;&#29702; GET &#35831;&#27714;&#65289;&#65292;&#24182;&#23558;&#20854;&#32465;&#23450;&#21040; <code>home<\/code> &#36335;&#30001;&#19978;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ src\/YourBundle\/Controller\/HomeController.php\nnamespace YourBundleController;\n\nuse SymfonyBundleFrameworkBundleControllerAbstractController;\nuse SymfonyComponentHttpFoundationResponse;\nuse SymfonyComponentRoutingAnnotationRoute;\n\nclass HomeController extends AbstractController\n{\n    \/**\n     * @Route(\"\/home\", name=\"your_home\")\n     *\/\n    public function index(): Response\n    {\n        return $this-&gt;render('your_home.html.twig');\n    }\n}<\/code><\/pre>\n<ol start=\"2\">\n<li>&#21019;&#24314;&#33258;&#23450;&#20041; URL &#27169;&#26495;<\/li>\n<\/ol>\n<p>&#38500;&#20102;&#20256;&#32479;&#30340; &#8220;index.php&#8221; &#25991;&#20214;&#22806;&#65292;&#20320;&#36824;&#21487;&#20197;&#20026;&#20854;&#20182;&#31867;&#22411;&#30340;&#39029;&#38754;&#21019;&#24314;&#33258;&#23450;&#20041;&#27169;&#26495;&#12290;&#20363;&#22914;&#65292;&#22914;&#26524;&#38656;&#35201;&#19968;&#20010;&#21517;&#20026; &#8220;about&#8221; &#30340;&#39029;&#38754;&#65292;&#20320;&#21487;&#20197;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340; HTML &#25991;&#20214;&#65292;&#22914;&#19979;&#25152;&#31034;&#65306;<\/p>\n<pre><code class=\"language-html\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;title&gt;About Page&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h1&gt;Welcome to the About Page&lt;\/h1&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<ol start=\"3\">\n<li>&#23558; URL &#19982;&#26381;&#21153;&#37197;&#32622;&#22312;&#19968;&#36215;<\/li>\n<\/ol>\n<p>&#26368;&#21518;&#19968;&#27493;&#26159;&#23558;&#19978;&#36848;&#23450;&#20041;&#22909;&#30340;&#36335;&#30001;&#21644;&#27169;&#26495;&#19982;&#26381;&#21153;&#37197;&#32622;&#32467;&#21512;&#36215;&#26469;&#12290;&#22312; <code>app\/config\/services.yaml<\/code> &#25991;&#20214;&#20013;&#65292;&#21487;&#20197;&#36825;&#26679;&#37197;&#32622;&#65306;<\/p>\n<pre><code class=\"language-yaml\"># app\/config\/services.yaml\nservices:\n    your_bundle.routing.home: ~\n    your_bundle.routing.about: ~<\/code><\/pre>\n<p>&#29616;&#22312;&#65292;&#24403;&#20320;&#35775;&#38382; <code>\/home<\/code> &#25110; <code>\/about<\/code> &#26102;&#65292; Symfony &#20250;&#26681;&#25454;&#23450;&#20041;&#22909;&#30340;&#36335;&#30001;&#35843;&#29992;&#23545;&#24212;&#30340;&#25511;&#21046;&#22120;&#26041;&#27861;&#12290;<\/p>\n<p>&#36825;&#26159;&#19968;&#20010;&#22522;&#26412;&#30340;&#20363;&#23376;&#65292;&#20294;&#20320;&#21487;&#20197;&#36890;&#36807;&#36827;&#19968;&#27493;&#23450;&#21046;&#21644;&#25193;&#23637;&#26469;&#28385;&#36275;&#26356;&#22797;&#26434;&#30340;&#19994;&#21153;&#38656;&#27714;&#12290;&#24076;&#26395;&#36825;&#20123;&#25351;&#21335;&#23545;&#20320;&#26377;&#25152;&#24110;&#21161;&#65281;<\/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;&#29983;&#25104;URL&#36890;&#24120;&#28041;&#21450;&#20351;&#29992;UrlGeneratorInterface&#038;#255..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[45],"tuisongtax":[],"class_list":["post-1054","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\/1054","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=1054"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=1054"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=1054"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=1054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}