【问题标题】:How to group different functions of a bundle inside a symfony controller如何在 symfony 控制器中对包的不同功能进行分组
【发布时间】:2017-01-25 10:05:35
【问题描述】:

我是 Symfony 的新手,我刚刚安装了它,我删除了默认的 AppBundle 并生成了我自己的。现在,我正在尝试创建一个应用程序来聚合一些不动产数据,并在我的站点中显示它,或者换句话说,

它将从各种房地产网站、可供出租的公寓中获取并展示。

我遇到的问题不是技术问题,而是战略问题。

因为我不知道如何划分我的应用程序的各种任务并以有意义的方式对其进行分组。

为了给你一些见解,我现在想到了这些网址

/                          # index page
/about                     
/contact  
/login
/register
/subscribe                 # subscribe to a newsletter 
/search?q=..               # display search result
/announce/add              # add new apartment for rent
/announce/{id}/{slug}      # unique url for each anounce
/announce/{id}/{slug}/edit # edit announce if submitted by user

由此,我想也许我应该将路由映射到控制器:

/                          DefaultController::indexAction()
/about                     DefaultController::aboutAction()
/contact                   DefaultController::contactAction()

/login                     UserController::loginAction()
/register                  UserController::registerAction()

/subscribe                 UserController::subscribeAction()

/search?q=..               SearchController::searchAction()

/announce/add              AnnounceController::addAction()
/announce/{id}/{slug}      AnnounceController::showAction()
/announce/{id}/{slug}/edit AnnounceController::editAction()

所以,这就是我目前所能想到的。

【问题讨论】:

  • 好的,但是你问我们什么?你想让我们告诉你是应该做 4 Controller 还是 5?
  • 我想知道我对路由器结构的思考是否存在缺陷〜>控制器映射
  • 你可以告诉我是否有任何事情对你来说“不妥”,或者觉得应该避免
  • 如果你觉得这样没问题,那么就应该这样做。 :)
  • @COil 哈哈,我的代码真的那么可怕吗? :p

标签: php model-view-controller controller symfony


【解决方案1】:

首先,请注意 symfony 的良好实践。 建议使用 AppBundle 作为唯一捆绑包。从技术角度来看,您要使用的控制器的选择并不那么重要。它应该是连贯的,以便轻松找到您的控制器操作

你可以在这里找到很多好的实践:http://symfony.com/doc/current/best_practices/index.html

【讨论】:

  • 现在这不能回答问题,是吗?我删除了 AppBundle 并创建了一个新的,具有自己的命名空间。 AppBundle 不是唯一的,它只是一个默认捆绑包。另外,我看过“最佳实践”页面,它没有回答我的问题
  • 使用 AppBundle 作为您使用的唯一捆绑包的名称是一个很好的做法。你的问题不清楚。因为你似乎有它的答案。您在控制器之间划分操作的方式似乎是合乎逻辑的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-19
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 2014-07-31
相关资源
最近更新 更多