タグ

phpmentorsとsymfonyに関するnabinnoのブックマーク (7)

  • Practical Symfony #24: ダイナミックなコンフィギュレーショングラマー

    Symfonyフレームワークの動作を設定するコンフィギュレーションとその背後の仕組みは、Symfonyのアーキテクチャを支える強力な屋台骨となっています。この仕組みの応用例の1つとして、コンフィギュレーションエントリをダイナミックに定義する仕掛けを見てみます。 通常のコンフィギュレーション通常の静的なコンフィギュレーションは、バンドル内のDependencyInjectionディレクトリ以下にConfigurationクラスを用意し、そこで定義されたツリー構造に従って読み込まれます。コンフィギュレーションクラスの例は設定の仕様とは等を参照してください。この場合、あらかじめ固定のコンフィギュレーショングラマーがあり、それにもとづいてコンフィギュレーションファイルに設定を記述し、そのファイルの設定を読み込んでサービスコンテナが動作します。 アプリケーション開発の多くの場面ではこのような静的な定

    Practical Symfony #24: ダイナミックなコンフィギュレーショングラマー
  • Practical Symfony #6: Symfony2の@apiアノテーションによる後方互換性の維持管理

    この記事はSymfony Advent Calendar JP 2011の24日目の記事です。 速いペースでマイナーバージョンアップされるSymfony2Symfony2は、2011年7月に2.0がリリースされて以降、概ね月に1回のペースでメンテナンスリリースをしています。私自身が開発に携わっている案件でも、何度かこのようなメンテナンスリリースによるSymfony2体のバージョンアップを行いましたが、直接的な問題はほぼ発生していません。フレームワークの更新というと、マイナーバージョンアップでさえ事前に変更点をしっかり調査し、適用しても問題がないという調査・判断が必要でした。Symfony2でももちろん事前に変更内容を調査することは必要ですが、Symfony2側で後方互換性が維持されるルールが導入されており、上手く機能しているようです。 この「後方互換性を維持するルール」の中心となるのが「

    Practical Symfony #6: Symfony2の@apiアノテーションによる後方互換性の維持管理
  • Practical Symfony #25: Routerを拡張してURLのサブディレクトリを横断的に処理する

    Symfony Advent Calendar 2014 (Qiita) 4日目 前(12月3日 ) 次(12月5日) Webサービスで、ユーザーのアカウントごとにサブディレクトリを割り当てたいとします(最近はユーザーアカウントごとにサブドメインを割り当てる方が主流かもしれませんが)。例えば次のような形です。 トップページ http://example.com/ユーザー hidenorigoto のコンテンツ http://example.com/hidenorigoto/profilehttp://example.com/hidenorigoto/report/20141124ユーザー someone のコンテンツ http://example.com/someone/profilehttp://example.com/someone/report/20141124このような形をとるシス

    Practical Symfony #25: Routerを拡張してURLのサブディレクトリを横断的に処理する
  • ドメインモデルのための型「Domain Kata」を使ってみました

    Symfony Advent Calendar 2014 (Qiita) 6日目 前(12月5日 )次(12月7日 ) 「Domain Kata」について学んだことを書いて、Symfony2 サンプルアプリケーションでの使用例を紹介します。 Domain Kata についてDomain Kata Kata for domain models 公式 README の内容を日語に訳すと下記となります(バージョン 1.2 現在)。 Domain Kata は、プロジェクトがモデルベース開発を実践するために、ドメインモデルの「型」を提供します。 モデルベース開発というのは、たとえば、ドメイン駆動設計、ジェネレ−ティブプログラミングといった手法を指します。 Domain Kata を使うことで、モデルの識別が容易になります。パッケージ構造を設計しやすくなります(「Model」パッケージをライブラリ

    ドメインモデルのための型「Domain Kata」を使ってみました
  • Practical Symfony #26: PHPMentorsPageflowerBundleを使ったページフロー定義と対話の管理

    Symfony Advent Calendar 2014 (Qiita) 10日目 前(12月9日)次(12月11日)PHPMentorsPageflowerBundleは筆者が開発したSymfonyアプリケーション向けのページフローエンジンです。特徴としては、以下のものが挙げられます。 アノテーションによるページフロー定義対話の管理アクセス制御されたアクション対話スコープのプロパティ対話開始直後に実行されるユーザー定義メソッド複数のブラウザーウィンドウまたはタブのサポートPHPMentorsPageflowerBundleを使うと、コントローラーに断片的に埋め込まれたページフローに関するコードを明示的な定義で置き換えることができます。また、対話と対話スコープのプロパティの導入によってコントローラーの状態管理コードを大幅を削減することができます。 では、早速コードを見てみましょう。以下はS

    Practical Symfony #26: PHPMentorsPageflowerBundleを使ったページフロー定義と対話の管理
  • Symfonyの本「基本からしっかり学ぶSymfony2入門」を執筆しました

    この記事は、Symfonyアドベントカレンダー2015の6日目の記事です。昨日は@okapon_ponさんの「Symfonyでdebug環境を最適化しコードを追いやすくする」でした。 12月16日付けで、技術評論社様より『基からしっかり学ぶSymfony2入門』が出版されます。最初に企画書を書いたのが2014年の3月で、そこから出版まで2年近く時間がかかりました。このではSymfony 2.7を対象としていますが、書き始めた頃はまだSymfony 2.3の時代でした。今ではすでに2.8と3.0もリリースされているので、バージョンの進み具合だけとっても執筆に結構長くかかってしまったと感じます(苦労させられた点でもありますが)。執筆は、私(後藤)とカルテットコミュニケーションズの金さんとの共著になっています。 技術評論社 書籍紹介ページすでにAmazonでご予約頂いている方も多数いらっし

    Symfonyの本「基本からしっかり学ぶSymfony2入門」を執筆しました
  • Practical Symfony #27: コンパイルタイムファクトリ(Compile Time Factories)

    この記事はSymfony Advent Calendar 2015 8日目の記事です。前日の記事は@__tai2__さんの「DQLのJOIN WITH構文を使えば、無用な関係を定義せずにテーブルの結合ができる」でした。 ファクトリ(Factories)は、オブジェクトの生成(Creation)に関するデザインパターンで、オブジェクトまたはオブジェクトグラフの組み立て方法についての知識(構成の知識)を集約するものです。Eric Evans氏(@ericevans0)の提唱するドメイン駆動設計(Domain-Driven Design: DDD)のビルディングブロックの1つとしても知られています。 論理的にはファクトリは以下のような構造を持ちます。 クラスまたはメソッドによるファクトリ クラスまたはメソッドを使ったファクトリはPHP + Symfonyの環境における基型といえます。その構造は

    Practical Symfony #27: コンパイルタイムファクトリ(Compile Time Factories)
  • 1