В вашем основном php-файле (index.php) вы должны:
- объявляет об использовании вашего контроллера;
- после создания объекта Application вы должны зарегистрировать свое пространство имен;
- смонтируйте ваш контроллер.
Например (Example \ Controllers - это пространство имен, а XyzControllerProvider - поставщик контроллеров, URL-адрес / my / example):
[...]
// declare the use of your Controller Provider
use Example\Controllers\XyzControllerProvider;
[...]
//after creation of your Application object you must register your namespace;
$app = Application();
$app['autoloader']->registerNamespace('Example', __DIR__.'/src');
[...]
//mount your Controller Provider
$app->mount('/my/example', new Example\Controllers\XyzControllerProvider());
Поставщик контроллера (в разделе src / example / controllers) будет:
<?php
namespace Example\Controllers;
use Silex\Application;
use Silex\ControllerProviderInterface;
use Silex\ControllerCollection;
class XyzControllerProvider implements ControllerProviderInterface {
public function connect(Application $app) {
$controllers = new ControllerCollection();
$controllers->get('/', function (Application $app) {
return "DONE;"
});
return $controllers;
}
}