很普通的问题:
就是在向前台输出内容时.有时是同一个内容.但是要求输出的格式不一样.
比仿说同样是个新闻列表.有的新闻的列表需要显示日期字段,有的还需要同时输出新闻的图片.
如何在PHP那部分处理呢?(输出后用JS或CSS控制不在讨论之内). 初级的方法应该是每种输出写一个函数.这样的方法代码重从率太低;我一般是写一个函数,用传参来区分是哪种输出形式调用,然后返回相应的格式.
代码如下 function myfun($type){
/*读取数据库代码略*/
if($type='wordList'){
return "输出wordList需要的字符串";
}else if($type='wordAndDateList'){
return "输出wordAndDateList需要的字符串";
}
} echo myfun('wordAndDateList');
但是这样如果有很多格式要输出,就会显的很杂乱.代码重用率稍好,但也不是很高.我想肯定有更正规,更优美的解决办法.所以在此请教大家.
请高手赐教. 说说您都是怎么处理.不胜感激.面向对象或是其它之类,只要是好方法都可以谈谈~~~~~~~~~~~~
就是在向前台输出内容时.有时是同一个内容.但是要求输出的格式不一样.
比仿说同样是个新闻列表.有的新闻的列表需要显示日期字段,有的还需要同时输出新闻的图片.
如何在PHP那部分处理呢?(输出后用JS或CSS控制不在讨论之内). 初级的方法应该是每种输出写一个函数.这样的方法代码重从率太低;我一般是写一个函数,用传参来区分是哪种输出形式调用,然后返回相应的格式.
代码如下 function myfun($type){
/*读取数据库代码略*/
if($type='wordList'){
return "输出wordList需要的字符串";
}else if($type='wordAndDateList'){
return "输出wordAndDateList需要的字符串";
}
} echo myfun('wordAndDateList');
但是这样如果有很多格式要输出,就会显的很杂乱.代码重用率稍好,但也不是很高.我想肯定有更正规,更优美的解决办法.所以在此请教大家.
请高手赐教. 说说您都是怎么处理.不胜感激.面向对象或是其它之类,只要是好方法都可以谈谈~~~~~~~~~~~~
$action = 'a'; //楼主可以通过get分别传参数a, b, c值给$action变量看一下有什么結果// 优点: 直接把通过get传函数名, 直接调用设计好的函数
// 缺点: 对函数的执行权限要注意,是所有人,还是只有管理员
$action();function a(){ echo 'a'; } function b(){ echo 'b'; } function c(){ echo 'c'; }
能用smarty举例否? 我想见识一下
还是不太懂你的意思.
我的问题还没到模版解决的地方吧?!我只是想读出数据库的记录后,根据需要输出各种各样的样式...比仿说.我有时想输出为HTML,有时是JSON,有时又是Script...
就是防止别人对你不应该使用的函数执行了, 何通过用户权限
比如 用户权限大于一的直接加载一个文件, 里面全是模板函数, 这是通过$action来触发调用什么类型的模板函数, 它们就相应的输出什么内容了, 不用整天 if()elseif()else()
系统函数都可以执行.不是很危险?!
$action();
}else{
exit('非法调用');
}应该可以解决大部分的安全问题
$action = 'ajax_'.$_GET['action'];if(function_exists($action)) {
$action();
}这个简单, 接到参数后加自己的前缀, 就不会乱调用系统函数了, 如果按你代码来改