進入php原始程式目錄中的ext目錄中,這裡存放著各個擴充模組的原始碼,選擇你需要的模組,例如curl模組:cd curl
#執行phpize產生編譯文件,phpize在PHP安裝目錄的bin目錄下
/usr/local/php5/bin/phpize
#執行時,可能會報錯:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
#environment variable is set correctly and then rerun this
script.,需要安裝autoconf:
yum install autoconf(RedHat或CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
執行這個指令時,php會去檢查設定檔是否正確,如果有設定錯誤,
這裡會報錯,可以依照錯誤訊息去排查!
/**
* 取得一個函數的依賴
* @param string|callable $func
* @param array $param 呼叫方法時所需參數 形參名就是key值
* @return array 回傳方法呼叫所需依賴
*/
function getFucntionParameter($func,$param=[]) {
if(!is_array($param)) {
$param = [$param];
}
$ReflectionFunc = new \ReflectionFunction($func);
$depend = array();
foreach($ReflectionFunc->getParameters() as $value) {
if(isset($param[$value->name])) {
$depend[] = $param[$value->name];
}elseif($value->isDefaultValueAvailable()){
$depend[] = $value->getDefaultValue();
}else{
$tmp = $value->getClass();
if(is_null($tmp)) {
throw new \Exception("Function parameters can not be getClass {$class}");
}
$depend[] = $this->get($tmp->getName());
}
}
return $depend;
}
function test($a,$b=20) {
echo $a,',',$b;
}
$depend = getFucntionParameter('test',['a'=>30,'b'=>40]);
call_user_func_array('test',$depend); // 30,40上面的函數是我開發的框架的容器的方法。
php提供了很完整的反射機制。不但可以反射函數,還可以反射方法,反射類別建構函數。
這個函數是:設定變數的類型,PHP 自帶函數,不需要設定
settype 函數結構
bool settype ( mixed var, string type )
解讀為:傳回值 布林值,也就是成功或失敗。參數兩個都是必須的。前面是要設定類型的變數。後面是要設定為什麼類型的變數。
函數運行結束並沒有什麼輸出。只會回傳一個真假值。告訴你成功還是失敗了。
給你一段程式碼測試一下吧。
$foo = "5bar"; //字元型變數 $foo
settype($foo, "integer"); // $foo 設定類型為整數
var_dump($foo); //列印變數訊息,結果為整數 5
?>
用了以後變數的型別直接改變了。你出錯應該是少加了參數。
==================
##我個人習慣是這樣
$foo = "5bar";
$a = (int)$foo; //宣告變數型別
var_dump($a); //結果也是整數 5
?>
以上是php可以用哪些函數判斷資料型的詳細內容。更多資訊請關注PHP中文網其他相關文章!