PHPの悪魔のトレーニング

高洛峰
リリース: 2016-10-10 11:13:42
オリジナル
1476 人が閲覧しました

このレッスンでは、先生の指導に従って、次のようにコードを作成します。 1. たとえば、変数 $name=''; を定義します。テンプレート。 3. 次に、このテンプレートに独自の「表示形式」(ハード スタイル)をいくつか設定します。 4. テンプレートをロードした後、それを上記の変数に直接置き換えることができます。

1. まず、テンプレートフォルダーに新しいindex.tplを作成します。内容はこんな感じで書きます

<?php echo &#39;<?php&#39; ?>  
/**
* project name: <?php echo $prj_name ?>  //大家想想, 它能运行吗?
*User: <?php echo $prj_author ?>    //能运行吗?
*Date: <?php echo date(&#39;Y-m-d&#39;)?>  //能吗?
*/

    echo "hello shenyi";
?>
ログイン後にコピー

さて、準備は完了です、god_frameクラスで参照します

<?php
namespace core\frame;

class god_frame
{
    public  $project_folder = &#39;&#39;;       //项目文件夹
    public  $project_main = &#39;&#39;;         //入口文件
    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__).&#39;/template/index.tpl&#39;);
        //获取缓冲区的内容,并赋给$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();
    }
ログイン後にコピー

このメソッドをコマンドラインで実行してください

PHPの悪魔のトレーニング

次に、ドキュメント全体のディレクトリ構造とindex.phpの内容を見てみましょう

PHPの悪魔のトレーニング

追加された知識ポイント:

__FILE__:

dirname():

ob_start() : PHP の内部バッファ (メモリ) を開始します。次に表示する内容を先にバッファに入れて、
ob_g​​et_contents(); 関数でバッファの内容を取得することで、その内容を出力することができます
ob_end_flush (); バッファを閉じて内容を出力します
get_object_vars(); クラス(インスタンス化されたクラス)内の属性変数の値を取得し、配列を返すことができます。

抽出();


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート