タグ

ORMに関するmasaya-chonanのブックマーク (11)

  • PHPでの「ORMライブラリ」機能比較

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    PHPでの「ORMライブラリ」機能比較
  • Doctrine - Doctrine ORM for PHP - Defining Models

    以前述べたように、Doctrineの最も低いレベルにおいてスキーマはデータベーステーブル用のスキーマメタデータをマッピングするPHPクラスの一式で表現されます。 この章ではPHPコードを使用してスキーマ情報をマッピングする方法を詳しく説明します。 データベースの互換性の問題の1つは多くのデータベースにおいて返されるクエリの結果セットが異なることです。MySQL はフィールドの名前はそのままにします。このことは"SELECT myField FROM ..."形式のクエリを発行する場合、結果セットはmyFieldのフィールドを含むことを意味します。 不幸にして、これはMySQLとその他のいくつかのデータベースだけの挙動です。例えばPostgresはすべてのフィールド名を小文字で返す一方でOracleは大文字ですべてのフィールド名を返します。"だから何?Doctrineを使う際にこれがどのよう

  • Doctrine - Doctrine ORM for PHP - Introduction

    次のセクションではDoctrineがいるORMツールの世界を説明することにします。Doctrine ORMは主に Active Record、Data Mapperと Meta Data Mappingパターンでビルドされています。 Doctrine_Recordという名前の特定の基底クラスを継承することで、すべての子クラスは典型的なActiveRecordインターフェイス(save/delete/etc.)を取得するのでDoctrineはレコードのライフサイクルの扱いとモニタリングを簡単にできます。しかしながら、大抵の場合実際の作業はDoctrine_Tableクラスのような他のコンポーネントに向けられます。このクラスの典型例はData Mapperインターフェイス、createQuery()、find(id)、findAll()、findBy*()、 findOneBy*()などです

  • DoctrineとPropelのパフォーマンス比較 - しんふぉにゃん

    # 2009/09/23 22:45 Fivestarさんからコメントで教えていただいたDoctrineのINSERTについてテスト1に追記しました。 # 2009/09/24 01:03 Fivestarさんからコメントで教えていただいたDoctrineのQueryCacheについてテスト3に追記しました。 symfonyとしては「これからはDoctrineがメイン」という方向性(symfony 1.3ではデフォルトのORMがDoctrineになっていますし)のようなので、いろいろな機能がDoctrineを基準に実装されていくことになるのだろうと思われますが、実際の案件に使っていくには、やはりパフォーマンスが気になるところです。 そもそもPropelでもPDOが採用された1.3が出るまではさんざん「遅い」と言われていて、それが「symfonyってもっさり」の原因になっていたのではないかと

    DoctrineとPropelのパフォーマンス比較 - しんふぉにゃん
  • Doctrine 1.1 is now available! - ゆっくり*ゆっくり

    Today I am very pleased to bring news to you that Doctrine 1.1.0 stable is available. http://www.doctrine-project.org/blog/doctrine-1-1-released ついにDoctrineの1.1が正式リリースされました。長かったですが、バグフィックスをがんばってたんですかね。 Hilights Hydration用のメソッドの追加 マイグレーション用のDiffツールを追加 fromArray()およびtoArray()でカスタムアクセサのサポート getModified(), toArray(), fromArray(), synchronizeWithArray()の改善 Searchable, SoftDelete, Versionableビヘイビアの改善 様々

    Doctrine 1.1 is now available! - ゆっくり*ゆっくり
  • Doctrine - Doctrine ORM for PHP - SoftDelete

    You are currently reading the 1.2 documentation. Switch to 2.0  SoftDeleteビヘイビアはdelete()機能をオーバーライドしdeletedカラムを追加するとてもシンプルだが大いにおすすめできるモデルビヘイビアです。delete()が呼び出されるとき、データベースからレコードを削除する代わりに、削除フラグを1にセットします。下記のコードはSoftDeleteビヘイビアでモデルを作る方法です。 // models/SoftDeleteTest.php class SoftDeleteTest extends Doctrine_Record { public function setTableDefinition() { $this->hasColumn('name', 'string', null, array( 'pr

  • Doctrineで論理削除を意識せずに扱う

    上記のように記述すればSoftDeleteテンプレートが実装されます。 それではSoftDeleteテンプレートがどのようなことを行うのかを少し説明します。 SoftDeleteテンプレートを実装したモデルは自動的に deletedカラムがモデルに追加され、trueの場合は削除として扱われるようになります。 検索時は、Doctrine_Queryのexecuteメソッドが実行されたタイミングで、(deleted = false OR deleted IS NULL)の条件が追加されます。もちろんエイリアスも張られます。 Doctrine_Tableに実装されているファインダメソッド(findXXX)や$article->getComments()などとやったときも内部でDoctrine_Queryが生成されるので Doctrineのオブジェクトを取得する場合は大体大丈夫なのではないかと思い

    Doctrineで論理削除を意識せずに扱う
  • symfony - open-source PHP5 web framework

    Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps

    symfony - open-source PHP5 web framework
  • Doctrine - Doctrine ORM for PHP

    You are currently reading the 1.2 documentation. Switch to 2.0  Doctrine ORM for PHP Table of Contents The Guide to Doctrine for PHP is the main source of documentation for the project. It is a reference book that can be read from start to finish and provides dozens of practice exercises that can be executed by the user. Introduction Chapter 1Getting Started Chapter 2Introduction to Connections Ch

  • オブジェクト関係マッピング - Wikipedia

    オブジェクト関係マッピング(英: Object-relational mapping、O/RM、ORM)とは、データベースとオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。オブジェクト関連マッピングとも呼ぶ。実際には、オブジェクト指向言語から使える「仮想」オブジェクトデータベースを構築する手法である。オブジェクト関係マッピングを行うソフトウェアパッケージは商用のものもフリーなものもあるが、場合によっては独自に開発することもある。 オブジェクト指向プログラミングでは、データ管理タスクは一般に単純なスカラー[要曖昧さ回避]ではない値を持つオブジェクトを操作するよう実装される。例として、1人の人物に0個以上の電話番号と0個以上の住所が対応している住所録での住所検索を考えてみよう。オブジェクト指向的な実装では、「人物オブジェクト」に住所録の内容を格納する「

  • O/Rマッピングの役割とメリット

    O/Rマッピングは、従来の煩雑なデータベースに関する処理の記述をスマートにし、、柔軟なアプリケーションの構築を可能にします。連載ではオープンソースのO/Rマッピングフレームワーク「Hibernate」を用いてO/Rマッピングの基礎を解説します。そしてさらに、J2EEアプリケーションへの実践的な適用方法とそのメリットも紹介していきます。(編集局)

    O/Rマッピングの役割とメリット
  • 1