php - 如何在 Silex PHP Framework 项目中设置 Controller ?

标签 php frameworks silex

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

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

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

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

还是将它们放在单独的文件中? 到目前为止,root get 方法工作正常并呈现一个 twig 模板,但过去的任何事情都没有做任何事情。

最佳答案

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

我通常做的是在一个 app.php 文件中定义所有 Controller ,但是将可重用的部分提取到 src 目录中的类中,例如 src/ProjectName/SomeClass.php,可以自动加载和单元测试。

现在,如果 Controller 的数量增加,您可以将您的应用程序拆分为“模块”并将它们安装在您的主应用程序下(例如,在 /admin 下安装一个管理面板)。 Silex 支持挂载,像这样:

require_once __DIR__.'/silex.phar';

$app = new Silex\Application();

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

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

关于php - 如何在 Silex PHP Framework 项目中设置 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6409609/

相关文章:

php - 按月份分组并按时间顺序而不是按字母顺序在 mysql 中显示

ruby-on-rails - 有人在没有任何框架的情况下使用 ruby​​ 吗?

python - 满足我的 API 服务器需求的最佳 Python Web 框架

PHP 表单 - 上传文件,想要使用 Silex 但不想使用 FormBuilder

session - Silex SessionLogoutHandler

javascript - 无效的正则表达式标志 a

php - MySQL如何显示两个表的数据

php - WordPress 的 Woocommerce : How to modify the order number/id?

php - 我可以在 PHP 中混合使用 MySQL API 吗?

c# - 在 .net 中有很好的解释和示例的控制/依赖注入(inject)的反转?