找不到symfony演示路由系统?

时间:2018-07-17 19:44:54

标签: symfony

我安装了Symfony演示示例,并查看了其代码。 但我找不到路由的工作方式。 在源代码上找不到路由定义。 我安装了Symfony 4.1版本。

我知道symfony路由的工作方式,但是在symfony演示示例中,我找不到添加,删除,编辑和显示内容的路由。 我不知道它是如何定义的。 我搜索了整个资源,但找不到它们。 当我查看routes.yaml时,我仅看到以下代码: 主页:     路径:/ {_ locale}     控制器:Symfony \ Bundle \ FrameworkBundle \ Controller \ TemplateController :: templateAction     要求:         _locale:“%app_locales%”     默认值:         模板:default / homepage.html.twig         _locale:'%locale%'

但是当我在缓存中搜索项目时,我看到了下面的代码,但不了解它是如何创建的。

   'admin_index' => array(array('_locale'), array('_controller' => 'App\\Controller\\Admin\\BlogController::index', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/admin/post/'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'admin_post_index' => array(array('_locale'), array('_controller' => 'App\\Controller\\Admin\\BlogController::index', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/admin/post/'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'admin_post_new' => array(array('_locale'), array('_controller' => 'App\\Controller\\Admin\\BlogController::new', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/admin/post/new'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'admin_post_show' => array(array('_locale', 'id'), array('_controller' => 'App\\Controller\\Admin\\BlogController::show', '_locale' => 'en'), array('id' => '\\d+', '_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('variable', '/', '\\d+', 'id'), array('text', '/admin/post'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'admin_post_edit' => array(array('_locale', 'id'), array('_controller' => 'App\\Controller\\Admin\\BlogController::edit', '_locale' => 'en'), array('id' => '\\d+', '_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/edit'), array('variable', '/', '\\d+', 'id'), array('text', '/admin/post'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'admin_post_delete' => array(array('_locale', 'id'), array('_controller' => 'App\\Controller\\Admin\\BlogController::delete', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/delete'), array('variable', '/', '[^/]++', 'id'), array('text', '/admin/post'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'blog_index' => array(array('_locale'), array('page' => '1', '_format' => 'html', '_controller' => 'App\\Controller\\BlogController::index2', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/blog/'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'blog_rss' => array(array('_locale'), array('page' => '1', '_format' => 'xml', '_controller' => 'App\\Controller\\BlogController::index2', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/blog/rss.xml'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'blog_index_paginated' => array(array('_locale', 'page'), array('_format' => 'html', '_controller' => 'App\\Controller\\BlogController::index2', '_locale' => 'en'), array('page' => '[1-9]\\d*', '_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('variable', '/', '[1-9]\\d*', 'page'), array('text', '/blog/page'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'blog_post' => array(array('_locale', 'slug'), array('_controller' => 'App\\Controller\\BlogController::postShow', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('variable', '/', '[^/]++', 'slug'), array('text', '/blog/posts'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'comment_new' => array(array('_locale', 'postSlug'), array('_controller' => 'App\\Controller\\BlogController::commentNew', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/new'), array('variable', '/', '[^/]++', 'postSlug'), array('text', '/blog/comment'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'blog_search' => array(array('_locale'), array('_controller' => 'App\\Controller\\BlogController::search', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/blog/search'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'security_login' => array(array('_locale'), array('_controller' => 'App\\Controller\\SecurityController::login', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/login'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    'security_logout' => array(array('_locale'), array('_controller' => 'App\\Controller\\SecurityController::logout', '_locale' => 'en'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('text', '/logout'), array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),
    '_twig_error_test' => array(array('code', '_format'), array('_controller' => 'twig.controller.preview_error::previewErrorPageAction', '_format' => 'html'), array('code' => '\\d+'), array(array('variable', '.', '[^/]++', '_format'), array('variable', '/', '\\d+', 'code'), array('text', '/_error')), array(), array()),
    '_wdt' => array(array('token'), array('_controller' => 'web_profiler.controller.profiler::toolbarAction'), array(), array(array('variable', '/', '[^/]++', 'token'), array('text', '/_wdt')), array(), array()),
    '_profiler_home' => array(array(), array('_controller' => 'web_profiler.controller.profiler::homeAction'), array(), array(array('text', '/_profiler/')), array(), array()),
    '_profiler_search' => array(array(), array('_controller' => 'web_profiler.controller.profiler::searchAction'), array(), array(array('text', '/_profiler/search')), array(), array()),
    '_profiler_search_bar' => array(array(), array('_controller' => 'web_profiler.controller.profiler::searchBarAction'), array(), array(array('text', '/_profiler/search_bar')), array(), array()),
    '_profiler_phpinfo' => array(array(), array('_controller' => 'web_profiler.controller.profiler::phpinfoAction'), array(), array(array('text', '/_profiler/phpinfo')), array(), array()),
    '_profiler_search_results' => array(array('token'), array('_controller' => 'web_profiler.controller.profiler::searchResultsAction'), array(), array(array('text', '/search/results'), array('variable', '/', '[^/]++', 'token'), array('text', '/_profiler')), array(), array()),
    '_profiler_open_file' => array(array(), array('_controller' => 'web_profiler.controller.profiler::openAction'), array(), array(array('text', '/_profiler/open')), array(), array()),
    '_profiler' => array(array('token'), array('_controller' => 'web_profiler.controller.profiler::panelAction'), array(), array(array('variable', '/', '[^/]++', 'token'), array('text', '/_profiler')), array(), array()),
    '_profiler_router' => array(array('token'), array('_controller' => 'web_profiler.controller.router::panelAction'), array(), array(array('text', '/router'), array('variable', '/', '[^/]++', 'token'), array('text', '/_profiler')), array(), array()),
    '_profiler_exception' => array(array('token'), array('_controller' => 'web_profiler.controller.exception::showAction'), array(), array(array('text', '/exception'), array('variable', '/', '[^/]++', 'token'), array('text', '/_profiler')), array(), array()),
    '_profiler_exception_css' => array(array('token'), array('_controller' => 'web_profiler.controller.exception::cssAction'), array(), array(array('text', '/exception.css'), array('variable', '/', '[^/]++', 'token'), array('text', '/_profiler')), array(), array()),
    'homepage' => array(array('_locale'), array('template' => 'default/homepage.html.twig', '_locale' => 'en', '_controller' => 'Symfony\\Bundle\\FrameworkBundle\\Controller\\TemplateController::templateAction'), array('_locale' => 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN'), array(array('variable', '/', 'en|fr|de|es|cs|nl|ru|uk|ro|pt_BR|pl|it|ja|id|ca|sl|hr|zh_CN', '_locale')), array(), array()),

谢谢

1 个答案:

答案 0 :(得分:1)

在Symfony 4.1中,路由是直接在带有注释的控制器中定义的: http://symfony.com/doc/current/routing.html

对于您而言,您可以在每个操作的上方直接找到用于添加,删除,编辑和显示的路由: https://github.com/symfony/demo/blob/master/src/Controller/BlogController.php