到目前为止,我似乎无法通过根路径工作:
$app->get('/',function ($id) { ... }); $app->get('/about',function ($id) { ... });
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.