blogチュートリアル(14) まとめと応用
このチュートリアルをマスターできたら、次はどうしますか?
チュートリアルのプログラムを改良してみる
このチュートリアルのアプリケーションは非常にシンプルなので、いろいろと不足しています。 必要だと思う機能を追加してみてください。 例えば、以下のような機能が考えられます。
- 各投稿データにカテゴリを追加
- 投稿の削除画面や編集画面のURLで無効なIDが指定された場合のエラー処理
- 投稿の一覧画面に検索機能を追加
- 投稿の一覧画面にページング機能を追加
- :
次のチュートリアルへ進んでみる
symfonyには、もう少し複雑で規模の大きなアプリケーションを扱うJobeetチュートリアルがあります。
Jobeetチュートリアルでは、symfonyのほぼすべての機能について学ぶことができます。
Symfonyについて、詳しく学んでみる
Symfonyについて学ぶには、上記Jobeetチュートリアルと合わせて、以下のドキュメントを読んでおくとよいでしょう。
- Symfony完全ガイド 1.2(The Definitive Guide to symfony 1.2)
Symfony 1.2時点でのドキュメントですが、Symfony 1.4でも根本の部分は共通していますので、十分に役立ちます。 Symfonyの基本をしっかり学ぶ事ができます。 入門者から中級者まで、一読をおすすめします。
チュートリアルをさらに理解するための補足
symfonyの理解を深めるために、本文では触れなかったsymfonyの機能についていくつか解説します。
symfonyのオートロード
symfonyでは、PHPのオートロード機能を利用して、ライブラリ内のクラスや自動生成されるモデルクラス、フォームクラスなどを、明示的にincludeやrequireすることなく利用できます。
この「オートロード対象」となるクラスの設定は、autoload.yml
という設定ファイルで設定でき、symfonyのデフォルトのオートロード設定は以下のファイルに記述されています。
(symfony)/lib/config/config/autoload.yml
このファイルの中身は以下のようになっています。
autoload: # project project: name: project path: %SF_LIB_DIR% recursive: true exclude: [model, symfony, vendor] project_model: name: project model path: %SF_LIB_DIR%/model recursive: true # application application: name: application path: %SF_APP_LIB_DIR% recursive: true modules: name: module path: %SF_APP_DIR%/modules/*/lib prefix: 1 recursive: true
つまり、以下のパスにあるクラスファイルは自動的にオートロード対象になります。
- (プロジェクトルート)/lib ディレクトリ以下で、model、symfony、vendorという名前以外のディレクトリ内のファイル
- (プロジェクトルート)/lib/model ディレクトリ以下のファイル
- (プロジェクトルート)/apps/(アプリケーション)/lib ディレクトリ以下のファイル
- (プロジェクトルート)/apps/(アプリケーション)/modules/*/lib ディレクトリ以下のファイル
上記以外のディレクトリをオートロード対象に追加したい場合は、プロジェクトやアプリケーションのconfigディレクトリにautoload.ymlファイルを作成し、追加したい設定を記述します。
autoload.ymlファイルの各項目については、The symfony Reference Book その他の設定ファイルを参照してください。
symfonyライブラリに含まれるクラス(Doctrine等も含む全て)は、autoload.ymlの設定に関わらず無条件にオートロード対象になっています。
インデックス
Document Index
関連ページリスト
Related Pages
- blogチュートリアル(1) Symfonyの準備
- blogチュートリアル(2) データベースの設定
- blogチュートリアル(3) スキーマの定義とテーブルの生成
- blogチュートリアル(4) 追加の設定
- blogチュートリアル(5) mod_rewriteについてと、初期表示の確認
- blogチュートリアル(6) モデルの作成
- blogチュートリアル(7) postモジュールの作成
- blogチュートリアル(8) ビューの作成
- blogチュートリアル(9) 記事の追加
- blogチュートリアル(10) データのバリデーション
- blogチュートリアル(11) 投稿記事の削除
- blogチュートリアル(12) 投稿記事の編集
- blogチュートリアル(13) ルーティング
- blogチュートリアル(14) まとめと応用
日本語ドキュメント
Japanese Documents
- 2011/01/18 Chapter 17 - Extending Symfony
- 2011/01/18 The generator.yml Configuration File
- 2011/01/18 Les tâches
- 2011/01/18 Emails
- 2010/11/26 blogチュートリアル(8) ビューの作成