7

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

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

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

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

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

4

1 回答 1

15

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 文档中的重用应用程序。

于 2011-06-20T14:06:48.953 回答