zoukankan      html  css  js  c++  java
  • phpcms v9二次开发笔记

    phpcms是基于MVC结构的。

    安装:
    下载phpcms_v9.5.9_UTF8.zip;新建目录phpcms,将压缩包里install_package目录下所有文件复制到phpcms目录。浏览器输入类似于http://localhost/phpcms便可以进入安装过程了。接下来安照步骤走下去即可。

    一、目录结构

    根目录
    | – api 接口文件目录
    | – caches 缓存文件目录
    | – configs 系统配置文件目录
    | – caches_* 系统缓存目录
    | – phpcms phpcms框架主目录
    | – languages 框架语言包目录
    | – libs 框架主类库、主函数库目录
    | – model 框架数据库模型目录(每个目录都是一个模块,包含控制器)
    | – modules 框架模块目录
    | – templates 框架系统模板目录(视图,默认在default目录)
    | – phpsso_server phpsso主目录
    | – statics 系统附件包
    | – css 系统css包
    | – images 系统图片包
    | – js 系统js包
    | – uploadfile 网站附件目录
    | – admin.php 后台管理入口
    | – index.php 程序主入口
    | – crossdomain.xml FLASH跨域传输文件
    | – robots.txt 搜索引擎蜘蛛限制配置文件
    | – favicon.ico 系统icon图标

    二、路由

    单入口,模块访问方法[示例]:
    http://yourdomain.com/index.php?m=content&c=index&a=show&id=1

    m = content 为模型/模块名称 位于phpcms/modules/content
    c = index 为控制器名称 位于phpcms/modules/content/index.php
    a = show 为时间名称 位于phpcms/modules/content/index.php 中show()方法
    id = 1 为其他参数 与正常get传递参数形式相同

    路由配置:
    phpcms/caches/configs/route.php
    默认是

    return array(
    	'default'=>array('m'=>'content', 'c'=>'index', 'a'=>'init'),
    );
    

    即定义了m,c,a以及默认会访问content模块的index控制器的init方法

    三、模块

    phpcms v9框架中的模块,位于phpcms/modules目录中 每一个目录称之为一个模块。即url访问中的m。

    如果要创建一个模块,只要在 phpcms/modules 目录下创建文件夹并放入你的控制器类就可以了。

    例如我要开发一个叫做test的模块,那么首先在 phpcms/modules 目录下创建文件夹,并将其命名为test。

    test模块的标准结构通常是这样的。

    classes 为模块类库包
    functions 为模块函数库包
    templates 为模块模板包。这里通常放置含有权限控制的控制器模板,也就是后台模板。

    如果您的模板有单独的前台模板,你需要在phpcms emplatesdefault下创建一个您的模块目录来放置前台模板,"default"为你的风格包名称,我们默认适用default

    四、控制器

    位于phpcms/modules/模块/目录下面。
    类名就是文件名.php,例如一个名为mytest的控制器,那么他的命名为mytest.php即可。
    控制器类的类名称与控制器文件名必须相同。
    控制器类默认继承系统的函数库,可以直接使用。

    phpcms还有模块体系,即控制器属于模块。

    五、模型

    数据库模型位于:phpcms/model/ 目录下。
    数据模型文件的命名规则建议为数据表名称+'_model.class.php'
    如果在我们的创建的模块中我要使用一个数据库“test”,首先需要建立一个数据库模型文件,文件名称为'test_model.class.php'

    内容如下:

    <?php
       defined('IN_PHPCMS') or exit('No permission resources.');
       pc_base::load_sys_class('model', '', 0);
       class test_model extends model {
         public function __construct() {
         $this->db_config = pc_base::load_config('database');
         $this->db_setting = 'default';
         $this->table_name = 'test';
         parent::__construct();
       }
      }
     ?>
    

    注意:

    1.数据库模型类名称必须与文件名称相同;
    2.$this->db_setting = 'default'为数据库配置文件中配置数据库链接池名称,默认为default,一般情况下不需要修改。
    3.$this->table_name = 'test'为数据表名称

    这样我们就建立好了一个数据库模型类。
    在模块的控制器中使用

    $this->db = pc_base::load_model('test_model');
    

    来加载。

    六、视图

    视图位于phpcms emplatesdefault下。其中default表示默认主题目录。default下的视图文件夹与模块文件夹一一对应。

    七、配置

    配置文件位置:caches/configs/,其中:

    database.php数据库
    route.php路由
    system.php系统配置

    八、系统类库及函数调用

    1、系统类库位于系统的phpcms/libs/classes目录下面,函数库文件名为*.class.php,其中global.func.php为框架中默认加载,global.func.php中函数可直接使用
    2、系统函数库位于系统的phpcms/libs/functions目录下面,函数库文件名为*.func.php

    使用pc_base::load_sys_class()加载类
    使用pc_base::load_sys_func()加载函数
    使用pc_base::load_model()加载数据模型
    使用pc_base::load_config()加载配置文件

    我们可以在类的前面加载需要的类库。例如:

    pc_base::load_sys_class('model', '', 0);
    class test_model extends model {}
    

    九、数据库操作

    参照phpcms/libs/classes/model.class.php中方法

    参考
    Phpcms官网:http://www.phpcms.cn/
    PHPCMS V9帮助中心:http://v9.help.phpcms.cn/html/dev/

  • 相关阅读:
    如何选择合适的MySQL存储引擎
    如何提高Windows操作系统内存利用效率
    jQuery插件 面包屑导航
    [Fireworks+Dreamweaver制作网站]第7课上
    一次完整的安全渗透测试
    jquery插件 跟随屏幕滚动的层
    [Fireworks+Dreamweaver制作网站]第1课
    [Fireworks+Dreamweaver制作网站]第2课
    随笔 幸福
    jQuery插件 jqueryflexselect下拉框自动提示
  • 原文地址:https://www.cnblogs.com/52fhy/p/4930266.html
Copyright © 2011-2022 走看看