Laravel框架是世界上最受歡迎的PHP開發框架,沒有之一。近年來Laravel以強大、安全、優雅等特性迅速佔據了PHP開發框架第一份額的寶座。現在Laravel框架已成為大型網路公司及PHP攻城獅們的首選框架。
課程播放網址:http://www.php.cn/course/282.html
該老師講課風格:
講課親切自然,樸實無華,沒有矯揉造作,也不刻意渲染,而是婁娓而談,細細道來,師生之間在一種平等、協作、和諧的氣氛下,進行默默的情感交流,將對知識的渴望和探索融於簡樸、真實的教學情景之中,學生在靜靜的思考、默默的首肯中獲得知識
本影片中較為困難是Eloquent OR了:
什麼是Eloquent
Eloquent 是Laravel 的'ORM',即'Object Relational Mapping' ,對象關係映射。 ORM 的出現是為了幫我們把資料庫的運作變得更方便。
Eloquent 讓一個 'Model類別' 對應一張資料庫表,並且在底層封裝了很多 'function',可以讓 Model 類別非常方便地呼叫。我們以 Learn-Laravel-4 中的 'app/models/Article.php' 為例大致說明一下。這個檔案的程式碼如下:
<?php class Article extends \Eloquent { protected $fillable = []; }
'protected $fillable = [];' 這一行程式碼在這裡沒有任何價值,是 generator 自動產生的,在此我們不做討論。
這個類別簡直再簡單不過了,沒有指定命名空間,沒有建構函數,如果那一行沒有意義的程式碼也不算上的話,這個檔案就只有兩個有實際意義的東西: 'Article ' 和'\Eloquent'。沒錯,Eloquent 就是這麼屌炸天,只需要繼承一下 Eloquent 類,就可以乾 'first() find() where() orderBy()' 等非常非常多的事情,這就是面向對象的強大威力。
Eloquent 基本用法
廢話不多說,下面我將直接展示 Eloquent 的幾種常見用法的代碼,在 MarkDown 編輯器裡面純手打,若有拼寫錯誤大家見諒。
找到id 為2 的文章列印其標題
$article = Article::find(2); echo $article->title;
尋找標題為「我是標題」的文章,並列印id
$article = Article::where('title', '我是标题')->first(); echo $article->id;
查詢所有文章並循環列印出所有標題
$articles = Article::all(); // 此处得到的 $articles 是一个对象集合,可以在后面加上 '->toArray()' 变成多维数组。 foreach ($articles as $article) { echo $article->title; }
查找 id 在 10~20 之间的所有文章并打印所有标题
$articles = Article::where('id', '>', 10)->where('id', '<', 20)->get(); foreach ($articles as $article) { echo $article->title; }
查询出所有文章并循环打印出所有标题,按照 updated_at 倒序排序
$articles = Article::where('id', '>', 10)->where('id', '<', 20)->orderBy('updated_at', 'desc')->get(); foreach ($articles as $article) { echo $article->title; }
基础使用要点
1. 每一个继承了 Eloquent 的类都有两个 '固定用法' 'Article::find($number)' 'Article::all()',前者会得到一个带有数据库中取出来值的对象,后者会得到一个包含整个数据库的对象合集。
2. 所有的中间方法如 'where()' 'orderBy()' 等都能够同时支持 '静态' 和 '非静态链式' 两种方式调用,即 'Article::where()...' 和 'Article::....->where()'。
3. 所有的 '非固定用法' 的调用最后都需要一个操作来 '收尾',本片教程中有两个 '收尾操作':'->get()' 和 '->first()'。
4. 如果你不理解为什么 'Article' 这个类可以使用 '->where()' '->get()' 等很多方法的话,说明你需要去读一下 PHP 对象继承的文档了:对象继承。
以上是輕鬆學會Laravel-基礎篇的詳細內容。更多資訊請關注PHP中文網其他相關文章!