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存儲庫