このレッスンでは、先生の指導に従って、次のようにコードを作成します。 1. たとえば、変数 $name=''; を定義します。テンプレート。 3. 次に、このテンプレートに独自の「表示形式」(ハード スタイル)をいくつか設定します。 4. テンプレートをロードした後、それを上記の変数に直接置き換えることができます。
1. まず、テンプレートフォルダーに新しいindex.tplを作成します。内容はこんな感じで書きます
<?php echo '<?php' ?> /** * project name: <?php echo $prj_name ?> //大家想想, 它能运行吗? *User: <?php echo $prj_author ?> //能运行吗? *Date: <?php echo date('Y-m-d')?> //能吗? */ echo "hello shenyi"; ?>
さて、準備は完了です、god_frameクラスで参照します
<?php namespace core\frame; class god_frame { public $project_folder = ''; //项目文件夹 public $project_main = ''; //入口文件 function __construct($prjName){ //构造函数 $this->project_folder = getcwd()."/".$prjName; $this->project_main = $this -> project_folder."/index.php"; } function run(){ //判断并生成新的文件夹,没有就创建 !file_exists($this->project_folder) && mkdir($this->project_folder); //获取外部成员变量并把该函数获取的数组返回成变量列表 extract(get_object_vars($this)); 开启PHP的内部缓冲区(内存) ob_start(); //引入模板路径 include (dirname(__FILE__).'/template/index.tpl'); //获取缓冲区的内容,并赋给$cnt $cnt =ob_get_contents(); //清理缓冲区内容 ob_end_clean(); //在该文件夹下生成一个index.php文件,没有就创建并覆盖 file_put_contents($this->project_main,"$cnt"); } } ?>
godinitの起動(メソッド)も改良する必要があります
static function start(){ $get_config = loadConfig(); $gf = new god_frame($get_config->prj_name); $gf -> prj_name = $get_config->prj_name; $gf -> prj_author = $get_config->prj_author; $gf -> run(); }
このメソッドをコマンドラインで実行してください
次に、ドキュメント全体のディレクトリ構造とindex.phpの内容を見てみましょう
追加された知識ポイント:
__FILE__:
dirname():
ob_start() : PHP の内部バッファ (メモリ) を開始します。次に表示する内容を先にバッファに入れて、
ob_get_contents(); 関数でバッファの内容を取得することで、その内容を出力することができます
ob_end_flush (); バッファを閉じて内容を出力します
get_object_vars(); クラス(インスタンス化されたクラス)内の属性変数の値を取得し、配列を返すことができます。