Heim >Backend-Entwicklung >PHP-Tutorial >PHP168整站架构分析+企业解决方案_PHP教程
PHP168整站系统的与众不同之处在于“一个核心+多模块”以满足企业不同的需求。以往的整站程序把所有的功能都集合在一起,这就给企业带来了诸多的不便,因为很多企业并不需要全部的功能,全部功能给它的话,不仅仅是一种累赘,而且在操作上也带来太多的干扰与诸多的不便。虽然有的整站系统推出了不同的版本,诸如:企业版、个人版、单位版等等。但这也并不是解决问题的出路,虽然有了版本的区别,把企业与个人区分开来了,但是还忽略了一个问题,就企业这个行业而言,他们的需求就各不相同。所以这也不能从根本上解决问题。
考虑到以上种种情况,为了给企业、个人、单位等等,带来更多的方便,PHP168整站开发小组凭借着多年来的开发经验,最后想出一个非常有效的解决方案,那就是现在的:一个核心+多个模块。可以非常灵活的满足不同的企业、单位、个人的不同需求。核心是必须安装的,因为里边包括了网站最基本的功能,比如用户权限控制、数据备份等等。而多模块呢?大家可以自由选择安装自己需要的模块。安装以后,某一天不需要了,也可以很方便的自由删除。这就非常的灵活,扩展性也就非常的强,按需搭建自己的网站。就像搭建积木那么轻松自如。
以上所讲的,是对PHP168整站系统的一个总体概述。下面再来跟大家分享一下我们这个整站当中的一些比较具有特色的自定义功能函数,因为这些函数就像一座大厦的钢筋水泥柱子一样,没有它们,就很难搭建整个大厦。所以我们就从最基本的功能跟大家讲起,以下就抽取了几个比较有代表性的功能函数跟大家谈谈。
function table_field($table,$field=''){
global $db;
$query=$db->query(" SELECT * FROM $table limit 1");
$num=mysql_num_fields($query);
for($i=0;$i $f_db=mysql_fetch_field($query,$i);
$showdb[]=$f_db->name;
}
if($field){
if(in_array($field,$showdb) ){
return 1;
}else{
return 0;
}
}else{
return $showdb;
}
}
以上这段代码,是一个MySQL数据表的处理函数,它可以实现两个非常重要的功能,第一个功能就是可以判断某个表当中是否存在某个字段。看似很平凡的功能,实际用起来是很多的。比如当版本升级的时候,就要判断用户的旧数据库是否存在某些字段,如果不存在的话,就要往这个表中添加字段。其中上面的$table参数就是数据表,而$field参数就是字段名。另一个重要的功能,就是获取某个表的所有字段,然后以数组的方式返回。这个功能的实用性也很强,比如有些用户自定义的表单,用户自字义添加字段后,当添加数据的时候,程序处理数据之前,就需要把那个表的字段获取到,因为里边的字段是变动的,用户可以随便的添加或删除。
function del_file($path){
if (file_exists($path)){
if(is_file($path)){
if( !@unlink($path) ){
$show.="$path,";
}
} else{
$handle = opendir($path);
while (($file = readdir($handle))!='') {
if (($file!=".") && ($file!="..") && ($file!="")){
if (is_dir("$path/$file")){
$show.=del_file("$path/$file");
} else{
if( !@unlink("$path/$file") ){
$show.="$path/$file,";
}
}
}
}
closedir($handle);
if(!@rmdir($path)){
$show.="$path,";
}
}
}
return $show;
}
上面这个是删除文件的函数,使用频率也是很高的,大家都知道,使用系统自身的函数只能是删除单个文件,而无法递归的删除多级目录与文件,而这个函数正好解决了这个问题,不仅仅可以删除单个文件,也可以删除多级目录。比如整站数据生成静态后,就会生成很多文件与很多目录。使用这个函数的话,就可以轻易的把某个目录下的所有文件一下子全部删除。
大家想了解更多的信息,或者想亲自体验一下的,不烦登录PHP168官方网站:http://www.php168.com。