2010-12-03 2 views
3

私は小規模な学校管理プロジェクトを行っています。管理されるテーブル(請求書、人物、クラス...)ごとに数千のレコードがあります。 HTML/AJAX UIとMySQL/PHPバックエンドによる古典的なWebアプリケーション。php orm framework

時間を節約し、より良いコードを保存するには、MySQLのORMを使用したいと思っています。これは、ほとんどのデータベーストランザクションを処理します。

ここでは、どのようなORMを使用するのが最適でしょうか?

ありがとうございました。

答えて

5

Doctrineは非常に強力なORMライブラリです。 simshaunが示唆したように

+0

がそこにたくさんありますが、教義は、最も広く使われているようです。これは、より一般的なPHP Webフレームワークの1つであるSymfonyプロジェクトでも使用されています。 – Chestone

0

ormではなく、ormでフレームワークを見たい場合があります。フレームワークがあなたのために行うデータベースを使用してORMを取得するには、多大な労力が必要です。おそらく、CakePHP、CodeIgniter、Symphonyが動作状態で地面から降りるのが最も簡単です。 AFAIKには、すばやく足場アプリケーションを作成する非常に便利なコード生成ツールがあります。

0

は、教義をチェックアウトするか、あるいはPropel

0

I本当にDataMapperCodeIgniterを使用してのように。

CodeIgniterは、純粋なPHPが好きでも、使い慣れたPHPフレームワークです。

DataMapperは、有名なRuby On Railsフレームワークのライブラリをベースにした素晴らしいORMです。

0

KohanaのORMライブラリは、使いやすく構成が簡単で、ほとんどの中小プロジェクトに最適です。 DoctrineとPropelは素晴らしいですが、コード生成を使用しているため、より多くの意思決定が必要です(おそらく、学校プロジェクトにとって最良の選択肢ではありません)。彼らはkohanaまたはコードイグナイターのORMよりも柔軟性が高く(設定オプションのトン)、学習曲線が急であり、より多くの設定を必要とします( 'convention vs configuration'を読む)。

の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

関連する問題