top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_1077

ルーティング:symfonyでサイト構築する際のルーティングについて少し知識習得、といこう・・・ 【symphonyで、創るぞ】

 2009-09-03
今までの、symfonyの習得記事は
 ◆Practical symfony | Web PHP Framework や、
 ◆エクスギア Blog
 を参考に進めているけれど、
 (個人的な性格もあり)、どんどん脱線・逸脱している。

 > 参考にされるなら
   > カテゴリー [ フレームワークする ]
   あるいは、
   > [symfony ] を含む記事  で。


 さて、今日はある程度進んでいるところで、
  「symfony における、ルーティング」について
  少し、知識を収集、まとめておこう。


 サイトの構築始めると、この課題はすぐに表面化する。
 早い段階で知識を得て、実践に生かさねば・・・
  (実際に今行っている作業に関係あるんだけど)


  追記に ▼


 ※ところで、こちらは・・・


◇今日のGoogle:9月3日
今日のGoogle(2009/09/03)
  今日はドラえもんの誕生日、らしい・・・

FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more

************************************************
◎ symphonyで、ルーティング:symphonyで、創るぞ
************************************************


 /*------------------------------------------*/
  ●routing.yml設定ファイル
 /*-------------------------------------------*/


  まず、こちらを参照しないと。
  > The symfony Reference Book | routing.yml設定ファイル
   要約しておこう。
要約 - routing.yml設定ファイル
 (ポイント
  ・routing.yml設定ファイル
   (apps/APP_NAME/config 以下に存在)
  ・routing.yml設定ファイルは
   PHPファイルとしてキャッシュされる
 (最初の設定
  ※symfony generate:app コマンド実行時
# default rules
homepage:
url: /
param: { module: default, action: index }
default_index:
url: /:module
param: { action: index }
default:
url: /:module/:action/

 (ルートの設定
  ※ルートを細かく設定するための
   複数の設定をサポート
class:(デフォルト: sfRoute/sfRouteCollection)
 ・ルートに使用するルートクラスをclass設定によって変更できる。
url:(デフォルト: /)
 ・URLがマッチしなければならないパターン。
 ・パターンは複数のセグメントで構成
params:(デフォルト: 空の配列)
 ・パラメータの配列を定義
param:(デフォルト: 空の配列)
 ・パラメータの配列を定義
options:(デフォルト: 空の配列)
 ・ふるまいを細かくカスタマイズするために
  ルートオブジェクトに渡すオプションの配列
requirements:(デフォルト: 空の配列)
 ・url変数で満たさなければならないルート要件の配列
type:(デフォルト: null)
 ・collectionにセットされている場合、
  ルートはルートコレクションとして読み込まれる。

 (クラス
sfRoute:この基底クラスは必須のルート設定を提供
 ・すべてのルートクラスはsfRoute基底クラスを継承
sfRequestRoute:
 sf_method(デフォルト: get)
  ・requirements配列
  ・ルートにマッチする処理でHTTPリクエストを強制
sfObjectRoute
 ・次のすべてのオプションは
  routing.yml設定ファイルのoptions設定内部に記載
 model
 ・必須、現在のルートに関連するモデルクラスの名前
 type
 ・必須、モデルのために必要なルートの種類(object/list)
  ・object型のルート:単独のモデルオブジェクト
  ・list型のルート:モデルオブジェクトのコレクション
 method
 ・必須、モデルクラスで呼び出すstaticメソッド
 ・引数として解析されるルートのパラメータで呼び出される。
 allow_empty(デフォルト: true)
  ※falseにセットされる場合:
   model methodへの呼び出しによってオブジェクトが返されない場合、404の例外
 convert(デフォルト: toParams)
 ・モデルを適切なパラメータの配列に変換するために呼び出すメソッド
sfPropelRoute
 method_for_criteria(デフォルト: doSelect/doSelectOne)
 ・オブジェクトを読み取るためにピアクラスで呼び出されるメソッドを定義
sfDoctrineRoute
 method_for_query(デフォルト: none)
 ・オブジェクトを読み取るためにモデルを呼び出すメソッドを定義
  ※オプションがセットされていない場合:
   クエリはexecute()メソッドで "実行"されるだけ
sfRouteCollection
 ・基底クラスはルートのコレクション
sfObjectRouteCollection
 model
 ・必須、現在のルートに関連するモデルクラスの名前
 actions(デフォルト: false)
 ・ルート用に許可されるアクションの配列を定義
  (list、new、create、 edit、update、delete、とshow)
  ※オプションがfalseにセットされている場合:
   showアクション以外のすべてのアクションが利用可能
 module(デフォルト: ルートの名前)
 ・モジュールの名前を定義
 prefix_path(デフォルト: ルートの名前の前につく/)
 ・すべてのurlパターンの先頭に追加される接頭辞を指定
 column(デフォルト: id)
 ・モデルオブジェクト用の一意的な識別子として使用するモデルのカラムを定義
 with_show(デフォルト: true)
 ・actionsオプションが falseにセットされるときに使用
 segment_names(デフォルト: array('edit' => 'edit', 'new' => 'new'),)
 ・editとnewアクション用に urlパターンで使う単語を定義
 model_methods
 ・モデルからオブジェクトを読み取るために呼び出すメソッドを定義
 requirements(デフォルト: columnに対して\d+)
 ・ルート変数に適用するルート要件の配列を定義
 with_wildcard_routes(デフォルト: false)
 ・2つのワイルドカードのルートを通してアクションにアクセスできるように
  (1つは単独のオブジェクト用、もう1つはオブジェクトコレクション用)
 route_class(デフォルト: sfObjectRoute)
 ・コレクション用に使われるデフォルトのルートオブジェクトをオーバーライド
 collection_actions(デフォルト: 空の配列)
 ・コレクションルートで利用可能な追加アクションの配列を定義
 object_actions(デフォルト: 空の配列)
 ・オブジェクトルートで利用可能な追加アクションの配列を定義
sfPropelRouteCollection
 ・sfRouteCollectionを継承、デフォルトのルートクラスをsfPropelRouteに変更
sfDoctrineRouteCollection
 ・sfRouteCollectionを継承、デフォルトのルートクラスをsfDoctrineRouteに変更

 /*------------------------------------------*/
  ●settings.yml
 /*-------------------------------------------*/


  上記、routing.yml 以外に、settings.yml というファイルがあり
  ここで、基礎的な環境設定を行えるようになっている。
   (apps/APP_NAME/config 以下に存在)

  まず、index.php なくてもアクセスできるように
  ここで no_script_name:on としておく。


  このファイル自体もいろいろ設定できて奥が深い。
  時間を見て研究してみたし・・・
  > The symfony Reference Book | settings.yml設定ファイル


 /*------------------------------------------*/
  ●サブカテゴリ頁の基礎準備
 /*-------------------------------------------*/


  いろいろ作業してみたけど、基本的な準備は

  □データベース接続あるモジュールとしての カテゴリの場合


   (schema.yml など良用意 の上)
$ symfony doctrine:generate-module frontend (モジュール名) (テーブル名)
 と利用し、

  □データベース接続無く 静的カテゴリとして利用したい場合


   (symfonyの基本コマンドで)
$ symfony init-module frontend (モジュール名)
 と行えばいいわけだ。

  その上で、静的頁の最初の作業として、自動生成された
  ・apps/APP_NAME/modules/(モジュール名)/actions/actions.class.php
   で、


  public function executeIndex(sfWebRequest $request)
{
# $this->forward('default', 'module');
}
 とコメントアウトしておく。
 これで、
 http://(ドメイン)/(モジュール名) でアクセスすると
 各頁が表示され、コンテンツ内容は
  ・apps/APP_NAME/modules/(モジュール名)/templates/indexSuccess.php
 を編集してゆけばいいことになる。
 ふむふむ。

 現在、この作業に没頭中。
 いろいろとお伝えしたいこと、記録しておきたいこと
 はたくさんあるのだけれど・・・


 しばし、お待ちください。

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/1077-96c247f0
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。