This repository was archived by the owner on Nov 9, 2017. It is now read-only.
File tree 3 files changed +7
-7
lines changed
3 files changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -221,7 +221,7 @@ symfony の内部にご興味がなければ、フロントコントローラー
221
221
>
222
222
> ` sfMailer ` : メーラーオブジェクト (` ->getMailer() ` )
223
223
>
224
- > ` sfI18N ` : 国際化オブジェクト (` ->getI18N() ` )
224
+ > ` sfI18N ` : 国際化オブジェクト (` ->getI18N() ` )
225
225
>
226
226
> ` sfLogger ` : loggerオブジェクト (` ->getLogger() ` )
227
227
>
Original file line number Diff line number Diff line change 1
1
第17章 - symfony を拡張する
2
2
============================
3
3
4
- 結局のところ、symfony のふるまいを変える必要があります。特定のクラスのふるまいを修正するもしくは独自のカスタム機能を追加する必要があるにせよ、変更作業は必然です。フレームワークが予想できない固有の要望を顧客が持つからです。実際のところ、この状況はとてもありふれているので symfny は単純なクラスの継承を越えて、実行時に既存のクラスを拡張する方法を提供します。ファクトリ (factory) の設定を利用することで、symfony のコアクラスを独自クラスに置き換えることさえできます。いったん拡張機能 (エクステンション) を作れば、それをプラグインとして簡単にパッケージにできるので、別のアプリケーションもしくは別の symfony のユーザーが再利用できます。
4
+ 結局のところ、symfony のふるまいを変える必要があります。特定のクラスのふるまいを修正するもしくは独自のカスタム機能を追加する必要があるにせよ、変更作業は必然です。フレームワークが予想できない固有の要望を顧客が持つからです。実際のところ、この状況はとてもありふれているので symfony は単純なクラスの継承を越えて、実行時に既存のクラスを拡張する方法を提供します。ファクトリ (factory) の設定を利用することで、symfony のコアクラスを独自クラスに置き換えることさえできます。いったん拡張機能 (エクステンション) を作れば、それをプラグインとして簡単にパッケージにできるので、別のアプリケーションもしくは別の symfony のユーザーが再利用できます。
5
5
6
6
イベント
7
7
--------
@@ -696,7 +696,7 @@ PEAR プラグインをアンインストールするには、リスト17-17で
696
696
> プラグインスキーマのカスタマイズ
697
697
>
698
698
> ###Doctrine
699
- > モデルをビルドするとき、Doctrineによりアプリケーションとプラグインの ` config/ ` ディレクトリにあるすべての ` *schema.yml ` が検索されるので、プロジェクトのスキーまでプラグインのスキーマを上書きできます 。このマージ処理で、テーブルやあkラムを追加したり変更したりできます 。たとえば、以下の例ではプラグインスキーマで定義されたテーブルにカラムを追加する方法を示しています。
699
+ > モデルをビルドするとき、Doctrineによりアプリケーションとプラグインの ` config/ ` ディレクトリにあるすべての ` *schema.yml ` が検索されるので、プロジェクトのスキーマでプラグインのスキーマを上書きできます 。このマージ処理で、テーブルやカラムを追加したり変更したりできます 。たとえば、以下の例ではプラグインスキーマで定義されたテーブルにカラムを追加する方法を示しています。
700
700
>
701
701
> #Original schema, in plugins/myPlugin/config/schema.yml
702
702
> Article:
Original file line number Diff line number Diff line change @@ -76,7 +76,7 @@ symfony において、モデルレイヤーはもっとも遅いという評価
76
76
77
77
### Joinでクエリの回数を最小にする
78
78
79
- アプリケーションの開発期間において、それぞれのリクエストによって発行されるデータベースクエリの回数を監視すべきです。Web デバッグツールバーはそれぞれのページに対してクエリの回数を示し、小さなデータベースアイコンをクリックすればこれらのクエリの SQL コードが表示されます。クエリの回数が異つねに上昇するのを見かけたら Join の利用を考えるべきです。
79
+ アプリケーションの開発期間において、それぞれのリクエストによって発行されるデータベースクエリの回数を監視すべきです。Web デバッグツールバーはそれぞれのページに対してクエリの回数を示し、小さなデータベースアイコンをクリックすればこれらのクエリの SQL コードが表示されます。クエリの回数が異常に上昇するのを見かけたら Join の利用を考えるべきです。
80
80
81
81
Join メソッドを説明するまえに、リスト18-2で示されるように、オブジェクトの配列をループしていて、関連クラスの詳細を検索するために Propel のゲッターを使うときに何が起きているのかを検討しましょう。この例ではスキーマが ` author ` テーブルへの外部キーを持つ ` article ` テーブルを記載していることを前提にしています。
82
82
@@ -146,7 +146,7 @@ SQLステートメントを使っているのであれば、同じクエリで `
146
146
リスト18-5 - ` ArticlePeer ` クラスに対して利用可能な ` doSelect ` メソッド
147
147
148
148
[php]
149
- // Articleオ ブジェクトを検索する
149
+ // Article オブジェクトを検索する
150
150
doSelect()
151
151
152
152
// Article オブジェクトを検索し、関連する Author オブジェクトをハイドレイトする
@@ -293,7 +293,7 @@ Propel を利用しているとき、すでにオブジェクトはハイドレ
293
293
294
294
### データベースを高速化する
295
295
296
- symfony を利用するかかかわらず適用できるデータベース固有の最適化テクニックが多く存在します 。このセクションは手短にもっとも共通のデータベース最適化戦略の要点をまとめていますが、モデルレイヤーを最大限利用するにはデータベースエンジンと管理方法に関して詳しい知識が必要です。
296
+ symfony を利用するかにかかわらず適用できるデータベース固有の最適化テクニックが多く存在します 。このセクションは手短にもっとも共通のデータベース最適化戦略の要点をまとめていますが、モデルレイヤーを最大限利用するにはデータベースエンジンと管理方法に関して詳しい知識が必要です。
297
297
298
298
> ** TIP**
299
299
> Web デバッグツールバーはそれぞれのクエリのために費やされる時間をページ単位で表示し、本当にパフォーマンスが改善されたのかを判断するためにすべての調整をモニタリングされることを覚えておいてください。
@@ -341,7 +341,7 @@ symfony を利用するかかかわらず適用できるデータベース固有
341
341
password: password
342
342
persistent: true # 永続的接続を使う
343
343
344
- これがデータベース全体のパフォーマンスを改善をするのかどうかは多くの要素によります。この主題に関するドキュメントはインターネット上で豊富にあります。利点を検証するためにこの設定を変更する前あとでアプリケーションのパフォーマンスをかならずベンチマークしてください 。
344
+ これがデータベース全体のパフォーマンスを改善をするのかどうかは多くの要素によります。この主題に関するドキュメントはインターネット上で豊富にあります。利点を検証するためにこの設定を変更する前後でアプリケーションのパフォーマンスをかならずベンチマークしてください 。
345
345
346
346
> ** SIDEBAR**
347
347
> MySQL 固有のティップス
You can’t perform that action at this time.
0 commit comments