我有一个小型的学校管理项目。每张表格(发票,人员,班级)需要管理几千条记录。使用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