- 相關(guān)推薦
PHP中--autoload和Smarty沖突的解決方法
文章主要介紹了PHP中__autoload和Smarty沖突的簡(jiǎn)單解決方法,通過(guò)spl_autoload_register注冊(cè)__autoload函數(shù)的方法來(lái)解決__autoload函數(shù)再在Smarty無(wú)效的問(wèn)題,需要的朋友可以參考下。
一、問(wèn)題:
最近,在項(xiàng)目中發(fā)現(xiàn),PHP 的 __autoload 方法失效了。調(diào)試了好久,百思不得其解,查了下資料才知道原來(lái)是 Smarty 的原因。新版的 Smarty 改變了autoload的方式。
二、解決方法:
在 Smarty 的包含類文件后加一段代碼,spl_autoload_register("__autoload");
如下:
?
1
2
3
4
5
<?php
define('ROOT_PATH', dirname(__FILE__));
require_once ROOT_PATH . '/includes/smarty/Smarty.class.php';
spl_autoload_register("__autoload"); // 添加這段代碼
?>
【拓展閱讀】
淺析php數(shù)據(jù)類型轉(zhuǎn)換
PHP 在變量定義中不需要(或不支持)明確的類型定義;變量類型是根據(jù)使用該變量的上下文所決定的。也就是說(shuō),如果把一個(gè)字符串值賦給變量 var,var 就成了一個(gè)字符串。如果又把一個(gè)整型值賦給 var,那它就成了一個(gè)整數(shù)。
PHP 的自動(dòng)類型轉(zhuǎn)換的一個(gè)例子是加號(hào)“+”。如果任何一個(gè)操作數(shù)是浮點(diǎn)數(shù),則所有的操作數(shù)都被當(dāng)成浮點(diǎn)數(shù),結(jié)果也是浮點(diǎn)數(shù)。否則操作數(shù)會(huì)被解釋為整數(shù),結(jié)果也是整數(shù)。注意這并沒(méi)有改變這些操作數(shù)本身的類型;改變的僅是這些操作數(shù)如何被求值以及表達(dá)式本身的類型。
類型強(qiáng)制轉(zhuǎn)換
允許的強(qiáng)制轉(zhuǎn)換有:
?(int), (integer) - 轉(zhuǎn)換為 整型(integer)
?(bool), (boolean) - 轉(zhuǎn)換為 布爾型(boolean)
?(float), (double), (real) - 轉(zhuǎn)換為 浮點(diǎn)型(float)
?(string) - 轉(zhuǎn)換為 字符串(string)
?(binary) - 轉(zhuǎn)換為二進(jìn)制 字符串(string) (PHP 6)
?(array) - 轉(zhuǎn)換為 數(shù)組(array)
?(object) - 轉(zhuǎn)換為 對(duì)象(object)
?(unset) - 轉(zhuǎn)換為 NULL (PHP 5)
(binary) 轉(zhuǎn)換會(huì)在結(jié)果前面加上前綴'b',PHP 5.2.1 新增。
注意在括號(hào)內(nèi)允許有空格和制表符
將 字符串(string)文字和變量轉(zhuǎn)換為二進(jìn)制 字符串(string):
復(fù)制代碼 代碼如下:
<?php
$binary = (binary)$string;
$binary = b"binary string";
?>
如果要改變一個(gè)變量的類型,參見(jiàn) settype();
settype — 設(shè)置變量的'類型
bool settype ( mixed $var , string $type )
將變量 var 的類型設(shè)置成 type。
type 的可能值為:
?“boolean” (或?yàn)?ldquo;bool”,從 PHP 4.2.0 起)
?“integer” (或?yàn)?ldquo;int”,從 PHP 4.2.0 起)
?“float” (只在 PHP 4.2.0 之后可以使用,對(duì)于舊版本中使用的“double”現(xiàn)已停用)
?“string”
?“array”
?“object”
?“null” (從 PHP 4.2.0 起)
成功時(shí)返回 TRUE, 或者在失敗時(shí)返回 FALSE.
intval() , floatval() , strval() , 這三個(gè)函數(shù)也可轉(zhuǎn)換
【PHP中--autoload和Smarty沖突的解決方法】相關(guān)文章:
PHP框架之Smarty中的注釋和截?cái)喙δ芙榻B06-08
php-smarty模版引擎中的緩存應(yīng)用04-23
利用PHP模板引擎smarty05-04
php中防止SQL注入的解決方法01-02
PHP中php://input和$-POST的區(qū)別03-27
PHP中使用smarty生成靜態(tài)文件的實(shí)例04-13