最近在学习dedecms的源代码,看到了一个file函数的应用。在权限管理页面,权限页面内容全部由txt文件记录,用file函数读取txt内容,再将内容转换成html表现形式。是个不错的内容与逻辑层分离的解决方案。
 
file()-- 把整个文件读入一个数组中;
 
$start = 0;
$k = 0;
$gouplists = file(dirname(__FILE__).'/common/grouplist.txt');
foreach($gouplists as $line){
  $line = trim($line);
         if($line=="") continue;
         if(ereg( "^>>",$line)){
                 if($start>0) echo "                    \r\n";
                $start++;
                $lhead = "
                    
                {$start}、 ".str_replace('>>','',$line)."
                
                ";    
                echo $lhead;
        }
         else if(ereg( "^>",$line))
        {
                $ls = explode('>',$line);
                $tag = $ls[1];
                $tagname = str_replace('[br]','
',$ls[2]);
                 if(!ereg('
', $tagname) )    
      $tagname .= "($tag)";
                 else    
      $tagname = str_replace('
', "($tag)
"
, $tagname);
                echo "                      .(getLimit($Mssql,$tag,$ss)? " checked": "").">$tagname\r\n";
                $k++;
        }
}
$start++;
?>
 
php file函数在内容与底层逻辑分离的应用_第1张图片
 
txt文件的存放格式:
 
>>我的工作
>11>业务组工作内容添加
>12>业务组工作内容修改
>13>业务组工作内容删除
>14>业务组工作内容查看
>15>业务组工作内容审核
>16>业务组工作内容失效
>>项目
>21>项目人员分工
>22>项目人员日程安排
>23>项目查看
>>业务分解表
>31>年度目标分解表创建
>32>年度目标分解表修改
>33>年度目标分解表提交
>34>年度目标分解表审批
>35>年度目标分解表退回
>36>年度目标分解表查看[br]
>41>未来三月目标分解表创建
>42>未来三月目标分解表修改
>43>未来三月目标分解表提交
>44>未来三月目标分解表审批
>45>未来三月目标分解表退回
>46>未来三月目标分解表查看[br]
>51>项目成本分析表创建
>52>项目成本分析表修改
>53>项目成本分析表提交
>54>项目成本分析表审批
>55>项目成本分析表退回
>56>项目成本分析表查看
>57>项目成本分析表删除[br]
>>系统设置
>61>权限修改