我正在寻找一种方法来构建可以在symfony中捆绑的东西或CakePHP中的插件。例如:在用户模块中,所有控制器,模板和视图都将位于一个文件夹中,以便我可以轻松访问它们。如何将代码封装在模块,捆绑包或插件中?
而且我想创建一个基于功能类似的模块,例如,支付模块,库存模块等
在目前的架构,我可以把所有的控制器一起,所有视图在一起。由于我的项目非常庞大,所以现在它拥有近140个控制器等等,而且对我来说看起来非常混乱。凤凰为模块化代码提供了什么?
我正在寻找一种方法来构建可以在symfony中捆绑的东西或CakePHP中的插件。例如:在用户模块中,所有控制器,模板和视图都将位于一个文件夹中,以便我可以轻松访问它们。如何将代码封装在模块,捆绑包或插件中?
而且我想创建一个基于功能类似的模块,例如,支付模块,库存模块等
在目前的架构,我可以把所有的控制器一起,所有视图在一起。由于我的项目非常庞大,所以现在它拥有近140个控制器等等,而且对我来说看起来非常混乱。凤凰为模块化代码提供了什么?
在开始时,请检查link,但我还强烈建议您检查由凤凰的创建者,Elixir的创建者和知道至少14种语言 - “Phoenix in Programming”的家伙编写的非常精心准备的书。
Phoenix与Symfony或任何其他框架有很多不同的结构,因为它只是由函数组成。你没有黑盒中间件,但你可以创建任何你需要的东西。按照这个顺序
凤凰处理请求:
your request in browser
|> Endpoint (in lib folder)
|> Router (as the rest in web folder)
|> Pipeline (set of Plug functions in router as well)
|> Controller
然后控制器使用视图(而不是中间件可以定义功能,您希望呈现模板时已经启用)和模板 - 只为HTML标签一个占位符。
开始与凤凰城的伟大旅程的最佳想法是服从惯例。每当你要添加新的动作,你必须:
router.ex
)好运。
有没有干净的方式来做到这一点,因为我知道。还相关:http://stackoverflow.com/questions/38249813/splitting-phoenix-project-into-applications – sobolevn