flaviojr/silex-controller-provider

Silex应用的控制器提供者

v1.0 2017-07-24 03:09 UTC

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');

注意

  • 您无需担心控制器的依赖项,提供者将递归解决每一个。