>  기사  >  类库下载  >  PHP 악마 훈련

PHP 악마 훈련

高洛峰
高洛峰원래의
2016-10-10 11:13:421426검색

이 수업에서 교사는 TEMPLATE를 생성하도록 안내합니다. 교사가 가르친 아이디어에 따라 다음과 같이 코드를 작성하겠습니다. 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_get_contents(); 버퍼의 내용을 가져오는 함수
ob_end_clean(); , 콘텐츠는 출력되지 않습니다.
ob_end_flush(); 버퍼를 닫고 콘텐츠를 출력합니다.
get_object_vars() 클래스(인스턴스화된 클래스)에서 속성 변수 값을 가져오고 반환할 수 있습니다. 정렬.

추출();


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기