flaviojr / silex-controller-provider
Silex应用的控制器提供者
v1.0
2017-07-24 03:09 UTC
Requires
- php: >=5.5.9
- pimple/pimple: ~3.0
- silex/silex: ^2.1
This package is not auto-updated.
Last update: 2024-09-28 09:36:31 UTC
README
Silex的控制器提供者
这是什么?
此提供者包含动态加载您的控制器并注册到您的Silex应用的逻辑。使用此提供者,您不再需要手动注册每个控制器,也不需要传递它们各自的依赖项。
使用方法
要安装它
$ composer require "flaviojr/silex-controller-provider":"1.0"
要使用此提供者,您只需在您的应用中注册它
//Don't forget to register this provider first $app->register(new Silex\Provider\ServiceControllerServiceProvider); $app->register(new Sneek\Providers\ControllerProvider('controller-dir', 'Your-root-namespace'[, 'your-namespace-mirror']));
- 第一个参数表示您的控制文件所在的位置。
- 第二个参数是控制器所在的根命名空间。例如,如果您的控制器命名空间是
App\Controllers\HomeController,那么要传递的值是字符串'App'。 - 最后一个参数是可选的,如果您的主命名空间不是主目录的名称,则应使用它。例如,如果您有一个如下的文件夹结构:
src/Controllers/CoffeeController,并且命名空间为App\Controllers\CoffeeController,您必须传递字符串'src',这样提供者就能知道在这种情况下'src'与'App'等价。
使用已注册的控制器
提供者使用它们的命名空间作为索引来注册控制器。要在路由中访问它们,您只需传递它们的命名空间,然后是您想要访问的方法。
$app->get('/', 'App\Controllers\CoffeeController:index');
注意
- 您无需担心控制器的依赖项,提供者将递归解决每一个。