解决方案 »
- 请教关于在浏览器输出图片
- 如何在类的构造函数中终止类的运行
- 有知道这是个什么问题?
- 请问:Pear导出Excel, 如何在Spreadsheet_Exce l_Writer中添加中文的工作表?
- 新手问个简单的问题
- PHP 实现分页->OOP风格
- 如何让用户无法离开当前页面
- php+oracle分页
- 如何将数据保存到.txt文件中。
- 怎么查看一个PHP文件是被哪个文件include或require
- 高分求助,怎样查询另一个数据库里某个数据表的数据呢?
- smarty里面的导入文件, <!--#include virtual="/event/index_calendar.php" --> 在ubuntu失效
Smarty之前用的不多,Jlzan能不能举几个不是全局的例子看看?
你这样改,感觉不到多大简化
function a(){
gloabl $smary;
$a=1;
$smarty->assign('a');//这个是1,还是2呢?
}
{
$id=1;
$GLOBALS['tpl']->assign('id', $id);//这个id就不是全局
}
$tpl->assign("var1",$var1);
这种写法,如果模板中的变量很多,写起来也不轻松吧? 我是刚用Smarty,所以不了解,还望指教
可以的话,你这个改改就好办多了。
function test11(){
echo "<per>";
var_dump(func_get_args());
var_dump(func_num_args());
var_dump(func_get_arg(1));
//前面都只能得到参数个数和值,就是不知道怎么得到参数的变量名称,比如这里得到a,b,c
}
$a="123";
$b="456";
$c="789";
test11($a,$b,$c);
不过你 $tpl->assign("var1,var2,var3"); 并没有少写什么
你假定数据是全局的,但是要保障这个“全局”又要有多少开销呢?而真正有意义的工作是:从模板文件创建程序代码,于是你只需要写计算数据的代码了
$list = array();
$ietm = unserialize('a:77:{i:0;s:7:"GLOBALS";i:1;s:4:"_ENV";i:2;s:13:"HTTP_ENV_VARS";i:3;s:15:"ALLUSERSPROFILE";i:4;s:18:"CommonProgramFiles";i:5;s:12:"COMPUTERNAME";i:6;s:7:"ComSpec";i:7;s:16:"FP_NO_HOST_CHECK";i:8;s:20:"NUMBER_OF_PROCESSORS";i:9;s:2:"OS";i:10;s:4:"Path";i:11;s:7:"PATHEXT";i:12;s:22:"PROCESSOR_ARCHITECTURE";i:13;s:20:"PROCESSOR_IDENTIFIER";i:14;s:15:"PROCESSOR_LEVEL";i:15;s:18:"PROCESSOR_REVISION";i:16;s:12:"ProgramFiles";i:17;s:11:"SystemDrive";i:18;s:10:"SystemRoot";i:19;s:4:"TEMP";i:20;s:3:"TMP";i:21;s:11:"USERPROFILE";i:22;s:17:"VBOX_INSTALL_PATH";i:23;s:6:"windir";i:24;s:13:"AP_PARENT_PID";i:25;s:16:"uchome_loginuser";i:26;s:15:"supe_cookietime";i:27;s:9:"supe_auth";i:28;s:14:"Mwp6_lastvisit";i:29;s:18:"Mwp6_home_readfeed";i:30;s:10:"Mwp6_smile";i:31;s:16:"Mwp6_onlineindex";i:32;s:8:"Mwp6_sid";i:33;s:12:"Mwp6_lastact";i:34;s:9:"PHPSESSID";i:35;s:11:"HTTP_ACCEPT";i:36;s:12:"HTTP_REFERER";i:37;s:20:"HTTP_ACCEPT_LANGUAGE";i:38;s:15:"HTTP_USER_AGENT";i:39;s:20:"HTTP_ACCEPT_ENCODING";i:40;s:9:"HTTP_HOST";i:41;s:15:"HTTP_CONNECTION";i:42;s:11:"HTTP_COOKIE";i:43;s:4:"PATH";i:44;s:7:"COMSPEC";i:45;s:6:"WINDIR";i:46;s:16:"SERVER_SIGNATURE";i:47;s:15:"SERVER_SOFTWARE";i:48;s:11:"SERVER_NAME";i:49;s:11:"SERVER_ADDR";i:50;s:11:"SERVER_PORT";i:51;s:11:"REMOTE_ADDR";i:52;s:13:"DOCUMENT_ROOT";i:53;s:12:"SERVER_ADMIN";i:54;s:15:"SCRIPT_FILENAME";i:55;s:11:"REMOTE_PORT";i:56;s:17:"GATEWAY_INTERFACE";i:57;s:15:"SERVER_PROTOCOL";i:58;s:14:"REQUEST_METHOD";i:59;s:12:"QUERY_STRING";i:60;s:11:"REQUEST_URI";i:61;s:11:"SCRIPT_NAME";i:62;s:8:"PHP_SELF";i:63;s:12:"REQUEST_TIME";i:64;s:4:"argv";i:65;s:4:"argc";i:66;s:5:"_POST";i:67;s:14:"HTTP_POST_VARS";i:68;s:4:"_GET";i:69;s:13:"HTTP_GET_VARS";i:70;s:7:"_COOKIE";i:71;s:16:"HTTP_COOKIE_VARS";i:72;s:7:"_SERVER";i:73;s:16:"HTTP_SERVER_VARS";i:74;s:6:"_FILES";i:75;s:15:"HTTP_POST_FILES";i:76;s:8:"_REQUEST";}');
$temp_list = (array) $GLOBALS;
foreach ($temp_list as $key => $val){
if(in_array($key,$ietm) === false)
$list[$key] = $val;
}
return (array) $list;
}在结束时使用, 可以抓取到所有的变量,数组, 类,及资源.