タグ

ブックマーク / moooori-blog.undo.jp (7)

  • Symfony 2 CssSelector — mo^4ri's note

    Symfony2のCssSelector Componentについてのメモ。 最近だが、Symfonyのgithubのソースコードリポジトリに新しくCssSelector他コンポーネントが追加されたようである。リポジトリのtestを調べれば大体様子はつかめるのだが、やはり自ら試してみることが一番身に付くと思うので毎度のごとくソースをダウンロードしてごにょごにょ触ってみる。 CssSelector Component cssセレクタ表現をxpath形式に変換してくれるライブラリ。Python lxmlのライブラリを参考にしたもののようである。 概要 Parserがcss形式からxpath形式へ変換するメイン処理を担当する。 入力されたcss形式文字列は、Tokenizerにより解析され、ParserはTokenStreamクラスを通じてTokenを取得する。 Parserは、取得したToke

    aki77
    aki77 2010/05/27
    symfony2
  • pop().stack().jump(); » Blog Archive » Symfony 2 DomCrawler

    aki77
    aki77 2010/05/27
    symfony2
  • symfony 1.4 Tips sfFinderでファイル検索 — mo^4ri's note

    特定条件にマッチするファイル一覧を取得するような処理をしたい場合があります。symfonyライブラリには、それを行なってくれる便利なUtilityクラスがあります。symfony/lib/util/sfFinder.class.phpです。 sfFinderクラスの特徴は、jQueryのようなメソッドチェーンで書けることです。各メソッドがthis参照を返すことで、$obj->name(‘*.txt’)->mindepth(2)->in(sfConfig::get(’sf_app_dir’))のように流れるような記述が可能になっています。 また、メソッドの多くはそのインターフェース定義に引数が書かれていないが、可変長引数(func_get_args()関数)で内部で取得するようになっています。例えば様々な条件にマッチングするファイルを検索するためにその条件を引数で渡そうとすると固定数であれば

  • Symfony 2 概要(2) 〜Bundle〜 - mo^4ri's note

    Symfony2のsandboxのソースコード追跡。現段階で発表されている内容をベースに調べたことをメモしておく。 前回、Symfony2の概要ということでsandboxをダウンロードし、そのパッケージ構成の確認および起動の確認をした。今回は、少し深く突っ込んで全体を俯瞰してみる。 動作概要 Symfony sandboxは、ユーザーからのリクエストを受信してからは概ね以下のような動作をする。 図1 symfony1系では、フロントコントローラ内にて”sfContext::getInstance()->dispatch()”のような呼び出しにより、フレームワークのブートストラップ他及びリクエストの処理を行なっていた。 Symfony2では、Kernel(カーネル)がブートストラップ、コンテナの初期化、Bundleの初期化、RequestHandler起動等の役割を負う。Kernelによる各

    aki77
    aki77 2010/04/19
    symfony2
  • Symfony 2 Routing - mo^4ri's note

    symfony 2でも使用されているRouting Componentについて調べたのでメモする。 まだ、Symfony Componentsには登場していない?ようだが、sandboxには含まれているので、そちらから追っていくこととする。(後に変更の可能性もある) Routing Componentの概要 routingは、定義したroutingルールと入力パラメータから適切なURLを生成したり、urlから適合するroutingルールを判定したりする役割を担当する。routingにより、検索エンジンや一般ユーザーにとってより分かりやすく、フレンドリーなURLを見せることができる。なお、Routing Componentはsymfony1系のlib/routingまわりを書き直したもののようである。 図1 構成 |- Generator/ # routingルールからのurl生成 |-

  • Symfony 2 Templating - mo^4ri's note

    Symfony 2でも使用されているTemplating Componentについて調べる。 symfony ver1では、パーシャル、スロット、コンポーネント、スロットコンポーネントなどviewを小さな部品の集合として扱えるような仕組みがあった。Symfony 2で使用されているTemplating Componentでは、従来のsymfony  ver1に比べ、より柔軟な設計となっている。特徴的な機能は以下が挙げられる。 テンプレートエンジン 独立したテンプレートローダーおよびテンプレートレンダラーを利用した描画。 レンダラーの混在も可能。 テンンプレートの継承 オブジェクト指向の継承のようなイメージで、テンプレートの継承が行なえるようになり、より柔軟なテンプレート管理が行なえる。 コンポーネントとして設計されているので、symfonyフレームワーク以外でも使用できる。(他のSymfo

  • Symfony2 Depedency Injection - mo^4ri's note

    Symfony2で新たに導入されたメイン機能の1つにDependency Injection(以降DI)がある。これも、独立したコンポーネントとして公開されており、Symfony2に組み込まれている。 DIとは、直訳すると「依存性の注入」という意味であり、エンタープライズJavaのフレームワークでは良く耳にするアーキテクチャである。DIは、コンポーネント間の依存関係を排除し、外部から依存性を注入する(一般には設定ファイルなど)ことで、コンポーネントとしての独立性を向上させ再利用性を高めるソフトウェアのデザインパターンのことらしい。「設定を利用から分離する」という考え方が設計の根底にある。 Dependency Injection DIの基的な思想は、「依存関係を排除し、外部から注入する」であるが、単純な例から考察してみる。Symfony2 Dependency Injectionを参考に

  • 1