【发布时间】:2015-11-05 06:55:27
【问题描述】:
我希望能够构建一个小型应用程序(例如一个基本的登录 MVC 结构)并构建我的 Phalcon 项目,这样我就可以将它放在一个文件夹中并稍微调整 config 文件。
例如我的基本登录应用程序是根据 Vokuro 教程构建的。现在,与其将控制器复制到一个目录,将模型复制到另一个目录等以便将其部署到我现有的应用程序中,我想将其放入一个文件夹(例如app/extensions/security),然后调整我的主要config/bootstrap 所以Users 或 Profiles 的请求被定向到 app/extensions/security/controllers 中的控制器。
一切都根据文件夹结构命名,我当前的loader 看起来像:
$loader->registerNamespaces(array(
'Me\Controllers' => $config->application->controllersDir,
'Me\Models' => $config->application->modelsDir,
'Me\Forms' => $config->application->formsDir,
'Me' => $config->application->libraryDir,
'Me\Security' => $config->application->extensionsDir . 'security/'
));
基本上 - 我如何让 Phalcon 在 app/controllers 中查找某些控制器并在另一个目录中查找其他控制器 (app/extensions/security/controllers)?
我不确定这是否解释得足够好 - 如果需要澄清,请告诉我。
编辑
通过将其添加到我的路线中,我已经显示了登录页面
$router->add('/session/:action', array(
'namespace' => 'Me\Security\Controllers',
'controller' => 'Session',
'action' => 1
));
所以我想我会在我的app/extensions/security 文件夹中创建一个路由文件,然后将它加载到主引导文件中。
【问题讨论】:
-
你的路由器中设置了命名空间吗?
-
我刚刚尝试过,一切顺利,谢谢。我认为每个扩展的路由文件可能是由主引导文件加载的方法。
-
@JamesFenwick 有什么简单的方法可以让这些控制器找到正确的视图文件吗?目前我正在考虑将详细信息放入扩展特定的配置文件中。
标签: model-view-controller phalcon