讨论上PHP的变量注册以及使用

php中文网
发布: 2016-06-13 11:06:17
原创
1021人浏览过

讨论下PHP的变量注册以及使用。
先从smarty模板说起,众所周知如果用这个东东注册一个变量$smarty->assign($aaa,'123');
$smarty->display('a.tlp');
那么a页面就能使用$aaa这个变量呢,我想问的是。如果不用任何模板,我在a页面public一个变量,如何在b页面使用他?? 如果我用aaa;?>这样的方式,是否效率更高? 毕竟模板引擎也是用自己的语言逻辑实现这个过程。。
本人水平不高,想搞清楚这一点,求赐教
------解决方案--------------------
$smarty->assign($aaa,'123');
$smarty->display('a.tlp');

等价于
$a = 234;
?>
...

------解决方案--------------------
我給你一個function你看看或許對你有幫助

<br />/**<br />	通用範本處理引擎<br />	參數:<br />		調用範本並重組預定義的範本變量$Arr,讓每個key成為一個範本變量(key如果是數字將會被unset)<br />	說明:<br />		範本檔案名(多個名稱用*分隔),範本變量,是否直接輸出內容,範本路徑<br />		不直接返回的狀況主要用於返回編譯之後的範本內容,其目的是爲了緩存<br />	返回:<br />		如果直接顯示則沒有任何返回值,如果不直接顯示則返回編譯後的範本<br />	用法:<br />		//自定義範本變體:範本里調用時可用的變量為:$a;$b<br />		$out=Array('a'=>'abc',1=>'fff','b'=>Array('ee'=>'我','是'));<br /><br />		//把前臺的兩個範本編譯之後直接輸出<br />		T('head*index',$out);<br /><br />		//把前臺的範本編譯之後直接輸出<br />		T('test',$out,False);<br /><br />		//把後臺範本編譯之後返回給調用對象<br />		T('test',$out,True,'adm');<br />/**/<br />Function T($Tpl,&$Arr=Array(),$IsShow=True,$Dir='usr') {<br />	IF($Tpl=='') {Return ;}<br /><br />	Foreach($Arr as $k=>$v) {<br />		IF(Is_numeric($k)) {<br />			Unset($Arr[$k]);<br />			IF(SYS_DEBUG) {Error('FT0001',False);}<br />			Continue;<br />		}<br />		$$k=$v;<br />	}Unset($Arr);<br /><br />	IF(!$IsShow) {//如果不允許直接輸出,則開啟緩衝抓取內容<br />		OB_start();OB_clean();<br />	}<br /><br />	$Tpl=Str2Arr($Tpl,'*',True,True,False);<br />	Foreach($Tpl as $k=>$v){<br />		//範本檔案及路徑<br />		$FTpl=SYS_ROOT.$GLOBALS['SYS_TPL'.StrToUpper($Dir).''].$v.'.php';<br /><br />		//範本是否存在<br />		IF(!File_Exists($FTpl)) {Exit('Error:Template '.$FTpl);}<br /><br />		//載入範本<br />		Require($FTpl);<br />		Unset($FTpl);<br />	}Unset($Tpl,$Dir);<br /><br />	IF(!$IsShow) {<br />		$m=Ob_get_contents();	// 取得緩存區內容<br />		OB_end_clean();			// 清理原有內容OB_clean();<br />		OB_end_flush();<br />		Unset($IsShow);<br />		Return $m;<br />	}<br />}
登录后复制

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号