laravel 框架中手寫rbac
<?php /** * Created by PhpStorm. * User: 青春已被放縱了 * Date: 2017/1/6 * Time: 16:30 */ namespace App\Http\Controllers; use Route; use Symfony\Component\HttpFoundation\Session\Session; use DB; class CommonController extends Controller{ public function __construct() { $action = \Route::current()->getActionName();list($class, $action) = explode('@', $action); $controller = substr(strrchr($class,'\\'),1); $controller=substr($controller,0,-10); $session = new Session; $u_id = $session->get("u_id"); // echo $u_id;die; $data=DB::table('u_r') ->leftJoin('r_p', 'u_r.r_id', '=', 'r_p.r_id') ->leftJoin('power', 'power.p_id', '=', 'r_p.p_id') ->where('u_id',$u_id) ->get(); $data=json_decode(json_encode($data),true); $power=$this->recursion($data); // print_r($power);die; foreach($power as $k=>$v){ $arr[]=$v['method']; } if(!in_array($controller."/".$action,$arr)){ echo "<script>alert('沒有許可權,請前去登入!!!!');location.href='demo/laravel/public/'</script>"; // return redirect("/"); } } public function recursion($data,$path=0,$flag=1){ static $arr=array(); foreach($data as $key=>$val){ if($val['p_path']==$path){ $val['flag']=$flag; $arr[]=$val; $this->recursion($data,$val['p_id'],$flag+1); } } return $arr; } }
相關推薦
laravel 框架中手寫rbac
<?php /** * Created by PhpStorm. * User: 青春已被放縱了 * Date: 2017/1/6 * Time: 16:30 */ namespace
IDEA 中手寫 一個SpringMVC框架
不說了直接上程式碼吧(裡面也有相應的說明)程式碼地址 https://github.com/dongfucai/handerMVC自己自己java 。如果有幫助,可以點贊,點星。有問題可以提出,一起學習改正。後面是設計思路梳理SpringMVC的設計思路 本文只實
Laravel框架中的make方法詳解
option 節奏 構建 可能 特性 關系 翻譯 空數組 過程 為什麽網上已經有這麽多的介紹Laravel的執行流程了,Laravel的容器詳解了,Laravel的特性了,Laravel的啟動過程了之類的文章,我還要來再分享呢? 因為,每個人的思維方式和方向是不一樣的,所以
Laravel框架中的event事件操作
clas smo php文件 cad ron div protect cache 框架 有時候當我們單純的看 Laravel 手冊的時候會有一些疑惑,比如說系統服務下的授權和事件,這些功能服務的應用場景是什麽,其實如果沒有經歷過一定的開發經驗有這些疑惑是很正常的事情,但是當
laravel框架中的MySQL事務處理
整了半天沒明白事務為什麼會失敗!最後還是解決掉了,記錄一下,以防忘記,可以參考參考!!! public function index() { $UserModel = new User(); DB::beginTransaction(); //開啟事務 $o = $Use
Laravel框架中常用PHP語法-匿名函式
Laravel框架之所以被稱為優雅的框架,是因為他在框架中使用大量的PHP新語法,包括名稱空間、匿名函式、反射機制、後期靜態繫結等,才使得Laravel框架顯得簡潔易擴充套件。 匿名函式 匿名函式(Anonymous functions)也叫閉包函式(Closure),
Laravel框架中縮小webpack打包vue js的體積
轉載,原文: Laravel框架中縮小Vue應用的體積 https://www.codercto.com/a/12720.html laravel中 webpack打包生成的app.js居然有3M,生成的production版也有1.4M,放到伺服器上,首頁開啟要十幾秒(1M
spring事務(5)-----手寫SpringIOC容器框架之手寫@Service和@Resource註解
一,xml方式 註解方式就不寫了,主要就是dom4j的解析。 二,註解方式 2.1,我們先來看一下spring自帶的寫法 spring.xml <beans xmlns="http://www.springframework.org/schema/beans" xml
在laravel框架中:Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'content'
可能的原因: 第一:檢查以下你的編輯器的編碼是否設定為UTF-8;這是最容易忽略的原因之一。 第二:檢查以下你資料庫的varchar/char等相關欄位是否已經設定為utf8 如果用的是navicat,需要檢查兩個地方; 是否都已經設定: 實在不行就
laravel框架中引入百度編輯器
第一步:先去這個https://ueditor.baidu.com/website/download.html 下載原始碼包 2.然後把他拉到laravel框架的public下 方便呼叫 3.開啟裡面的index頁面 把這
Laravel框架中使用Service模式
若將商業邏輯都寫在controller,會造成controller肥大而難以維護,基於SOLID原則,我們應該使用Service模式輔助controller,將相關的商業邏輯封裝在不同的service,方便中大型專案的維護。 Version Laravel 5.1.22
laravel框架中引入全域性錯誤碼以及相關報錯資訊
project\config\errorcode.php <?php /** * Created by PhpStorm. * User: DELL * Date: 2018/9/6 * Time: 10:28 */ return [ /*
Laravel框架中整合MongoDB和使用:
* 推薦元件composer require jenssegers/mongodb ^3.3 -vvv(本人的laravel版本是5.5)修改config/app.php* 註冊服務Jenssegers\Mongodb\MongodbServiceProvider::clas
在laravel框架中使用mongodb資料庫
在laravel框架中使用mongodb,前提是你已經安裝好了mongodb及mongodb的php擴充套件。 沒有安裝的,具體可以參照部落格http://blog.csdn.net/turtleo
Laravel框架中如何使用 Repository 模式
源:http://www.sangeng.org/blog/index/detail/id/518.html 若將資料庫邏輯都寫在model,會造成model的肥大而難以維護,基於SOLID原則,我們應該使用Repository模式輔助model,將相關的資料庫邏輯封裝在不同的repositor
Laravel框架中如何使用Service模式
源:http://www.sangeng.org/blog/index/detail/id/519.html 若將商業邏輯都寫在controller,會造成controller肥大而難以維護,基於SOLID原則,我們應該使用Service模式輔助controller,將相關的商
Laravel框架中列印sql
在使用Laravel框架的時候,除錯的時候,需要將查詢的SQL輸出校驗,這是需要將SQL打印出來。 一、方法 DB::connection()->enableQueryLog(); // 開啟查詢日誌 DB::table('my_table')->insert($da
Laravel框架中Blade模板的用法
1. 繼承、片段、佔位、元件、插槽 1.1 繼承 1、定義父模板 Laravel/resources/views/base.blade.php 2、子模板繼承 @extends('base') 1.2 片段 1、父模板定義片段 @section('part') // 中間內容即使是一個片段 @sh
Python(TensorFlow框架)實現手寫數字識別系統
手寫數字識別演算法的設計與實現 本文使用python基於TensorFlow設計手寫數字識別演算法,並程式設計實現GUI介面,構建手寫數字識別系統。這是本人的本科畢業論文課題,當然,這個也是機器學習的基本問題。本博文不會以論文的形式展現,而是以程式設計實戰
在laravel框架中:Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'content'
可能的原因: 第一:檢查以下你的編輯器的編碼是否設定為UTF-8;這是最容易忽略的原因之一。 第二:檢查以下你資料庫的varchar/char等相關欄位是否已經設定為utf8 如果用的是navicat,需要檢查兩個地方; 是否都已經設定: 實在不行就將utf8改成