在經過了一段時間的開發後,我對Laravel框架的認識又在逐步的加深,對於這個世界占有量NO.1的框架... 我想說,我已經在逐步的感受到他的恐怖之處... 一.建表--Laravel在資料庫建表上有自己獨立內置的結構,可以完全不用藉助原生SQL語句或者SQLyogEnt、Navicat 這樣的建表 ...
在經過了一段時間的開發後,我對Laravel框架的認識又在逐步的加深,對於這個世界占有量NO.1的框架... 我想說,我已經在逐步的感受到他的恐怖之處...
一.建表--Laravel在資料庫建表上有自己獨立內置的結構,可以完全不用藉助原生SQL語句或者SQLyogEnt、Navicat 這樣的建表工具,進行資料庫的建立,增刪改查,和數據交互;我想這可能是它牢牢占據NO.1的一大靚點;在ThinkPHP中則需要我們藉助SQL語句或者建表工具去逐步完善數據
1.首先我們需要建立模型:我用的是gitbash,gitbash是Windows下的命令工具,基於msys GNU環境,有git分散式版本控制工具,主要應用於git.但是在Laravel里也可以直接使用 php artisan make:model Models/GoodsModel -m 完成模型的創建和建表結構的創建(/database/migrations)
2.向goods數據表填充數據,要註意數據的類型是嚴格區分的,並且一定要加..編程之友:註釋君;添加完後使用php artisan migrate命令完成表的創建;可以自行YY下 多表同時創建的那種"還有誰"的感覺;
Schema::create('goods', function (Blueprint $table) {
$table->increments('id')->comment('商品主鍵');
$table->string('title')->comment('商品的標題');
3.假設某個欄位不符合要求或者需要添加欄位怎麼辦,無須擔心,從github中pull下項目後在數據表裡直接修改 只需要用php artisan migrate:refresh
,然後今天的工作結束後push到github庫里,其他小伙伴在更新後就可以直接使用新的數據表結構,而且還可以看到更改記錄...這是開發者的一大福音~~
二.ORM---在介紹建表時已經使用了創建模型的命令,php artisan make:model XXX;Laravel里模型是對面向對象開發思想最好的詮釋,讓對象幫我們完成需求;
摘自5.1手冊:(Laravel 的 Eloquent ORM 提供了漂亮、簡潔的 ActiveRecord 實現來和資料庫進行交互。每個資料庫表都有一個對應的「模型」可用來跟數據表進行交互。你可以通過模型查找數據表內的數據,以及將記錄添加到數據表中。)
本人在實際使用中也實實在在的感受到了通過創造模型對數據表操作帶來的便利,譬如批量賦值,跨表查詢,刪除模型和軟刪除,模型關聯,當然這些在TP框架中也可以實現,這一點屬於仁者見仁智者見智;根據個人喜好而定
三:session的用法
1.ThinkPHP對Session操作進行了封裝,並且無需引入就可以使用,Session的啟動會在應用初始化的時候自動執行,所以無需手動使用Session::start() 來啟動Session。
使用Session類操作和普通方式調用$_SESSION來操作並沒有本質不同,只是Session類很多參數可以根據項目配置來靈活設置,最常用的操作方法示例: // 檢測Session變數是否存在:Session::is_set('name'); // 給Session變數賦值:Session::set('name','value');// 獲取Session變數:Session::get('name');
2.Laravel中Session的常用方法有
$request->session()->get('key');//獲取session里的某個鍵名
$request->session()->set('key','default');//設定一個預設值,當指定鍵名不存在便返回預設值
$request->session()->all()返回所有數據
session('k'=>$v)寫入session保存數據;
以及快閃記憶體數據session()->flash();和保留特定數據->keep(['','']);
也可以自定義session驅動