ps:目前所能找到的方法,希望不會被大佬們鄙視…
1、我的nginx配置:
#test6?admin ????server?{ ????????listen???????80; ????????server_name??admin.test6.local; ????????root?"d:/data/www/test6/public/admin"; ????????index??index.html?index.htm?index.php; ????????error_page??404??????????????/404.html; ????????location?=?/404.html?{ ????????????????return?404?'Sorry,?File?not?Found!'; ????????} ????????error_page??500?502?503?504??/50x.html; ????????location?=?/50x.html?{ ????????????????root???/usr/share/nginx/html;?#?windows?dir ????????} location?/?{ ????try_files?$uri?$uri/?/index.php?$query_string; } ??????? ????????location?~?/Uploads/.*.php$?{ ????????????????deny?all; ????????} ????????location?~?.php/?{ ????????????????if?($request_uri?~?^(.+.php)(/.+?)($|?))?{?} ????????????????fastcgi_pass?127.0.0.1:9000; ????????????????include?fastcgi_params; ????????????????fastcgi_param?SCRIPT_NAME?????$1; ????????????????fastcgi_param?PATH_INFO???????$2; ????????????????fastcgi_param?SCRIPT_FILENAME?$document_root$1; ????????} ????????location?~?.php$?{ ????????????????fastcgi_pass?127.0.0.1:9000; ????????????????fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name; ????????????????include?fastcgi_params; ????????} ????????location?~?/.ht?{ ????????????????deny??all; ????????} ???}
2、路由 /routes/admin.php
PS:目前用的方法是這樣的
Route::get('/shop/goods_list',?'ShopGoodsController@goods_list'); Route::get('/shop/goods_list/page/{page}/limit/{limit}',?'ShopGoodsController@goods_list'); Route::get('/shop/goods_list/page/{page}/limit/{limit}/keyword/{keyword}',?'ShopGoodsController@goods_list');
3、基類 apphttpControllersAdminPubliBaseController.php
立即學習“PHP免費學習筆記(深入)”;
PS:請別吐槽那個Publi,我也很無奈啊..
<?php namespace AppHttpControllersAdminPubli; use IlluminateFoundationBusDispatchesJobs; use IlluminateRoutingController; use IlluminateFoundationValidationValidatesRequests; use IlluminateFoundationAuthAccessAuthorizesRequests; use IlluminateHttpRequest; class BaseController extends Controller { use AuthorizesRequests, DispatchesJobs, ValidatesRequests; //構造函數 public function __construct() { $this->middleware(function?($request,?$next)?{ ????????????//未登錄的處理 ????????????//$this->dosomething($request); ????????????//仿TP用pathinfo傳參 ????????????$path=$request->path(); ????????????$this->pathinfo=$this->path_to_array($request,$path); ????????????return?$next($request); ????????}); ????} ? ????/*路徑轉數組 ?????*輸入路徑,如:http://admin.test6.local/shop/goods_list/page/3 ?????*?返回數組,如:$array['page']=3;?$array['keyword']='somekeyword'; ?????*/ ????public?function?path_to_array(Request?$request,$path=null){ ????????$array=array(); ????????if(strpos($path,'/')!==false){ ????????????$arr=explode('/',$path); ????????????foreach($arr?as?$k=>$v){ ????????????????if($k>0&&($k%2==0)){ ????????????????????$array[$v]=$arr[$k+1]; ????????????????} ????????????} ????????} ????????if(count($array)>0){ ????????????return?$array; ????????} ????} ? }
3、控制器 appHttpControllersAdminShopGoodsController.php
namespace?AppHttpControllersAdminShop; use?AppHttpControllersAdminPubliBaseController; use?IlluminateHttpRequest; class?GoodsController?extends?BaseController?{ public?function?goods_list(Request?$request){ //獲取參數 ????????$page=1; ????????$keyword=''; ????????//當前頁 ????????if(is_array($this->pathinfo)){ ????????????//當前頁 ????????????if?(array_key_exists("page",$this->pathinfo))?{ ????????????????$page=$this->pathinfo['page']; ????????????} ????????????//關鍵詞 ????????????if?(array_key_exists("keyword",$this->pathinfo))?{ ????????????????$keyword=$this->pathinfo['keyword']; ????????????} ????????} ????????dump($page); ????????dump($keyword); ????????exit; } }
推薦:laravel教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END