在php中,ORM全名為“Object-Relationl Mapping”,意思是“物件-關係映射”,簡單的說就是物件模型和關係模型的一種映射;ORM的主要用途是把物件模型表示的物件映射到基於sql的關係模型資料庫結構中去。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
orm是什麼意思
O = Object
#RM->Relational (關係) Mapping(映射)
#即是Object-Relationl Mapping,簡單的說就是物件模型和關係模型的一種映射。
ORM所代表的什麼想法呢:
資料庫的表(table) --> 類別(class)
記錄(record,行資料)–> 物件(object)
#欄位(field)–> 物件的屬性(attribute)
#它的作用是在關係型資料庫和物件之間作一個映射,這樣,我們在具體的操作資料庫的時候,就不需要再去和複雜的SQL語句打交道,只要像平時操作物件一樣操作它就可以了。
舉個例子:取得一篇文章,傳統的方式先要執行一個sql檢索資料
select * from post where id = 1
然後輸出標題和內容使用
echo $post['title']; echo $post['content'];
上面的程式碼遇到面向對象強迫症者,他們會糾結死的。
所以他們想出了這個東西,在ORM裡獲取一篇文章可以這樣:
$post = postTable::getInstance()->find(1);#会再内部执行select * from post where id = 1
然後輸出:
echo $post->getTitle(); echo $post->getContent();
媽媽再也不用擔心我的強迫症了^_^
高級點的應用,文章和分類是一對多關係、文章和標籤是多對多關係
$cate = $post->getCategory(); //获取文章分类 echo $cate->getName(); //获取分类名 $tags = $post->getTags(); //获取一个文章的所有标签
是不是一個sql都沒寫就獲取到我們需要的所有數據了?使用ORM可以完全不寫sql而實現應用,這些ORM都替我們做了。
除此之外,orm還可以隔離底層資料庫層,我們不需要關心我們使用的是mysql還是其他的關係型資料庫。
我知道的orm:doctrine和propel
除了orm之外還有odm,即object document mapping,物件文檔映射,使用文檔資料庫例如mongodb時使用
推薦學習:《PHP影片教學》
以上是php的orm是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!