在一分钟内处理一个项目,并且不觉得代码结构良好/解耦/可维护。
我认为主要问题是使用一个动作类来完成我系统工作的主要任务。但有哪些替代方案?我的其他模块非常基础和独立。
如果模型包含我在控制器中的更多业务逻辑(在有问题的操作类的模型文件或多或少为空时,表模型文件也没有太多)。
我正在阅读http://www.slideshare.net/nperriault/30-symfony-best-practices,其中有一些优点,其中一个是避免使用大型操作类,但并没有真正告诉你应该怎么做。
我应该分解我的动作类并在/ apps / frontend / module / myModule / lib /中包含不同的文件。 ?
问题是我有另一个动作类必须重用上面提到的类中的一些功能......我真的不想让重复的代码变得有点混乱。
一些通用指针会很棒,谢谢
答案 0 :(得分:1)
您可以将所有操作保留在一个文件中,也可以将每个操作放在自己的文件中。
所以,
class mymoduleActions extends sfActions
{
public function executeIndex($request)
{
// ...
}
public function executeList($request)
{
// ...
}
}
或
class indexAction extends sfAction
{
public function execute($request)
{
// ...
}
}
加
class listAction extends sfAction
{
public function execute($request)
{
// ...
}
}
全是in the documentation。然后,您应该将可重用代码放在两个操作类都可以扩展的父XYZAction
类中。
答案 1 :(得分:0)
您始终可以将代码放入apps/frontend/lib
。创建具有可以重复使用的代码的类,您可以从操作中调用方法以避免重复