• phpcms二次开发之base.php的桥梁作用


    PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。

          入口程序是在前期处理用户请求的引导程序。它是唯一一个可以被最终用户可以直接请求运行的。

    PHPCMS框架入口文件base.php:

    文件路径:根目录/phpcms/base.php 代码片段如下:

    该文件为框架入口文件,包含实例化系统/模块类方法,调用系统/模块方法,系统常用常量等。如:

         pc_base::load_model('*_model') 加载数据库模型 类

         pc_base::load_sys_class('classname') 实例化系统类

         pc_base::load_app_class('classname’,’admin') 实例化模块类

         pc_base::load_sys_func (‘funcfile’) 调用系统函数库
         
         pc_base::load_sys_func('global','test'); //加载模块函数库(调用test模块的global函数包)


    实例化一个应用
    文件路径:根目录/index.php

    这段代码首先加载了 phpcms 框架的引导文件 base.php,然后调用其静态方法creat_app()根据指定的配置文件建立了一个 Web 应用实例并运行。


    数据库配置文件database.php的调用
    文件路径:根目录/caches/configs/database.php

    这段代码首先使用 pc_base::load_app_func()加载了index模块自定义的函数库global.func.php,这样就可以随心所欲地调用global.func.php自定义的函数了。使用pc_base::load_config()静态方法加载了phpcms的数据库配置文件database.php,获取数据库的配置信息,这样可以摆脱PHPCMS框架的局限性,使用原生态的PHP mysql去进行二次开发。

    实例化模块类

    这段代码使用pc_base::load_app_class()方法实例化admin模块的admin.class类。

    由此我们知道,不管我们是调用PHPCMS框架里面的系统类或函数库还是调用自定义的模块类或函数库等,我们都可以在base.php里找到需要的调用方法,所以PHPCMS二次开发,弄清base.php里面的静态方法至关重要。

  • 相关阅读:
    挂载在snap的/dev/loop占用100%问题
    机器学习3- 一元线性回归+Python实现
    机器学习-2 模拟评估与选择
    机器学习-1 绪论
    Java面试系列第4篇-HashMap相关面试题
    Java面试系列第3篇-类的加载及Java对象的创建
    Java面试系列第2篇-Object类中的方法
    Java面试系列第1篇-基本类型与引用类型
    第3篇-如何编写一个面试时能拿的出手的开源项目?
    第2篇-如何编写一个面试时能拿的出手的开源项目?
  • 原文地址:https://www.cnblogs.com/sunny-blog/p/3214785.html
Copyright © 2020-2023  润新知