【发布时间】:2010-12-30 18:56:17
【问题描述】:
我最近遇到了一个 PHP 设计问题。我注意到在函数中,您可以将数组作为参数传递。一开始没注意到这东西的厉害,现在迷上了数组。
例如,在我的模板类中,我必须将一些变量和一些 mysqli_results 传递到模板文件中(就像 phpbb 一样)。我想知道以下哪种可能性是最好的。
# 1
$tpl = new template(array(
'vars' = array('var1' => 'val1', 'var2' => 'val2'),
'loops' = array('loop1' => $result1, 'loop2' => $result2)
));
# 2
$tpl = new template;
$tpl->assignVars(array(
'var1' => 'val1',
'var2' => 'val2'
));
$tpl->assignloops(array(
'loop1' => $result1,
'loop2' => $result2
));
# 3
$tpl = new template;
$tpl->assignVar('var1', 'val1');
$tpl->assignVar('var1', 'val1');
$tpl->assignLoop('loop1', $result1);
$tpl->assignLoop('loop2', $result2);
或者如果有更好的东西。我什至在考虑创建一个执行如下查询的数据库类:
$result = $db->fastQuery(array(
'select' => 'user-name',
'from' => $table,
'where' => array('user-id' => 123, 'user-image' => 'none'),
'fetch' => true
));
天哪,我真的很着迷。
【问题讨论】:
-
你对数组很着迷吗?然后你会爱 chaining.
-
这是否意味着他们都是很好的例子?
-
@Mike B,略有不同。
-
我没有说这是骗子,只是引用了类似的讨论:)
标签: php design-patterns