HtmlTemplateFramework
[ class tree: HtmlTemplateFramework ] [ index: HtmlTemplateFramework ] [ all elements ]

Source for file htf_frame.phl

Documentation is available at htf_frame.phl

  1. <?php
  2. /**
  3.  * htfフレームクラス
  4.  *
  5.  * htfフレームを生成するクラス。
  6.  *
  7.  * @package HtmlTemplateFramework
  8.  * @subpackage frame
  9.  * @access  public
  10.  * @author    Yamauchi Shogo <htf@as-prj.com>
  11.  * @version $Id: htf_frame.phl ,v 1.0 $
  12.  ***/
  13. require_once("htf_com_initialize.inc");        //共通初期処理
  14. require_once("htf_frm_frameconfig.phl");        //htfフレームクラス
  15.  
  16. /**
  17.  * htfフレームを生成するクラス。
  18.  *
  19.  * htf_frameオブジェクトはhtfフレームを用いてHTMLページを生成・出力する際のインターフェイスとなります。<br>
  20.  * <br>
  21.  * htf_frameコンストラクタは、指定されたファイル名をサーチ・読み込みを行い、htfのフレーム定義情報の
  22.  * 各設定値を保有します。指定したファイル名は、以下の順序でサーチされます。<br>
  23.  * (1)現在の実行ディレクトリ<br>
  24.  * (2)実行ディレクトリから上位(ドキュメントルート・またはルートディレクトリまで)<br>
  25.  * (3)PHPに設定されたインクルードディレクトリ<br>
  26.  * 指定したファイルがみつからなかった場合には、配下のframeconfig(フレーム設定情報のインスタンス)は生成されません。<br>
  27.  * <br>
  28.  * コンストラクタでhtfフレームオブジェクトを生成し、print_htmltagメソッドを実行すると、フレーム設定情報の内容にしたがって
  29.  * htmlタグが出力されます。get_htmltagメソッドを実行すると、htmlタグを文字列として取得することができます。ただし、
  30.  * get_htmltagメソッドは、出力タイプがincludeのエリアではincludeを実行せず、インクルード部分をPHPスクリプト記述として返します。
  31.  * 
  32.  * @access  public
  33.  * @author    Yamauchi Shogo <htf@as-prj.com>
  34.  ***/
  35. class htf_frame{
  36.    /**
  37.     * htfフレーム設定オブジェクト
  38.     * 
  39.     * @access public
  40.     * @var htf_frm_frameconfig 
  41.     */
  42.     var $frameconfig;
  43.     
  44.     /**
  45.      * 引数のhtfフレーム定義xmlファイル名をサーチし、インスタンスを生成します。
  46.      * 
  47.      * @access     public
  48.      * @param     string    $strfname    環境設定ファイル名(初期値は'frmdef.xml')
  49.      * @return    void 
  50.      ***/
  51.     function htf_frame($strfname=HTF_FRM_FNAME{
  52.         //初期化
  53.         $this->frameconfig = NULL;
  54.         //framedef.xmlのDOMオブジェクト&ルート取得
  55.         $strxmlpath htf_get_filepath(realpath('.')$strfname);
  56.         if (!htf_is_existsval($strxmlpath)) {
  57.             //見つからなかったらインクルードパスをサーチ
  58.             $strxmlpath htf_get_fileincludepath($strfname);
  59.             if (!htf_is_existsval($strxmlpath)) {
  60.                 return;
  61.             }
  62.         }
  63.         $objdom domxml_open_file($strxmlpath);
  64.         $objroot $objdom->document_element();
  65.         
  66.         //設定情報からオブジェクト作成
  67.         $this->frameconfig = new htf_frm_frameconfig($objroot);
  68.     }
  69.  
  70.     /**
  71.      * htfフレームのHTMLタグを取得します。
  72.      * 
  73.      * ただし、タイプにincludeを指定した領域はインクルード部分をPHPスクリプト記述として返します。
  74.      * 
  75.      * @access     public
  76.      * @return    string 
  77.      ***/
  78.     function get_htmltag({
  79.         return $this->frameconfig->get_htmltag();
  80.     }
  81.     
  82.     /**
  83.      * htfフレームのHTMLタグを出力します。
  84.      * 
  85.      * @access     public
  86.      * @return    void 
  87.      ***/
  88.     function print_htmltag({
  89.         $this->frameconfig->print_htmltag();
  90.     }
  91.     /**
  92.      * htfフレームで設定された各種パス情報(イメージパス・CSSパス・JavaScriptパス・ルートパス)
  93.      * で引数内の置換タグを変換します。置換タグ定義は次の通り。
  94.      * %FRAME_IMAGEPATH%→イメージパス %FRAME_CSSPATH%→CSSパス %FRAME_JSPATH%→JavaScriptパス %FRAME_ROOTPATH%→ルートパス
  95.      * 
  96.      * @access     public
  97.      * @param     string    $srcstr 
  98.      * @return    string 
  99.      ***/
  100.     function replace_definetag($srcstr{
  101.         return $this->frameconfig->replace_definetag($srcstr);
  102.     }
  103. }
  104. ?>

Documentation generated on Tue, 19 Sep 2006 06:20:47 +0900 by phpDocumentor 1.3.0