如何在Silex PHP框架项目中设置控制器?
到目前为止,我似乎无法通过根路径获得任何工作: 是否将所有控制器调用都放在app.php文件中如何在Silex PHP框架项目中设置控制器?,php,frameworks,silex,Php,Frameworks,Silex,到目前为止,我似乎无法通过根路径获得任何工作: 是否将所有控制器调用都放在app.php文件中 $app->get('/', function ($id) { ... }); $app->get('/about', function ($id) { ... }); 或者你把它们放在不同的文件里? 到目前为止,root-get方法可以很好地工作并呈现一个细枝模板,但是任何过去的方法都不起任何作用。Silex是一个微框架。它使您能够在单个文件中定义应用程序。但这并不意味着你必
$app->get('/', function ($id) {
...
});
$app->get('/about', function ($id) {
...
});
或者你把它们放在不同的文件里?
到目前为止,root-get方法可以很好地工作并呈现一个细枝模板,但是任何过去的方法都不起任何作用。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文档。您的意思是说
/about
处理程序从未被调用过吗?-您需要在文件的前面注册更具体的处理程序-/
将始终match@meouw/
将与/about
不匹配/{var}
但是,@igorw-感谢您的更正:)该链接不再有效。认证文件在这里: