Home Backend Development PHP Tutorial PHP168 whole site architecture analysis + enterprise solution_PHP tutorial

PHP168 whole site architecture analysis + enterprise solution_PHP tutorial

Jul 13, 2016 am 10:38 AM
enterprise analyze Architecture mold of system solution

      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<$num;$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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/735117.htmlTechArticlePHP168整站系统的与众不同之处在于“一个核心+多模块”以满足企业不同的需求。以往的整站程序把所有的功能都集合在一起,这就给企业带...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CUDA's universal matrix multiplication: from entry to proficiency! CUDA's universal matrix multiplication: from entry to proficiency! Mar 25, 2024 pm 12:30 PM

General Matrix Multiplication (GEMM) is a vital part of many applications and algorithms, and is also one of the important indicators for evaluating computer hardware performance. In-depth research and optimization of the implementation of GEMM can help us better understand high-performance computing and the relationship between software and hardware systems. In computer science, effective optimization of GEMM can increase computing speed and save resources, which is crucial to improving the overall performance of a computer system. An in-depth understanding of the working principle and optimization method of GEMM will help us better utilize the potential of modern computing hardware and provide more efficient solutions for various complex computing tasks. By optimizing the performance of GEMM

Huawei's Qiankun ADS3.0 intelligent driving system will be launched in August and will be launched on Xiangjie S9 for the first time Huawei's Qiankun ADS3.0 intelligent driving system will be launched in August and will be launched on Xiangjie S9 for the first time Jul 30, 2024 pm 02:17 PM

On July 29, at the roll-off ceremony of AITO Wenjie's 400,000th new car, Yu Chengdong, Huawei's Managing Director, Chairman of Terminal BG, and Chairman of Smart Car Solutions BU, attended and delivered a speech and announced that Wenjie series models will be launched this year In August, Huawei Qiankun ADS 3.0 version was launched, and it is planned to successively push upgrades from August to September. The Xiangjie S9, which will be released on August 6, will debut Huawei’s ADS3.0 intelligent driving system. With the assistance of lidar, Huawei Qiankun ADS3.0 version will greatly improve its intelligent driving capabilities, have end-to-end integrated capabilities, and adopt a new end-to-end architecture of GOD (general obstacle identification)/PDP (predictive decision-making and control) , providing the NCA function of smart driving from parking space to parking space, and upgrading CAS3.0

Implementing Machine Learning Algorithms in C++: Common Challenges and Solutions Implementing Machine Learning Algorithms in C++: Common Challenges and Solutions Jun 03, 2024 pm 01:25 PM

Common challenges faced by machine learning algorithms in C++ include memory management, multi-threading, performance optimization, and maintainability. Solutions include using smart pointers, modern threading libraries, SIMD instructions and third-party libraries, as well as following coding style guidelines and using automation tools. Practical cases show how to use the Eigen library to implement linear regression algorithms, effectively manage memory and use high-performance matrix operations.

What is the architecture and working principle of Spring Data JPA? What is the architecture and working principle of Spring Data JPA? Apr 17, 2024 pm 02:48 PM

SpringDataJPA is based on the JPA architecture and interacts with the database through mapping, ORM and transaction management. Its repository provides CRUD operations, and derived queries simplify database access. Additionally, it uses lazy loading to only retrieve data when necessary, thus improving performance.

Always new! Huawei Mate60 series upgrades to HarmonyOS 4.2: AI cloud enhancement, Xiaoyi Dialect is so easy to use Always new! Huawei Mate60 series upgrades to HarmonyOS 4.2: AI cloud enhancement, Xiaoyi Dialect is so easy to use Jun 02, 2024 pm 02:58 PM

On April 11, Huawei officially announced the HarmonyOS 4.2 100-machine upgrade plan for the first time. This time, more than 180 devices will participate in the upgrade, covering mobile phones, tablets, watches, headphones, smart screens and other devices. In the past month, with the steady progress of the HarmonyOS4.2 100-machine upgrade plan, many popular models including Huawei Pocket2, Huawei MateX5 series, nova12 series, Huawei Pura series, etc. have also started to upgrade and adapt, which means that there will be More Huawei model users can enjoy the common and often new experience brought by HarmonyOS. Judging from user feedback, the experience of Huawei Mate60 series models has improved in all aspects after upgrading HarmonyOS4.2. Especially Huawei M

Differences and similarities of cmd commands in Linux and Windows systems Differences and similarities of cmd commands in Linux and Windows systems Mar 15, 2024 am 08:12 AM

Linux and Windows are two common operating systems, representing the open source Linux system and the commercial Windows system respectively. In both operating systems, there is a command line interface for users to interact with the operating system. In Linux systems, users use the Shell command line, while in Windows systems, users use the cmd command line. The Shell command line in Linux system is a very powerful tool that can complete almost all system management tasks.

How steep is the learning curve of golang framework architecture? How steep is the learning curve of golang framework architecture? Jun 05, 2024 pm 06:59 PM

The learning curve of the Go framework architecture depends on familiarity with the Go language and back-end development and the complexity of the chosen framework: a good understanding of the basics of the Go language. It helps to have backend development experience. Frameworks that differ in complexity lead to differences in learning curves.

Java framework security vulnerability analysis and solutions Java framework security vulnerability analysis and solutions Jun 04, 2024 pm 06:34 PM

Analysis of Java framework security vulnerabilities shows that XSS, SQL injection and SSRF are common vulnerabilities. Solutions include: using security framework versions, input validation, output encoding, preventing SQL injection, using CSRF protection, disabling unnecessary features, setting security headers. In actual cases, the ApacheStruts2OGNL injection vulnerability can be solved by updating the framework version and using the OGNL expression checking tool.

See all articles