Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Silex PHP框架项目中设置控制器?_Php_Frameworks_Silex - Fatal编程技术网

如何在Silex PHP框架项目中设置控制器?

如何在Silex PHP框架项目中设置控制器?,php,frameworks,silex,Php,Frameworks,Silex,到目前为止,我似乎无法通过根路径获得任何工作: 是否将所有控制器调用都放在app.php文件中 $app->get('/', function ($id) { ... }); $app->get('/about', function ($id) { ... }); 或者你把它们放在不同的文件里? 到目前为止,root-get方法可以很好地工作并呈现一个细枝模板,但是任何过去的方法都不起任何作用。Silex是一个微框架。它使您能够在单个文件中定义应用程序。但这并不意味着你必

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

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

$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-感谢您的更正:)该链接不再有效。认证文件在这里: