1. 程式人生 > >laravel 基礎知識總結

laravel 基礎知識總結

arr -c rem 條件 -type 存在 line 網站 int

1.請求類型 get , put , post , patch , delete 等 2.路由訪問方式 get , post , any , match([‘get‘,post]) 3.路由傳參 Route::get(‘user/{id}‘ ,function ($id){ }); Route::get(‘user/{name}/{id}‘,function($name,$id){ }); 4.傳遞可選參數 Route::get(‘user/{name?}‘,function($name = value){ }); 5.參數限制 Route::get(‘user/{name}‘,function(){})->where(‘name‘,‘[A-Za-z] + ‘);
Route::get(‘user/{id}/{name}‘,function([‘id‘=>‘[0-9]+‘,‘name‘=>‘[a-z]+‘])); 6.模版中的寫法 <h1><?php echo $title; ?></h1> <p> {{$msg}}</p> 7.創建數據庫 create database 庫名 charset utf8 8.修改配置文件 在.env文件中進行修改 9.創建遷移文件 php artisan make:migration create_good_table --create=goods 執行這句命令 php artisan migrate
10.創建Model 文件控制表名,主鍵 php artisan make:model 表名 11.遷移文件操作 up()負責建表,加列,加索引 down()負責刪表,減列,去索引 public function up(){ Schema::table(‘goods‘,function(Blueprint $table){ 添加 $table->char(‘email‘,50); }); Schema::table(‘goods‘,function ($table{ 刪除 $table->dropColumn(‘email‘); })); } 12.數據庫遷移一操作 php artisan migrate:rollback 會退
php artisan migrate:reset 回退到初始狀態 13.DB類操作數據庫(Model) insert 添加操作 DB::table()->insert(插入字段);(插入一維多維數組,返回true,false) 14.插入後返回主鍵值,獲取主鍵值 insetrGetld(); $id = DB::table(‘goods‘)->insertGetId($rows); 15.update 修改操作 .典型的修改 DB::table(‘users‘)->where(‘id‘,1)->update([‘age‘=>19]); 相當於 update users set age = 19 where id =1; 在某值的基礎上增長或者減少(默認1) 增長increment(‘健‘,步長);減少decrement(); 16.delete刪除操作 var_dump(DB::table(‘goods‘)->where(‘id‘,‘>‘,3)->delete()); where 有三個參數是,第二個參數當做運算符 17.select查找 DB::table(‘goods‘)->get(); DB::table(‘goods‘)->where(‘id‘,‘>‘,6)->get(); DB::table(‘goods‘)->select(‘id‘,‘email‘)->where()->get(); DB::table(‘goods‘)->where(‘id‘,6)->first(); 18.表單提交要加一段_token(); <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>"> 19.不解析模版和防xss 攻擊 在前段模版引擎中,用{{}}做表簽邊界 為防止blade 模版去解析前面加@ 例如@{{$jang}} [‘code‘=>‘<script>alert(1)</scriptt>‘] &lt;script&gt;alert(1)&lt;/script&gt; 20.Model 放在/app目錄下面,命名空間App Model 繼承Illuminate\Database\Eloquent\Model 引入new \App\Msg() 21.自動生成和實例化 php artisan make:model Msg 22.增加 $msg->save(); 23.查找 按鍵值查找 Msg::find($id); 按where 條件查找具體的那一條 Msg::where(‘id‘,‘>‘,3)->first(); 查找多行all() 和 get() 24.delete 刪除 Msg::where(‘id‘,$id)->delete(); 25.復雜查詢 asc 升序 desc 降序 orderBy(‘id‘,‘desc‘) 根據id排序 Msg::count();數數 Msg::avg(‘id‘);求平均值 Msg::min(‘id‘);最小值最大值 Msg::sum(‘id‘);求和 26.與Model有個約定 調整表名,主鍵值,屏蔽新增鍵值 27.控制器的生成 php artisan make:controller ArticleController --plain --plain 去掉默認顯示的 28.緩存位置 config/cache.php 默認用到的緩存驅動 file 其他緩存Memcached 和Redis 30.緩存調用 use Illuminate/Support/Facades/Cache Cache::put(‘key‘,‘value‘,$minutes); 31.添加緩存 換存不存在添加緩存,緩存已經存在返回true,否則false Cache::add(‘key‘,‘value‘,緩存時間); 持久話存儲緩存 Cache::forever(‘key‘,‘val‘); 儲存緩存放在storage/framework/ 32.獲取緩存 Cache::get(‘key‘,‘default‘); 如果有緩存輸出緩存如果沒有緩存返回default pull 獲取緩存後刪除 33.刪除緩存 Cache::forget(‘key‘); 清除所用緩存 Cache::flush(); 判斷緩存是否存在 Cache::has(‘key‘); 34.Request對象 請求方式(get/post) 請求參數($\post,$\FILES) 請求路徑(域名後的部分) 請求Cookie等諸多信息 input 函數 技術分享 35.利用Request對象做文件上傳 Route::get(‘msg/fil‘,‘[email protected]‘); Route::post(‘msg/ups‘,‘[email protected]‘); 控制器 public function fil(){ return view(‘msg.fil‘); } public function ups(){ $req->file()->move(‘上傳文件地址‘,為文件起的名字); } 判斷文件上傳是否成功 isvalid();即實例變量的值是否是個有效的對象句柄 hasFile();屬性獲取一個值,該值指示 FileUpload 控件是否包含要上載的文件。 在對要上載的文件執行操作之前,使用該屬性來驗證該文件是否存在 36.隱式控制器 Route::controller(‘article‘,‘ArticleController‘); 37.資源控制器 make:controller ArtisanController Route::resource(‘article‘,‘ArticleController‘); 查看功能 php artisan route:list 38.laravel 緩存應用 靜態緩存,查詢緩存,數據緩存 靜態緩存:緩存的整個頁面; 動態緩存:存儲數據庫中的數據進行了緩存,既“通過動態緩存,不需要再讀取數據庫了,直接通過緩存文件來調取相應的數據”; 動態緩存:直接從緩存中讀取,不經過數據查詢; 39.緩存 存儲緩存 Cache::put(‘key‘,‘value‘,$minutes); 40.laravel 中的路由與TP中的相比較 laravel 中的路由非常靈活,TP的路由是 模塊/控制器/方法 TP 不能叫路由,只是URL與控制器的對應關系,或者叫URL分發; 41.設計區別laravel 連接網站的全過程,數據庫+MVC+錯誤處理 42.laravel array_collapse 函數將數組的每一個數組折合成單個數組: str_limit(‘字符串‘,$num); 該函數接受一個字符串作為參數,以及最大字符數量作為第二個參數; str_random();函數生成指定長度的隨機字符串 e 函數對指定字符串進行實體轉義,相當於htmlentities; echo e(‘<html>foo<html>‘); &lt;html&gt;foot;/html&gt app_path() 返回當前項目的絕對路徑 app 目錄下的絕度路徑 $path = app_path(); base_path() 返回項目的絕對路徑 $path= base_path(); config_path() 返回項目的配置文件所在目錄 public_path() 返回項目的公共文件所在目錄(js,css,img ...) attempt() 驗證信息 url() 生成規則url action() 配合路由器,生成規範 URl bcrypt() 加密密碼 (用戶密碼加密可以在創建數據庫時進行加密) config() 讀取 配置值 csrf_field() laravel 防止跨網站請求偽造攻擊 用該命令用於驗證授權用戶和發送請求是否是同一個用戶 <form method="post" actisan="/"> {{ csrf_field() }} ........... </form> request() 得到當前的request 對象 $req = request(); dd($req); 43.表單類型 primary (key) 主鍵值 string 字符串 enum 選擇(‘男’,‘女’) integer 整形 tinyint 整形(占一個字節) int 整形(占四個字節) auto_increment 屬性自增 rememberToken() laravel 中記錄用戶cookie 44.在模版中直接打印出錯情況 {{print_r($errors)}} 45.路由分組 Route::group( [‘prefix‘=>‘auth‘,‘namespace‘=>‘Auth‘], function(){ Route::get(); Route::post(); } ); 46.獲取登入用戶信息 $user = Auth::user(); $user = $request->user(); 通過$user 實例化,可以拿到當前登入用戶的信息 public function jiePost(Request $req){ $user = $req->user(); } 47.控制器模版展示view(‘she‘,[‘pro‘=>$pro,‘att‘=>$att]); 已數組的形式進行展示 48.頁面跳轉 redirect(‘/prolist‘); 49.where 的用法 where(‘name‘,‘like‘,‘T%‘) whereBetween(‘votes‘,[1,100]); 在某值的範圍中 whereNotBetween(); 不在某值的範圍中 insertGetId 自增ID intval(); 將變量轉成整形 50.中間件 if else 判斷的越來越多,會使代碼更加難維護,系統間的的偶合性會增加,中間件解決了這個問題 生成中間件 php artisan make:middleware EmailMiddleware 生成的中間件位於 /app/Http/Middleware/EmailMiddleware 51.strtoupper() 函數把字符串轉化為大寫 52.分頁功能 DB::table()->paginate(2); return view(‘myze‘,[‘hks‘=>$h]);

laravel 基礎知識總結