博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Yaf学习(三)----Yaf类库Library和Model的命名规则
阅读量:7049 次
发布时间:2019-06-28

本文共 1166 字,大约阅读时间需要 3 分钟。

1.Yaf的library和model的文件命名规则和调用

  1.1在项目中,往往需要封装一些,如redis,不同的产品需要用不同的库等等等,这就涉及到封装

    1.在 Yaf 中,我们可以写一个单例模式的 redis 来提供一个入口,进行各个库(0-15)之间的实例的创建,然后在 Model 下面建立一个 BaseModel 来对接单例 Redis  的实例接口,然后各个模块的 Model 类在继承这个 BaseModel 即可实现.

    2.那么,我们一般的习惯是根据 命名空间\文件路径 来实例化类或者引入,比如:

    

1 $object = new Path\showPath();

    这就代表着实例化了 Path 下的 showPath 类文件,但是在 Yaf 中并不是这样,如果这样书写,Yaf 报错,提示文件在XXX路径下找不到

    3.这是因为 Yaf 的ap.library的设置路径(默认就是在application/library目录),如果没有设置(具体设置看手册),比如 我们想写一个 Db 下面的 Redis类文件, 需要这么做

      3.1 首先,我们在 library 下面新建文件夹 Db 然后 创建 Redis.php 文件,

      3.2 重点来了 Redis.php 文件中的类名称 必须是 Db_Redis 也就是说 必须是 路径_文件名 的格式,

 

      然后 实例化的时候直接

1 $object = new Db_Redis();

      如果是静态

1 $object = Db_Redis::getInstance();

      3.3 这样 Yaf 会自动在library(如果配置了ap.library会在配置的目录下)寻找这个类文件!

  2.1 Model下的类文件的调用方法

    1.如 想在 Model 下面建立 Chat.php ,文件中类名必须是 ChatModel ,

1 class ChatModel extends BaseModel2 {3    public function __construct(){4        //TODO : something5    }6     7 }

    2.要是想建立实例化 需要直接使用该文件的 类名称 如:ChatModel 即可

1 $object = new ChatModel();

    3.静态同Library一致

总结:Yaf在追求极致效率,架构极简的同时,需要我们一点一点针对项目去完善,极简的设计带来明朗清晰的开发思路

 

转载于:https://www.cnblogs.com/leedom/p/9396138.html

你可能感兴趣的文章
JS中的数学计算<之简单实例讲解>
查看>>
Android开发之ExpandableListView扩展(BaseExpandableListAdapter的使用)(完整版)
查看>>
深入理解JS的delete
查看>>
BZOJ2085 : [Poi2010]Hamsters
查看>>
proc文件系统、sysfs文件系统、kobject操作
查看>>
发送验证码
查看>>
多线程开发之三 GCD
查看>>
在scrollView中使用pageControl
查看>>
MongoDB Linux环境安装及配置[转]
查看>>
错误 1 未知的服务器标记“asp:ScriptManager”。
查看>>
Spark里边:Worker源代码分析和架构
查看>>
WebForm和MVC中都可以使用的路由
查看>>
解决 - java.lang.OutOfMemoryError: unable to create new native thread
查看>>
(算法)二分查找的搜索区间
查看>>
linux Cron 执行Django 任务计划
查看>>
hdu 5465 Clarke and puzzle(前缀和,异或,nim博弈)
查看>>
Android采用Volley具体的例子展示完整的异步加载数据(一)
查看>>
ZetCode PyQt4 tutorial widgets II
查看>>
Objective-C辛格尔顿
查看>>
asp.net(C#)页面事件顺序
查看>>