新手练手,欢迎吐槽
array('attr' => 'table,order,limit,where,join,field,page,relation,method,cache,dump,sql', 'close' => 1),
);
public function _list($attr, $content)
{
$defaultattr = explode(',', $this->tags['list']['attr']);
$vars = array();
foreach ($defaultattr as $v) {
if ($attr[$v]) {
$vars[$v] = $attr[$v];
}
}
if (!isset($vars['table']) || empty($vars['table'])) {
return false;
}
//是用模型中的特定方法还是select
if (isset($vars['method'])) {
$select = '->' . $vars['method'];
} else {
$select = ->select();
}
//limit and page
$limit = '';
if (!isset($vars['page'])) {
if (isset($vars['limit'])) {
$limit = '->limit(' . $vars['limit'] . ')';
}
} else {
$limit = '->page($page,$rows)';
}
//dump 调试
$dump = '';
if (isset($vars['dump']) && $vars['dump'] == true) {
$dump = '';
}
//getlastsql 调试
$lastsql = '';
if (isset($vars['sql']) && $vars['sql'] == true) {
$lastsql = ' echo
. m()->getlastsql(); ';
}
unset($vars['page'], $vars['limit'], $vars['method'], $vars['dump'], $vars['sql']);
$tmpstr = '';
$where = '';
$join = '';
foreach ($vars as $k => $v) {
if ($k == 'table') {
continue;
}
if ($k == 'where') {
$where = $v;
}
if ($k == 'join') {
$join = $v;
}
$tmpstr .= '->' . $k . '(' . $v . ')';
}
$str = '$v): ?>';
$str .= $content;
$str .= 'where(' . $where . ')->join(' . $join . ')->count();
$page = new \think\page($total,$rows);
$pagestr = $page->show();
?>';
$str .= $dump;
return $str;
}
}
ad:真正免费,域名+虚机+企业邮箱=0元