php最牛逼的特性之一除了懶人函式,還有一些魔法函式。
首先我們來認識下__tostring,通過乙個巫術方法,我們吧例項轉化過後的類,直接當字串輸出。結合我們前面所做的功能,我們在類裡面加上這個函式:
在godinit檔案中,我們將
<?php在god_func7檔案中寫入__tostring方法require('godconfig.php'); //
引入gonconfig這個檔案
class godinit //
建立乙個類,godinit
static
function __callstatic($p1,$p2
) }
?>
<?php測試下結果,還是和原來一毛一樣://functions for php7
function genconfig($cnt):string
function tc($p
) }
function
__tostring()};}
師曰:我們又不是一定非要輸出json,如果我們要把類輸出成一段「sql」呢?譬如自動拼接成乙個sql字串 select prj_name,prj_author from table。這個問題我們先想想。
現在我們先學習下php常量。what?突然冒出乙個基礎語法..好吧前面都是在講基礎語法,只是逼格比較高而已...
定義常量:define(「name」,」value」);
1、在設定以後,常量的值無法更改
2、常量名不需要開頭的美元符號($);
3、作用域不影響對常量的訪問。
4、常量只能包含標量資料(boolean,integer,float 和 string)。
然後我們在剛才是例項中定義乙個常量,把這個常量當做配置來使用,來我們試試看:
首先在godinit這個檔案的第一行定義個常量:
define('cstring','json');然後我們在在god_func7檔案中修改下__tostring方法:
<?php我們看下結果://functions for php7
function genconfig($cnt):string
function tc($p
) }
function __tostring()else }};
}
把原來的常量改成:define('cstring','sql');
下面,弄個實戰需求繼續學習。
前面花了n多的時間做了乙個配置檔案的生成(god.json)。我們再來個需求:讀取配置檔案 。
需求如下,當使用者輸入引數是「ini」的時候,我們就讀取,並把裡的引數內容列印到螢幕上。
//然後在god_func7檔案中同樣也新增乙個loadconfig()方法在godinit檔案中我們新增乙個方法
function
ini()
function結果:好吧,寫了這麼多god,最終要幹什麼?老師在這節課揭曉了答案,是為了我們後面做**時生成乙個「開發骨架」。loadconfig()
強化知識點:
__tostring
__get、
__call、
__set、
__clone
json_decode:
file_get_contents:
上一課:
沈逸老師php魔鬼特訓筆記(5)
下一課:沈逸老師php魔鬼特訓筆記(7)--我叫什麼名字
沈逸老師PHP魔鬼特訓筆記(2)
一 這一課會學習到幾個懶人函式 1 file put contents php 5,php 7 file put contents 將乙個字串寫入檔案 intfile put contents string filename,mixed data int flags 0 resource conte...
沈逸老師PHP魔鬼特訓筆記 7 我叫什麼名字
一 生成資料夾。bool mkdir string pathname int mode 0777 bool recursive false resource context 嘗試新建乙個由 pathname 指定的目錄。引數 pathname 目錄的路徑。static function start ...
問題 C 沈老師的最後一關
安傑好不容易搬完了彈藥,沒想到沈老師還不打算放過他。除非,他能回答沈老師乙個問題。這個問題很簡單 已知2011年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。安傑非常愚鈍,你能幫助他嗎?輸入只有一行yyyy mm dd1599 yy...