php modules是什么,Modules系统简介

Modules系统简介

modules是项目的数据处理中心, module根据跟功能不同保存在modules下的不同目录

├─modules modules文件夹

│ ├─admin

│ ├─space

│ ├─user

│ ├─blog

│ ├─article

│ └─common

Module的命名空间及自动加载

Module是cp的一个模块, 他遵循模块命名空间的命名规则, 存放在modules/admin下的类文件的命名空间是:

namespace modules\admin;

同理modules/blog下的类的命名空间就是

namespace modules\blog;

只要在使用的类文件头部使用正确的命名空间就可以完成自动加载过程

为什么是Module

cp中MVC模式的M层指的是Module, 不是传统的Model, 传统的的Model在cp的Module中只是类的一个成员变量. 在实际开发中可能需要多个Model相互配合来完成某项工作, 一个实际项目中的Module可能是这样的:

namespace modules\web;

use Cross\MVC\Module;

use Redis;

class TestModule extends Module

{

/**

* @var Redis

*/

protected $cache;

/**

* @var Redis

*/

protected $queue;

function __construct()

{

parent::__construct();

$this->cache = $this->getModel('redis:cache');

$this->queue = $this->getModel('redis:queue');

}

}

在这个Module的构造函数中, 我们连接了redis数据库并赋值给了成员变量cache和queue, 他们都是redis这个model的实例, 因为是从Cross\MVC\Module继承, 所以还包含一个父类的成员变量link, link是默认的mysql连接对象, link的连接参数是由数据库配置文件中的mysql:db指定的, 所以这个Module实际上是包含了两个Model, cp中的M层, 并不是Model, 他更像是管理数据的一个模块(Module).

支持的数据库

PDO驱动的MySQL, PgSQL, SQLite

Redis,

Memcache,

CouchBase,

MongoDB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值