dann95 / slim3-controller-strategy
使用您的规则自定义Slim3加载控制器的方式
dev-master
2017-06-20 18:47 UTC
Requires
- slim/slim: ^3.0
This package is auto-updated.
Last update: 2024-09-20 04:05:18 UTC
README
此包将帮助您更改Slim 3加载项目控制器的方式,将每个控制器绑定到Slim\Container是一项繁琐的任务,这样在幕后Slim可以确定控制器和方法,使用此包,您可以编写自己的规则来决定路由正在寻找哪个控制器和方法。
安装
composer require dann95/slim3-controller-strategy
用法
<?php require 'vendor/autoload.php'; // composer autoload use Dann95\SlimController\Contracts\ControllerSolver; class MyControllerSolver implements ControllerSolver { public function solve($toResolve) { // Here we have the code to find and make new instance of class (this is just an example, you must build your logic) $explode = explode("@", $toResolve); // You must return an array like: [$instanceOfController, $methodName]; $controller = new $explode[0]; // $explode[0] == TheControllerImLookingFor return [$controller, $explode[1]]; // $explode[1] == theMethodName } } $myControllerSolver = new MyControllerSolver; $container = new Dann95\SlimController\Container($myControllerSolver); $app = new Slim\App($container); $app->get('/', 'TheControllerImLookingFor@theMethodName'); $app->run();