krak / mw-codeigniter
Mw CodeIgniter 集成
v0.2.0
2016-12-05 08:32 UTC
Requires
- krak/mw-http: ^0.2.2
This package is auto-updated.
Last update: 2024-09-18 17:37:47 UTC
README
您可以通过在 CI 框架内嵌入 Mw 应用来将 Mw Http 框架与 CI 集成。
这个集成想法来源于我之前管理的一个旧站,我们无法移除旧的 CI 框架,但我们需要添加新功能,而 Mw Http 框架可以解决这个问题。因此,这允许从旧系统到新系统的一个很好的桥梁。
安装
使用 composer 安装 krak/mw-codeigniter
使用方法
要在一个 CI 框架内嵌入的应用,您需要做一些事情。
- 创建一个名为 application/controllers/mw.php 的控制器来处理 Mw 路由
- 在控制器方法内创建您的 Mw 应用
<?php use Krak\Mw\Http; class Mw extends CI_Controller { public function index() { $app = new Http\App(); $app->with(Http\Package\std()); $app->with(Http\Package\codeIgniter($this)); $app->get('/a', function() { return '/a'; }); $app->get('/b', function() { return '/b'; }); $app->get('/exception', function() { throw new \InvalidArgumentException('Whoa!!!!'); }); $app->serve(); } }
- 将默认路由注册到您的 mw/index 操作。现在所有未定义的路由都将指向它。
<?php $route['404_override'] = 'mw';
请确保在包中最后或至少在较晚的时候添加 CodeIgniter 包。
API
这些都是相对于 Krak\Mw\Http\Package
命名空间。
codeIgniter($ci, array $config = [])
返回一个配置好的 CodeIgniter\CodeIgniterPackage
实例。 $ci
必须是 Codeigniter 控制器的实例。 $config
是一个数组,允许以下配置选项
- show_stack_trace
- 转发给 ciExceptionHandler
CodeIgniter\ciExceptionHandler($show_stack_trace = true)
一个异常处理器,它将使用 CI 的 show_error 全局函数来显示异常。 $show_stack_trace
决定是否显示异常的堆栈跟踪以及异常消息。
CodeIgniter\ciNotFoundHandler()
简单地使用 CI 框架中的 show_404
方法来显示一个页面未找到。
CodeIgniter\ciViewMarshalResponse($ci)
允许操作返回表示视图路径和要加载到视图中的数据的 [string, array]
的二元组。这内部使用 CI 框架中的 $this->load->view
方法。
CodeIgniter\CodeIgniterServiceProvider
服务提供商定义以下服务
- codeigniter.server
- 这是一个在 CI 框架内部提供服务的 KrakMwHttpServer。
- server
- 用 codeigniter.server 实例替换服务器参数。
必需参数
- codeigniter.ci
- CI 的一个实例。如果您使用 CodeIgniterPackage 接口,则此值将自动填充;但是,如果您单独使用服务提供商,则需要设置此值。