認真學習php物件導向 3

2021-08-05 19:29:09 字數 2806 閱讀 2762

準備寫乙個認真學習php物件導向的系列,使用php來做網頁,沒有深入了解php的話,可能三板斧就夠了,並不需要有多高深!如有錯誤,歡迎各位不吝賜教!進度安排的話,我學到**,就更新到**了!形式的話就採用乙個需求小案例,然後實現,並附上自己的總結,文章原始碼

系統:ubuntu16.04

編輯器:phpstorm2017

php7

解決 : ob_start以及get_object_vars和extract的使用

ob_start

此函式將開啟輸出緩衝。當輸出緩衝啟用後,指令碼將不會輸出內容(除http標頭外),相反需要輸出的內容被儲存在內部緩衝區中

我們可以使用此函式載入自定義的模板檔案,但並沒有輸出到螢幕中,而是用變數獲取資料,並將資料寫入到建立的入口檔案當中

get_object_vars

返回由物件屬性組成的關聯陣列

可以獲取該物件的屬性值,並建立使用者輸入的引數檔案目錄以及寫入使用者的資料

extract

從陣列中將變數匯入到當前的符號表,可以將陣列直接轉換成變數(ke

y)=值

( value)

實現 :建立自定義模板檔案(template檔案下建立index.tpl)index.tpl

<?php echo '<?php' ?>

/*** project name <?php echo $prj_name?>

* user <?php echo $author?>

* date <?php echo date('y-m-d')?>

*/

寫入模板檔案所需要的變數值god_class.hp

static function start()
在建立檔案目錄類對輸入的引數處理以及生成模板對應自定義檔案god_frame.hp

function run()
效果 :

解決 : system和php命令列啟動內建伺服器命令

system

同 c 版本的 system() 函式一樣, 本函式執行 command 引數所指定的命令, 並且輸出執行結果。

啟動php內建伺服器

php啟動內建伺服器方法

實現 :

使用system函式進行執行

god_frame.hp

function run()
效果 :其中it works在生成的後續新增的,方便觀察效果

解決 : scandir和get_defined_vars()和var_export的使用

scandir

列出指定路徑中的檔案和目錄

get_defined_vars

返回由所有已定義變數所組成的陣列

var_export

輸出或返回乙個變數的字串表示,函式的第二個引數設定為 true,從而返回變數的表示。

實現 :建立乙個檔案

god_frame.php

function compile() 

}unset($_files);

$result='<?php '.php_eol

.'extract('.var_export(get_defined_vars(),1).');';

file_put_contents($this->project_folder.'/vars',$result);

}

god_class.php
//模擬編譯

static function compile()

效果 :

解決 : scandir和get_defined_function()和reflectionfunction的使用

scandir

列出指定路徑中的檔案和目錄

認真學習php物件導向 2

準備寫乙個認真學習php物件導向的系列,使用php來做網頁,沒有深入了解php的話,可能三板斧就夠了,並不需要有多高深!如有錯誤,歡迎各位不吝賜教!進度安排的話,我學到 就更新到 了!形式的話就採用乙個需求小案例,然後實現,並附上自己的總結,文章原始碼 系統 ubuntu16.04 編輯器 phps...

認真學習php物件導向 5

準備寫乙個認真學習php物件導向的系列,使用php來做網頁,沒有深入了解php的話,可能三板斧就夠了,並不需要有多高深!如有錯誤,歡迎各位不吝賜教!進度安排的話,我學到 就更新到 了!形式的話就採用乙個需求小案例,然後實現,並附上自己的總結,文章原始碼 在上一節中我們已經模擬生成了路由資源檔案,這一...

Jenkins SHELL 學習,認真學習

1.參考文字 2.參考指令碼 資料夾不存在則建立?if?d?data then mkdir?data else echo?資料夾已經存在 fi?檔案存在則刪除?if?f?data filename then echo?檔案不存在 else rm?f?data filename fi?判斷資料夾是否存...