首頁 > 後端開發 > PHP問題 > php的orm是什麼意思

php的orm是什麼意思

青灯夜游
發布: 2023-03-15 15:18:01
原創
4494 人瀏覽過

在php中,ORM全名為“Object-Relationl Mapping”,意思是“物件-關係映射”,簡單的說就是物件模型和關係模型的一種映射;ORM的主要用途是把物件模型表示的物件映射到基於sql的關係模型資料庫結構中去。

php的orm是什麼意思

本教學操作環境: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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板