ECサイト運営開発記 このページをアンテナに追加 RSSフィード

2011-12-16

[][]FuelPHPで気になるあの情報の取り出し方

  • リクエスト関連の情報
    • http://example/index/list/アクセスした場合
    • コントローラー名の取得
      • Request::main()->controller
        • "index"ではなく"Controller_Index"というコントローラークラス名が返ってくる。
        • "index"という名前を取りたい場合はRequest::main()->uri->segment(1);などの関数で第一セグメントを取得する。
          • uri->segment(1)はあくまでもURIから最初のセグメントを取得するので、コントローラー名が返ってくるわけではない。(ルーティングを使用している場合など)
    • アクション名の取得
      • 最初に実行されたアクション:Request::main()->action
      • 現在実行中のアクション:Request::active()->action
      • 転送元のアクション:Request::active()->parent()->action
<?php

class Controller_Index extends Controller{

public function action_list(){
  Request::forge('index/hoge/')->execute();
}

public function action_hoge(){
  echo "action:".Request::main()->action."<br />";
  echo "action:".Request::active()->action."<br />";
  echo "action:".Request::active()->parent()->action."<br />";
}

}

?>
  • 設定ファイルの情報の読み込み
    • app/config.phpの情報
      • Config::get("key","default_value");
      • keyで設定ファイルの情報を取得。存在しない場合は、default_valueが返ってくる。
        • ベースURL:Config::get("base_url");
    • オリジナルの設定ファイルの情報を読み込む
      • 例えば、サイト情報を記述するapp/config/site.phpとして作成
      • app/config.phpにsite.phpを読み込むように設定する 'config'=array('site');
        • Config::get("site.SITE_NAME");
  • app/config/site.php
<?php
return array(
  'SITE_NAME' => 'サイト名',
  'SITE_DESCRIPTION' =>'サイトの説明文',
  'SEO_KEYWORDS'=> 'key,key,key'
);
?>
  • app/config/config.php
<?php

/**
 * Configs to autoload
 *
 * Examples: if you want to load 'session' config into a group 'session' you only have to
 * add 'session'. If you want to add it to another group (example: 'auth') you have to
 * add it like 'session' => 'auth'.
 * If you don't want the config in a group use null as groupname.
 */
 'config'  => array("site"), 
?>
  • 入力値関連
    • GETの値を取得
      • Input::get("name");
    • POSTの値を取得
      • Input::get("post");
    • 最初にGET、存在しない場合はPOSTから取得
      • Input::get_post("name");

peketaminpeketamin 2012/01/26 23:44 > ベースURL:Config::get("base_url");

Viewsでは、よく Uri::base() を使ってます。

トラックバック - http://d.hatena.ne.jp/nohohon_x/20111216/1324015922
リンク元