🇺🇦 UKRAINE NEEDS YOUR HELP NOW!
Doctrine
Projects
Coding Standard
Collections
Common
Data fixtures
DBAL
Event Manager
Inflector
Instantiator
Lexer
Migrations
MongoDB ODM
ORM
Persistence
PHPCR ODM
RST Parser
Skeleton Mapper
View All
Development
Community
Contributor Workflow
Maintainer Workflow
Contribute to Website
Maintainers
Contributors
Policies
GitHub
Styleguide
Consulting
Partners
Blog
Edit
About the Author
About Sensio Labs
About the Authors
Contributors
Roman S. Borschel
Guilherme Blanco
Konsta Vesterinen
Companies
centre{source}
Sensio Labs
Other Contributors
Conclusion
Behaviours
はじめに
シンプルなテンプレート
リレーション付きのテンプレート
デリゲートメソッド
ビヘイビアを作成する
コアビヘイビア
紹介
Versionable
Timestampable
Sluggable
I18n
NestedSet
Searchable
Geographical
`zipcode->fromArray(` value); $zipcode->save(); }
SoftDelete
入れ子のビヘイビア
ファイルを生成する
生成クラスをクエリする
まとめ
はじめに
ドライバ
Memcache
APC
Db
クエリキャッシュと結果キャッシュ
はじめに
新しいDQLクエリを初期化する
DQLクエリを解析する
データベース固有のSQLクエリをビルドする
SQLクエリを実行する
結果セットをビルドする
結果セットを返す
新しいDQLクエリを初期化する
SQLクエリを実行する(キャッシュから取得)
結果セットをビルドする
結果セットを返す
新しいDQLクエリを初期化する
結果セットを返す
クエリキャッシュ
クエリキャッシュを使用する
微調整する
結果キャッシュ
結果キャッシュを使用する
微調整する
まとめ
PHPファイルのフォーマット
一般
インデント
最大の長さ
改行
命名慣習
クラス
インターフェイス
ファイルの名前
関数とメソッド
変数
定数
レコードのカラム
コーディングスタイル
PHPコードの境界
文字列
リテラル文字列
アポストフィを含む文字列
変数の置き換え
文字列の連結
改行の連結
配列
クラス
関数とメソッド
制御文
インラインドキュメント
まとめ
マネージャー
接続を読み取る
接続
利用できるドライバ
接続を作成する
接続をflushする
テーブル
テーブルオブジェクトを取得する
カラム情報を取得する
リレーションの情報を取得する
// ... $array = `relation->toArray(); print_r(` array);
ファインダーメソッド
カスタムのテーブルクラス
カスタムのファインダー
レコード
プロパティ
レコードを更新する
レコードを置き換える
レコードをリフレッシュする
リレーションをリフレッシュする
レコードを削除する
式の値を使う
レコードの状態を取得する
オブジェクトのコピーを取得する
空白のレコードを保存する
カスタムの値をマッピングする
シリアライズ
`user = unserialize(` string);
存在をチェックする
カラム用のコールバック関数
コレクション
要素にアクセスする
新しい要素を追加する
コレクションのカウントを取得する
コレクションを保存する
コレクションを削除する
キーのマッピング
関連レコードをロードする
バリデータ
さらにバリデーション
ValidもしくはNot Valid
暗黙のバリデーション
明示的なバリデーション
プロファイラー
$conn = Doctrine_Manager::connection(); `conn->setListener(` profiler);
基本的な使い方
マネージャーをロックする
楽観的ロック
悲観的ロック
例
技術的な詳細
ビュー
ビューを使う
foreach ($users as `user) { print_r(` us->toArray()); }
まとめ
設定のレベル
ポータビリティ
ポータビリティモードの属性
例
識別子のクォート
ハイドレーションの上書き
テーブルクラスを設定する
クエリクラスを設定する
コレクションクラスを設定する
カスケーディングセーブを無効にする
エクスポートする
命名規約の属性
インデックス名のフォーマット
シーケンス名のフォーマット
テーブル名のフォーマット
データベース名のフォーマット
バリデーション属性
バリデーションモードの定数
例
まとめ
はじめに
接続を開く
接続を読み取る
現在の接続
現在の接続を変更する
接続を反復する
接続名を取得する
接続を閉じる
すべての接続を取得する
接続をカウントする
データベースの作成と削除
カスタム接続を書く
まとめ
インポートする
ダンプする
実装
書く
入れ子集合用のフィクスチャ
国際化用のフィクスチャ
まとめ
コアハイドレーションメソッド
レコード
配列
スカラー
シングルスカラー
オンデマンド
入れ子集合のレコード階層
入れ子集合の配列階層
ハイドレーションメソッドを書く
はじめに
Not Null
User: columns: username: type: string(255) notnull: true primary: true #
Eメール
Not Blank
No Space
Past
Future
最小長
Country
IPアドレス
HTML Color
User: columns: # ... favorite_color: type: string(7) htmlcolor: true #
Range
Unique
正規表現
クレジットカード
User: columns: # ... cc_number: type: integer(16) creditcard: true #
Read Only
User: columns: # ... readonly_value: type: integer(16) readonly: true #
Unsigned
US State
まとめ
エクスポート
はじめに
データベースを作成する
テーブルを作成する
外部キーを作成する
テーブルを変更する
インデックスを作成する
データベースの要素を削除する
Import
紹介
データベースの一覧を表示する
// ... $databases = `conn->import->listDatabases(); print_r(` databases);
シーケンスの一覧を表示する
`conn->import->listSequences('events_db'); print_r(` sequences);
制約の一覧を表示する
`conn->import->listTableConstraints('event_participants'); print_r(` constraints);
テーブルカラムの一覧を表示する
`conn->import->listTableColumns('events'); print_r(` columns);
テーブルインデックスの一覧を表示する
`conn->import->listTableIndexes('events'); print_r(` indexes);
テーブルの一覧を表示する
ビューの一覧を表示する
DataDict
はじめに
ポータブルな宣言を取得する
ネイティブな宣言を取得する
ドライバ
Mysql
テーブル型を設定する
まとめ
カラム
カラムのエイリアス
デフォルトの値
データの型
はじめに
型修飾子
論理型
整数型
浮動小数点型
小数型
文字列型
配列
オブジェクト
blob
clob
timestamp
time
date
enum
gzip
例
リレーション
はじめに
外部キーのアソシエーション
一対一
一対多と多対一
ツリー構造
テーブルのアソシエーションをジョインする
多対多
外部キーの名前
整合アクション
インデックス
はじめに
インデックスを追加する
インデックスオプション
特別なインデックス
チェック
テーブルオプション
レコードフィルター
遷移的な永続化
アプリケーションレベルのカスケード
保存カスケード
削除カスケード
データベースレベルのカスケード
まとめ
はじめに
SELECTクエリ
DISTINCTキーワード
集約値
UPDATEクエリ
DELETEクエリ
FROM句
JOINの構文
ONキーワード
WITHキーワード
INDEXBYキーワード
WHERE句
条件式
リテラル
入力パラメータ
演算子と優先順位
IN式
LIKE式
EXISTS式
AllとAnyの式
サブクエリ
関数式
文字列関数
算術関数
サブクエリ
はじめに
サブクエリを利用する比較
GROUP BY、HAVING句
ORDER BY句
はじめに
集約値でソートする
ランダム順を使う
LIMITとOFFSET句
ドライバーのポータビリティ
limit-subquery-algorithm
名前付きクエリ
名前付きクエリを作成する
名前付きクエリにアクセスする
名前付きクエリを実行する
名前付きクエリにクロスアクセスする
BNF
マジックファインダー
クエリをデバッグする
まとめ
はじめに
接続リスナー
新しいリスナーを作成する
リスナーを追加する
プレ接続とポスト接続
トランザクションリスナー
クエリ実行リスナー
ハイドレーションリスナー
レコードリスナー
レコードフック
DQLフック
複数のリスナーを連結する
イベントオブジェクト
インボーカーを取得する
イベントコード
インボーカーを取得する
次のオペレーションをスキップする
次のリスナーをスキップする
まとめ
マネージャーの例外
リレーションの例外
接続の例外
クエリの例外
まとめ
Extensions
要件を確認する
インストールする
サンドボックス
SVN
インストールする
更新する
SVN Externals
PEARインストーラ
Pearパッケージをダウンロードする
実装する
Doctrineライブラリをインクルードする
Doctrineの基底クラスをrequireする
オートローダーを登録する
オートロード機能の説明
ブートストラップファイル
テストスクリプト
まとめ
はじめに
入れ子集合
はじめに
セットアップする
マルチプルツリー
Working with Trees
rootノードを作成する
`treeObject->createRoot(` category);
ノードを挿入する
`child1->getNode()->insertAsLastChildOf(` category);`child2->getNode()->insertAsLastChildOf(` category);
ノードを削除する
ノードを移動させる
ノードを検査する
兄弟の検査と読み込み
子孫の検査と読み取り
単純木をレンダリングする
高度な使い方
リレーションでツリーを取得する
インデントでレンダリングする
まとめ
はじめに
コンパイル
コンサーバティブな取得
クラスファイルをバンドルする
バイトコードキャッシュを使用する
オブジェクトを開放する
他のティップス
まとめ
Manual
単一継承
具象継承
カラム集約
まとめ
コードの例
Doctrineって何?
ORMって何?
何が問題なの?
最小要件
基本的な概要
Doctrineの説明
キーコンセプト
さらなる読み物
まとめ
DSN、Data Source Name
例
新しい接続を開く
データベースの遅延接続
接続をテストする
まとめ
はじめに
モデルを生成する
既存のデータベース
最初のインポートを行う
スキーマファイル
モデルを書く
モデルをオートロードする
コンサーバティブ
アグレッシブ
まとめ
Attribution-Share Alike 3.0 Unported License
マイグレーションを実行する
実装
マイグレーションクラスを書く
利用可能なオペレーション
テーブルを作成する
テーブルを削除する
テーブルをリネームする
制約を作成する
制約を削除する
外部キーを削除する
外部キーを削除する
カラムを追加する
カラムをリネームする
カラムを変更する
カラムを削除する
不可逆なマイグレーション
インデックスを追加する
インデックスを削除する
プレフックとポストフック
Up/Downの自動化
マイグレーションを生成する
データベースから
既存のモデルから
差分ツール
まとめ
はじめに
`q = new Doctrine_RawSql(` conn);
コンポーネントクエリ
複数のコンポーネントから取得する
まとめ
ユーザー管理システム
フォーラムアプリケーション
まとめ
はじめに
インデックス構造
インデックスのビルド
テキストアナライザー
クエリ言語
検索を実行する
ファイル検索
まとめ
はじめに
アーキテクチャ
Doctrine CORE
Doctrine DBAL
Doctrine ORM
デザインパターン
動作速度
まとめ
はじめに
ネスティング
Savepoints
Isolationレベル
まとめ
テストを実施する
CLI
ブラウザ
テストを書く
チケットテスト
テスト用のメソッド
Equalをアサートする
Not Equalをアサートする
Identicalをアサートする
Trueをアサートする
Falseをアサートする
モックドライバ
テストクラスのガイドライン
テストメソッドのガイドライン
まとめ
ページ分割
はじめに
ページャーを扱う
`pager->getRange(` rangeStyle, $options = array());
レンジスタイルをコントロールする
スライディング
ジャンピング
ページャーによる高度なレイアウト
マスク
テンプレート
ページャーレイアウトをカスタマイズする
Facade
データベースの作成と削除
コンビニエンスメソッド
`conn = Doctrine_Manager::connection(); Doctrine_Core::dump(` conn);
タスク
コマンドラインインターフェイス
はじめに
タスク
`e) { throw new Doctrine_Exception(` e->getMessage()); }
使い方
サンドボックス
インストール方法
まとめ
テストスキーマを定義する
リレーションを扱う
関連レコードを作成する
// ... `phone2->link('User', array(` user['id']));
関連レコードを読み取る
関連レコードを更新する
関連レコードをクリアする
関連レコードを削除する
関連レコードに取り組む
リレーションの存在をテストする
多対多のリレーション
新しいレコードを作成する
リンクを削除する
オブジェクトをフェッチする
クエリをデータベースに送信する
データベースから戻り値を検索する
結果セット要素のカスタムインデックス登録
値のキャストと準備
一覧を表示する値の割り当て
2次元の結果セットの配列から多次元配列を生み出す。次元の数は入れ子のjoinの数と等しい(HYDRATE_ARRAYのみ)
//foreach// を使用して結果をイテレートする
配列アクセスの角かっこを使用して個別の要素にアクセスできる
//count()// 関数を使用して結果の数を取得する
//isset()// を使用して要素が存在するかチェックする
//unset()// を使用して任意の要素の割り当てを解除する
サンプルのクエリ
フィールドの遅延ロード
配列とオブジェクト
配列に
配列から
配列で同期する
コンストラクタをオーバーライドする
まとめ
はじめに
省略構文
冗長な構文
リレーション
リレーションを検出する
リレーションをカスタマイズする
一対一
一対多
多対多
機能と例
接続バインディング
属性
列挙型
ActAsビヘイビア
リスナー
オプション
インデックス
継承
単一継承
具象継承
カラム集約継承
カスタムのエイリアス
パッケージ
カスタムパスのパッケージ
グローバルスキーマの情報
スキーマファイルを使う
まとめ
Projects
Doctrine1
Documentation
This project is no longer maintained and has been archived.
Table of Contents
master
Maintained
master
Unmaintained
Japanese Documentation
Manual
Top