Luthier CI是CodeIgniter的一个插件,增长了有趣的功能,旨在简化大型网站和API的构建。php
它是为了尽量地与框架集成,所以在安装Luthier CI后,应用程序中已存在的全部内容应该继续正常工做。git
本文档假定您具备有关CodeIgniter的基本知识。若是您从未使用过CodeIgniter,那么他们的官方文档就是一个很好的起点github
Luthier CI是免费软件,可在MIT许可下使用。框架
Luthier CI经过受Laravel启发的语法取代了在应用程序中定义路由的方式。post
例如,而不是定义相似于此的大量路由:网站
$route['catalog/cars/(:any)']['GET'] = 'CarsController/catalog/$1'; $route['catalog/cars/(:any)/(:any)']['GET'] = 'CarsController/catalog/$1/$2'; $route['catalog/bikes/(:any)']['GET'] = 'BikesController/catalog/$1'; $route['catalog/bikes/(:any)']['POST'] = 'BikesController/catalog/$1'; $route['catalog/bikes/(:any)/(:any)']['GET'] = 'BikesController/catalog/$1/$2'; $route['catalog/bikes/(:any)/(:any)']['POST'] = 'BikesController/catalog/$1/$2'; $route['catalog/airplanes/(:any)']['GET'] = 'AirplanesController/catalog/$1/$2'; $route['catalog/airplanes/(:any)/(:any)']['GET'] = 'AirplanesController/catalog/$1/$2';
...你能够用更紧凑的方式编写它:插件
Route::group('catalog', function(){ Route::get('cars/{category_id}/{filter_by?}', 'CarsController@catalog'); Route::match(['get','post'], 'bikes/{category_id}/{filter_by?}', 'BikesController@catalog'); Route::get('airplanes/{category_id}/{filter_by?}', 'AirplanesController@catalog'); });
此外,Luthier CI能够帮助您保持路由的有序性,由于每种类型的路由都有本身的文件,必须定义它:HTTP路由有一个文件,AJAX路由有另外一个文件,CLI路由有另外一个文件。code
Luthier CI 在框架中引入了中间件的概念。中间件
正确使用,中间件能够帮助您在控制器上建立过滤器和操做,不然,使用库和帮助程序实现将很是繁琐。ci
您能够在特定路由和路由组中使用中间件,甚至能够在应用程序中全局使用。
Luthier CI经过Composer安装,并使用CodeIgniter
挂钩集成到您的应用程序中。忘记复制或移动文件或遵循大量的步骤以使Luthier CI工做。
在大多数状况下,安装不会超过5分钟!
要报告错误并提出更改,请访问Github上的Luthier CI repository on Github存储库