D-Framework グローバル関数

便利関数

function h( $text )

文字列をエスケープする。
 

  • 記述例
      $link = h( $link );
     
  • 戻り値
      エスケープされた文字列

function pearse( $line, $sep = "\t" )

指定されたセパレータで文字列を分解する。
 

  • 記述例
      $arr_str = pearse( $str );
     
  • 戻り値
      分解された文字列の配列

function v($key)

phpテンプレートでビューに渡したデータを表示する。
直接表示されるので配列やオブジェクトでは使用出来ない。
Smartyテンプレートの場合は使用しない。
 

  • 記述例
      <?php v('name'); ?>   // <?php echo getView( 'name' ); ?> と同様の処理となります。
     
  • 戻り値
      なし(標準出力への表示)

function setCharEnc( $charEnc )

setView関連、h関数で使用するエスケープ処理の文字コードを指定する
デフォルトの文字コードは「UTF-8」です。
モジュール内でsetView関連、h関数で使用する前に実行してください。
 

  • 記述例
    setCharCode('Shift_JIS');
    setCharCode('EUC-JP');
    setCharCode('UTF-8');
     
  • 戻り値
      なし

function allTrimGet()

GETデータのすべてをトリム処理します。
 

  • 記述例
    allTrimGet();
     
  • 戻り値
      なし

function allTrimPost()

POSTデータのすべてをトリム処理します。
 

  • 記述例
    allTrimPost();
     
  • 戻り値
      なし

 

モジュール呼び出し

function callModule()

指定したモジュールに遷移します(301リダイレクト)。
callModule命令以降の処理は行われません。

  • 記述例
    callModule('update'); // updateモジュールに遷移
  • 記述例
    callModule('update&hoeg=hogehoge&name=s-tanno'); // CGIパラメータ付きで遷移( & で接続)
  • 記述例
    callModule('update/hoge1/hoge2/'); // CGIパラメータ付きで遷移(URLマッピング使用時)
     
  • 戻り値
      なし

function includeModule($moduleName)

指定したモジュールに読み込んで実行します。
include実行なので、URLは変更されません。
includeModule命令以降の処理は行われません。

  • 記述例
    includeModule('update'); // updateモジュールを読み込み実行
  • 戻り値
      なし

 

テンプレート関連(モジュール → ビュー)

function setTemplate( $template_name )

モジュール実行終了後表示するビューファイル名を指定する。
モジュール内で使用する。
 

  • 記述例
      setTemplate( 'login.html' ); // smartyテンプレート
  • 記述例
      setTemplate( 'login.php' ); // phpテンプレート
     
  • 戻り値
      なし

function setView($key,$val)

ビューに渡すデータ(文字列、配列等)を指定する。
データはエスケープされる。
モジュール内で使用する。
$val には、配列、連想配列も指定出来る。
 

  • ビューでの取得
      Smartyテンプレートの場合は、{$キー名} で値を取得できる。
      phpテンプレートの場合は、getView('キー名') で値を取得できる。
     
  • 記述例(1)
      setView( 'name', 's-tanno' );
  • 記述例(2)
      $ar = array('name'=>'hoge', 'title'=>'hogehoge');
      setView( 'user', $arr );
  • ビューでの取得例(1)
      {$name}  (Smartyテンプレートの場合)
      <?php echo getView('name'); ?>  (phpテンプレートの場合)
  • ビューでの取得例(2)
      {$user.name}  (Smartyテンプレートの場合)
      <?php $arr = getView('name'); echo $arr['name']; ?>  (phpテンプレートの場合)
     
  • 戻り値
      なし

function setViews($arr)

ビューに渡す「連想配列」を指定する。
連想配列のハッシュキー名が登録キー名となる。
データはエスケープされる。
モジュール内で使用する。
 

  • ビューでの取得
      Smartyテンプレートの場合は、{$キー名} で値を取得できる。
      phpテンプレートの場合は、getView('キー名') で値を取得できる。
     
  • 記述例
      $ar = array('name'=>'hoge', 'title'=>'hogehoge');
      setViews( $ar );
  • ビューでの取得例
      {$name} {$title}  (Smartyテンプレートの場合)
      <?php echo getView('name'); ?> <?php echo getView('title'); ?>  (phpテンプレートの場合)
     
  • 戻り値
      なし

function setViewRaw($key,$val)

ビューに渡すデータ(文字列、配列等)を指定する。
データはエスケープされない。
モジュール内で使用する。
 

  • ビューでの取得
      Smartyテンプレートの場合は、{$キー名} で値を取得できる。
      phpテンプレートの場合は、getView('キー名') で値を取得できる。
     
  • 記述例
      setViewRaw( 'name', 's-tanno' );
  • ビューでの取得例
      {$name}  (Smartyテンプレートの場合)
      <?php echo getView('name'); ?>  (phpテンプレートの場合)
      <?php v('name'); ?>  (phpテンプレートの場合)
     
  • 戻り値
      なし

function getView($key)

phpテンプレートでビューに渡したデータを取得する。
Smartyテンプレートの場合は使用しない。
 

  • 記述例
      <?php echo getView( 'name' ); ?>
     
  • 戻り値
      取得したデータ

function setViewPost( $key )

Set View from Post Data
POSTデータをビューに渡す。
データはエスケープされる。
モジュール内で使用する。
 

  • ビューでの取得   Smartyテンプレートの場合は、{$キー名} で値を取得できる。
      phpテンプレートの場合は、getView('キー名') で値を取得できる。
     
  • 記述例
      setViewPost( 'comment' );   // $_POST['comment']がcommentという名前でビューに保持される
     
  • 戻り値
      なし

function setViewGet( $key )

Set View from Get Data
GETデータをビューに渡す。
データはエスケープされる。
モジュール内で使用する。
 

  • ビューでの取得
      Smartyテンプレートの場合は、{$キー名} で値を取得できる。
      phpテンプレートの場合は、getView('キー名') で値を取得できる。
     
  • 記述例
      setViewGet( 'comment' );   // $_GET['comment']がcommentという名前でビューに保持される
     
  • 戻り値
      なし

 

セッション関連

function startFirstSession()

セッションを開始する
セッション名等の情報は設定ファイルに記述します
CSRFブロック機能を使用する場合は、本関数でセッションを開始してください。  

  • 認証なし
      セッションを使用する場合はモジュール毎に実行してください。
     
  • 認証あり
      認証成功後、1度だけ実行してください。
     
  • 記述例
      startFirstSession();
     
  • 戻り値
      なし

function startSession($mobule_name = '')

正しいセッション情報かどうかチェックする。
チェック成功の場合はセッションが開始します。
チェック失敗の場合は引数で指定したモジュールにリダイレクトします。
引数でモジュール指定がない場合は「403 Forbidden」となります。
 

  • 認証なし
      本関数は使用しません。  
  • 認証あり
      ログインページ以外でモジュール毎に実行してください。  
  • 記述例
      startSession();       // 認証失敗時、指定したモジュールにリダイレクト
  • 記述例
      startSession('def');  // 認証失敗時defモジュールにリダイレクト
     
  • 戻り値
      なし

function deleteSession()

セッションを削除する。
 

  • 記述例
      deleteSession();
     
  • 戻り値
      なし

function setSession($key, $val='')

セッションにデータ(文字列、配列等)を保持する。
makeSession() または checkSession()でセッション開始後に使用する。
valを省略するとキー名のセッションが削除される。
 

  • 記述例
      setSession( 'name', 's-tanno' );
  • 記述例
      setSession( 'name' );              // nameセッションデータを削除
     
  • 戻り値
      なし

function getSession( $k, $def='' )

セッションのデータ(文字列、配列等)を取得する。
makeSession() または checkSession()でセッション開始後に使用する。
defを設定すると該当のセッションが無かった場合defで設定した値が取得できる。
 

  • 記述例
      $name = getSession( 'name' );
  • 記述例
      $name = setSession( 'name', 'ゲストさん' );
     
  • 戻り値
      指定したセッションのデータ

function setSessionPost( $key )

Set Session from Post Data
key名のPOSTデータをセッションに保持する。
makeSession() または checkSession()でセッション開始後に使用する。
モジュール内で使用する。
 

  • 記述例
      setSessionPost( 'name' );  // $_POST['name']をnameという名前でセッションに保持
     
  • 戻り値
      なし

function setSessionGet( $key )

Set Session from Get Data
key名のGETデータをセッションに保持する。
makeSession() または checkSession()でセッション開始後に使用する。
モジュール内で使用する。
 

  • 記述例
      setSessionGet( 'name' );  // $_GET['name']をnameという名前でセッションに保持
     
  • 戻り値
      なし

function setViewSession( $key )

Set View from Session Data
セッションデータをビューに渡す。
データはエスケープされる。
makeSession() または checkSession()でセッション開始後に使用する。
モジュール内で使用する。
 

  • ビューでの取得
      Smartyテンプレートの場合は、{$キー名} で値を取得できる。
      phpテンプレートの場合は、getView('キー名') で値を取得できる。
     
  • 記述例
      setViewSession( 'comment' );  // $_SESSION['comment']がcommentという名前でビューに保持される
     
  • 戻り値
      なし

CSRF対策関連

function getCsrfCode()

情報送信ページで使用します。
CSRF対策コードを取得します。
取得したコードをビューに渡し、POST HIDDENデータとして設定します。

※本関数を使用する場合、前提として D-Framework関数 でセッションを開始している必要があります。  

  • 記述例(モジュール)
    $csrfCode = getCsrfCode();
    setView( 'csrfCode', $csrfCode );
  • 記述例(Smartyビュー)
    <form name="hoge" method="post" action="">
      ……
      <input type="hidden" name="csrfCode" value="{$csrfCode}">
      ……
    </form>
     
  • 戻り値
      CSRF対策コード

checkCsrf( $csrfCode, $moduleName='' )

情報受信ページで使用します。
CSRF対策コードが正しいかチェックします。
正しくない場合は、「HTTP/1.1 403 Forbidden」となります。 正しくない場合は、モジュール名が指定されていれば指定されたモジュールにリダイレクトします。

※本関数を使用する場合、前提として D-Framework関数 でセッションを開始している必要があります。  

  • 記述例
    checkCsrf( $_POST['csrfCode'] );
  • 記述例
    checkCsrf( $_POST['csrfCode'], 'top' ); // コードが不正の場合topモジュールにリダイレクト
     
  • 戻り値
      なし

 

バリデーション

validate( $code=, $string, $min=, $max='' )

データの妥当性をチェックします(バリデーション)。
以下のチェックを行えます。

  • 正規表現チェック
  • 文字長最小値
  • 文字長最大値
  • 記述例
    if ( ! validateByte('NUMBER', $_GET['no'], 7, 7)) { /* NG処理 */ }
  • 記述例
    if ( ! validateByte('/^[0-9]$/', $_GET['no'])) { /* NG処理 */ }
  • 記述例
    if ( ! validateByte('', $_GET['no'], 3, 7)) { /* NG処理 */ }
     
  • 戻り値
      チェックOK: true(boolean)
      チェックNG: false(boolean)

バリデーション

validateByte( $code=, $string, $min=, $max='' )

データの妥当性をチェックします(バリデーション)。
機能と引数は validate関数と同様ですが、文字長を「バイト長」で計算します。

UTF-8での全角1文字は3バイトになります。

バリデーション

validateByte( $code=, $string, $min=, $max='' )

データの妥当性をチェックします(バリデーション)。
機能と引数は validate関数と同様ですが、文字長を「バイト長」で計算します。

UTF-8での全角1文字は3バイトになります。

バリデーション

getValidateError()

validate関数で妥当性がNGとなった場合、どのチェックでエラーになったかを取得します。

バリデーション

 

 


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-06-02 (水) 09:45:49 (98d)