1.在 Yaf 中,咱们能够写一个单例模式的 redis 来提供一个入口,进行各个库(0-15)之间的实例的建立,而后在 Model 下面创建一个 BaseModel 来对接单例 Redis 的实例接口,而后各个模块的 Model 类在继承这个 BaseModel 便可实现.php
2.那么,咱们通常的习惯是根据 命名空间\文件路径 来实例化类或者引入,好比:redis
1 $object = new Path\showPath();
这就表明着实例化了 Path 下的 showPath 类文件,可是在 Yaf 中并非这样,若是这样书写,Yaf 报错,提示文件在XXX路径下找不到架构
3.这是由于 Yaf 的ap.library的设置路径(默认就是在application/library目录),若是没有设置(具体设置看手册),好比 咱们想写一个 Db 下面的 Redis类文件, 须要这么作app
3.1 首先,咱们在 library 下面新建文件夹 Db 而后 建立 Redis.php 文件,spa
3.2 重点来了 Redis.php 文件中的类名称 必须是 Db_Redis 也就是说 必须是 路径_文件名 的格式,设计
<?php class Db_Redis { private static $_instance = []; private $redis; private $host; private $port; private $auth; public function index(){ //TODO : do something } }
而后 实例化的时候直接 code
1 $object = new Db_Redis();
若是是静态blog
1 $object = Db_Redis::getInstance();
3.3 这样 Yaf 会自动在library(若是配置了ap.library会在配置的目录下)寻找这个类文件!继承
1.如 想在 Model 下面创建 Chat.php ,文件中类名必须是 ChatModel ,接口
1 class ChatModel extends BaseModel 2 { 3 public function __construct(){ 4 //TODO : something 5 } 6 7 }
2.要是想创建实例化 须要直接使用该文件的 类名称 如:ChatModel 便可
1 $object = new ChatModel();
3.静态同Library一致