2010-12-03 70 views
3

我有一个小型的学校管理项目。每张表格(发票,人员,班级)需要管理几千条记录。使用HTML/AJAX UI和MySQL/PHP后端的经典网络应用程序。php orm框架

为了节省一些时间并获得更好的代码我想为MySQL使用ORM,它将为我处理大部分数据库事务。

什么是最好的ORM在这种情况下使用?

谢谢。

回答

5

Doctrine是一个功能非常强大的ORM库。

+0

有很多在那里,但学说似乎是使用最广泛的。它也被Symfony项目使用,该项目是更受欢迎的PHP Web框架之一。 – Chestone 2010-12-03 21:54:29

0

你可能想用orm来看看框架,而不仅仅是orm。为了让ORM能够使用框架为您提供的数据库,将会有很多工作要做。在工作状态下最容易起飞的地方可能是CakePHP,CodeIgniter和Symphony。 AFAIK所有这些都有非常方便的代码生成工具,可以立即创建脚手架应用程序。

0

由于simshaun建议,退房主义,或者Propel

0

我真的很喜欢使用CodeIgniterDataMapper

CodeIgniter是一个PHP框架,即使您喜欢纯PHP,也非常容易习惯。

DataMapper是一个很好的ORM,它基于着名的Ruby On Rails框架库。

0

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