我似乎無法得到任何東西通過根路徑到目前爲止:如何在Silex PHP Framework項目中設置控制器?
你把所有的控制器調用在app.php文件?
$app->get('/', function ($id) {
...
});
$app->get('/about', function ($id) {
...
});
或者你把它們放在不同的文件中? 到目前爲止,get get方法工作正常,並呈現一個樹枝模板,但任何東西都不會做任何事情。
我似乎無法得到任何東西通過根路徑到目前爲止:如何在Silex PHP Framework項目中設置控制器?
你把所有的控制器調用在app.php文件?
$app->get('/', function ($id) {
...
});
$app->get('/about', function ($id) {
...
});
或者你把它們放在不同的文件中? 到目前爲止,get 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'));
,詳細瞭解裝配,從硅石文檔退房Reusing applications。
Mount(),優秀。 – Failpunk
該鏈接不再有效。 Provder doc在這裏:http://silex.sensiolabs.org/doc/providers.html – lucifurious
你的意思是'/ about'處理程序永遠不會被調用嗎? - 你需要在文件前面註冊更具體的處理程序 - '/'將始終匹配 – meouw
@meouw'/'不匹配'/ about'。 '/ {var}'然而,會的。 – igorw
@igorw - 感謝您的更正:) – meouw