我有一個小型的學校管理項目。每張表格(發票,人員,班級)需要管理幾千條記錄。使用HTML/AJAX UI和MySQL/PHP後端的經典網絡應用程序。php orm框架
爲了節省一些時間並獲得更好的代碼我想爲MySQL使用ORM,它將爲我處理大部分數據庫事務。
什麼是最好的ORM在這種情況下使用?
謝謝。
我有一個小型的學校管理項目。每張表格(發票,人員,班級)需要管理幾千條記錄。使用HTML/AJAX UI和MySQL/PHP後端的經典網絡應用程序。php orm框架
爲了節省一些時間並獲得更好的代碼我想爲MySQL使用ORM,它將爲我處理大部分數據庫事務。
什麼是最好的ORM在這種情況下使用?
謝謝。
Doctrine是一個功能非常強大的ORM庫。
你可能想用orm來看看框架,而不僅僅是orm。爲了讓ORM能夠使用框架爲您提供的數據庫,將會有很多工作要做。在工作狀態下最容易起飛的地方可能是CakePHP,CodeIgniter和Symphony。 AFAIK所有這些都有非常方便的代碼生成工具,可以立即創建腳手架應用程序。
由於simshaun建議,退房主義,或者Propel
我真的很喜歡使用CodeIgniter與DataMapper。
CodeIgniter是一個PHP框架,即使您喜歡純PHP,也非常容易習慣。
DataMapper是一個很好的ORM,它基於着名的Ruby On Rails框架庫。
Kohana的ORM庫很容易使用和配置,這對大多數中小型項目都很有用。教義和推動是偉大的,但需要做更多的決策,因爲他們使用代碼生成(可能不是學校項目的最佳選擇)。它們比kohana或代碼點火器的ORM更靈活(配置選項很多),但它們的學習曲線更陡峭,涉及的配置更多(閱讀「約定vs配置」)。
的Kohana 3的ORM的一個例子:
// Model definition file - /classes/model/animal.php
class Model_Animal extends ORM
{
/* Find all animals that bark */
public function barking_animals()
{
return $this->where('sound', '=', 'barker')->find_all();
}
/* Find all animals that quack */
public function quacking_animals
{
return $this->where('sound', '=', 'quack')->find_all();
}
}
// In some controller file somewhere...
$loudAnimals = ORM::factory('animal')->barking_animals();
// don't rent an apartment if you're neighbors have any of these animals...
foreach ($loudAnimals as $animal)
{
echo $animal->name;
}
// add a new animal to db
$newAnimal = orm::factory('animal');
$newAnimal->name = 'Obese Cat';
$newAnimal->weight = '30lbs';
$newAnimal->sound = 'fat quack';
$newAnimal->save();
最後,一些參考材料... http://kohanaframework.org/guide/tutorials.orm
有很多在那裏,但學說似乎是使用最廣泛的。它也被Symfony項目使用,該項目是更受歡迎的PHP Web框架之一。 – Chestone 2010-12-03 21:54:29