【问题标题】:How do you setup the controller in a Silex PHP Framework project?如何在 Silex PHP 框架项目中设置控制器?
【发布时间】:2011-06-20 10:03:02
【问题描述】:

到目前为止,我似乎无法通过根路径进行任何工作:

您是否将所有控制器调用都放在 app.php 文件中?

$app->get('/', function ($id) {
  ...
});

$app->get('/about', function ($id) {
  ...
});

还是将它们放在单独的文件中? 到目前为止,根 get 方法工作正常并呈现一个 twig 模板,但任何过去的东西都不起作用。

【问题讨论】:

  • 你的意思是/about 处理程序永远不会被调用? - 您需要在文件的前面注册更具体的处理程序 - / 将始终匹配
  • @meouw / 将不匹配 /about/{var} 但是,会的。
  • @igorw - 感谢您的更正:)

标签: php frameworks silex


【解决方案1】:

Silex 是一个微框架。它使您能够在单个文件中定义您的应用程序。但这并不意味着您必须这样做。

我通常会在一个app.php 文件中定义所有控制器,但将可重复使用的部分提取到src 目录中的类中,例如src/ProjectName/SomeClass.php,可以自动加载并进行单元测试。

现在,如果控制器数量增加,您可以将应用程序拆分为“模块”并将它们安装在主应用程序下(例如,在 /admin 下安装管理面板)。 Silex 支持安装,如下所示:

require_once __DIR__.'/silex.phar';

$app = new Silex\Application();

$app->mount('/admin', new Silex\LazyApplication(__DIR__.'/admin.php'));

有关安装的更多详细信息,请查看 Silex 文档中的 Reusing applications

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多