yaf-lib 基于 yaf 的应用开发框架, 简单的mvc中间层继承补充, 常用缓存、数据库等驱动类, 添加widget组件模块,及layout插件, rpc服务化,支持hprose、yar等, 支持xhprof性能调试。
php 5.3+
php-yaf 2.3.3
phpredis 2.2.7
memcache 2.2.7
zmq 1.1.2
xapian-bindings 1.2.21
scws 1.2.2
swoole 1.7.17
hprose-php 1.5.4
php-yar 1.2.4
xhprof 0.9.4
http://localhost/madclient Madclient是php实现的MadzMQ消息队列的客户端,通过msg协议与madbroker通信,异步发送消息。
bootstrap是yaf的引导程序,这里进行拆分,如果工作的web进入cgi模式,如果工作在命令行进入cli模式。
Controller类继承Yaf_Controller_Abstract,控制器可以选择性的继承这个类,在类中实现了,layout、widget等初始化。
Sontroller类继承Yaf_Controller_Abstract,工作在cli模式下。
Model类是数据层的抽象类,所有数据对象都可以继承它,Model可以从不同的data_center分发数据。
Widget类是组件的基类,widgets目录下的组件类都继承它,widgets/views目录是相应组件的view。 views中通过$widget方法调用组件
$widget('IndexWidget', array('class_key'=>'item_condition', 'output'=>'html', 'query'=>array(), 'assist_data'=>array( 'one'=>'one' ) ) );
Zmq_Msg是基于ZeroMQ的一种简单msg消息协议的php实现
Zmq_Kvmsg是基于ZeroMQ的一种简单key-value消息协议的php实现
Core_Processpool类封装了一个进程池。
System_Mongo类封装了mongodb的客户端接口。
conn 用于连接mongo
selectDB 选择数据库
selectCollection 选择文档
findOne 获取一条数据
find 获取数据列表
select 选择数据可以排序或区间
insert 添加数据
update 更新数据
close()关闭连接
System_Socket类对网络socket进行封装
System_Memcache类封装了Memcached的客户端接口
::set 设置缓存
::get 获取缓存
::delete 删除缓存
::flush 清空
::increment 原子计数加
::decrement 原子计数减
System_Redis类封装redis客户端驱动
System_Mysqlpdo类封装了pdo_mysql的操作接口
::bind
::bindmore
::query
::lastInsertId
::column
::row
::single
System_Log类封装了日志处理类
System_Sort类封装了一些经典得排序算法
::insertion 插入排序
::selection 选择排序
::bubble 冒泡排序
::merge 归并排序
Search_Segment类 中文分词
init 分词器初始化
close 关闭
query 获取原数据列表
queryOne 获取单个原数据
cutQuery 切分原数据
cutString 切分字符串
Search_Index类 用于添加索引
setIdPrefix
add 建立索引数据
alert 更新索引数据
delete 删除索引数据
Search_Match类用于匹配搜索结果
call 执行匹配
Search_Database类 用于查询索引数据库中的原数据
get_doccount 获取文档总数
get_data 获取单个文档原数据
get_termlist 获取单个文档语词
select 获取数据列表
Search_Config类 可以根据配置处理搜索结果
getApp 获取app
getAppName 获取app名称
getTableName 获取标名称
formatTitle 格式化标题
formatDetail 格式化详情
formatUrl 格式化地址栏
formatImage 格式化图片
服务端程序,根据入口文件名称找到MainController,然后执行mainAction方法; yaf的CLI模式的入口文件,在CLI模式下可以开发强大的服务端程序
./bin/main
madserver是php实现的MadzMQ消息队列的服务端,其作为订阅者订阅来自madbroker的,协议为kvmsg.
./bin/madserver
rpc服务,tcp协议,支持方法、对象方法、异步等调用 对象方法调用:
//服务端代码$server->add(new TestModel(),'','test');//客户端调用$client->test->one();
xapian-bindings 1.2.21
xhprof-0.9.4
hprose-php 1.5.4
==Yaf开发指南== ===说明=== ;本文档仅作为[http://yaf.laruence.com/manual/ http://yaf.laruence.com/manual/]的补充,也会指出一些在使用中容易忽略的地方,以及一些使用技巧 ===入口文件=== <?php define('IN_DEBUG',true); IN_DEBUG ? error_reporting(E_A
1.优缺点 优点: 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销. 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存. 更短的内存周转周期, 提高内存利用率, 降低内存占用率. 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享. 高性能的视图引擎. 高度灵活可扩展的框架, 支持自定义视图引擎, 支持插件, 支持自定义路由等等.
wget http://pecl.php.net/get/yaf-3.0.6. --2018-03-08 15:39:57-- http://pecl.php.net/get/yaf-3.0.6.tgz Resolving pecl.php.net... 104.236.228.160 Connecting to pecl.php.net|104.236.228.160|:80... conne
经验的误区 fdk-aac项目中并没有直接提供vs下的编译工程,也没有CmakeList 脚本。所以我凭经验判断,源码是需要在mingw环境下编译。正是这种直观,简单的判断,直接在编译上挖了个坑。 我用mingw很顺利编译出了libfdk-aac.a库,结果在链接到执行程序时出错了,错误如下: (fft.o) : fatal error LNK1143: 无效或损坏的文件: 没有 COMDAT 0
1.Yaf的library和model的文件命名规则和调用 1.1在项目中,往往需要封装一些,如redis,不同的产品需要用不同的库等等等,这就涉及到封装 1.在 Yaf 中,我们可以写一个单例模式的 redis 来提供一个入口,进行各个库(0-15)之间的实例的创建,然后在 Model 下面建立一个 BaseModel 来对接单例 Redis 的实例接口,然后各个模块的 Model
yaf支持namespace。在php.ini 中添加 yaf.namespace=1 就可以启动namespace 但是如果开了namespace就不能再使用非namespace的写法了。 <?php define('ROOT_PATH', realpath(dirname(dirname(__FILE__)))); define('APPLICATION_PATH', ROOT_P
修改\application\Bootstrap.php文件的路由方法 public function _initRoute(Yaf_Dispatcher $dispatcher) { //在这里注册自己的路由协议,默认使用简单路由 //通过派遣器得到默认的路由器 $router = Yaf_Dispatcher::getInstance()->getRouter(); //i
一个应用程序开发框架。作者实现了很多控件效果,方便其他开发者各取所需。所实现的效果包括:打分星星、响应点击动作、旋转按钮效果、根据文字多少改变大小的UILabel等等效果。 [Code4App.com]
移动应用开发框架选型 2016 移动开发模式 移动开发主要分为原生模式(Native App)开发,混合模式(Hybrid App)开发,Web App模式。 1.1 Web APP Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。 优点: 1) 开发成本低 2) 更新快 3) 更新无需通知用户,不需要
本文向大家介绍Node.js 服务器端应用开发框架 -- Hapi.js,包括了Node.js 服务器端应用开发框架 -- Hapi.js的使用技巧和注意事项,需要的朋友参考一下 Hapi.js 是一个用来构建基于 Node.js 的应用和服务的富框架,使得开发者把重点放在便携可重用的应用逻辑而不是构建架构。内建输入验证、缓存、认证和其他 Web 应用开发常用的功能。 示例代码: 附上github
应用开发 PDF版下载 第一步:创建应用 进入管理后台-服务商-应用管理-创建应用 应用的基本信息: 信息项 要求及说明 应用Logo 应用的Logo,小于5M,640 * 640,在授权页会被用于展示。 应用名称 应用的名称,建议包含品牌名,2-8个字内 AppID 应用ID,系统分配,用于调用第三方应用相关接口 功能分类 应用提供的服务类型,如客户关系、团队协同、文化建设等。一个应用只能拥有一
1.1. 应用开发 1.2. 应用概述 1.3. 工程结构 1.4. 开发者工具 1.4.1. 安装 1.4.2. 调试 1.4.3. 测试 1.5. 教程 1.1. 应用开发 应用开发包括如下介绍: 应用概述 工程结构 开发者工具 教程 1.2. 应用概述 RokidOS 的本地技能分为两类: 轻应用(LightApp) 本地应用(NativeApp) 轻应用,直接通过语音交互的守护进程(vui
Yaf 是一个 C 语言编写的 PHP 框架,Yaf 的特点: 用 C 语言开发的 PHP 框架,相比原生的 PHP,几乎不会带来额外的性能开销。 所有的框架类,不需要编译,在 PHP 启动的时候加载,并常驻内存。 更短的内存周转周期,提高内存利用率,降低内存占用率。 灵巧的自动加载。支持全局和局部两种加载规则,方便类库共享。 高性能的视图引擎。 高度灵活可扩展的框架,支持自定义视图引擎,支持插件
"One does not live by bread alone,but by every word that comes from the mouth of God" --(MATTHEW4:4) python开发框架 不管是python,还是php,亦或别的做web项目的语言,乃至于做其它非web项目的开发,一般都要用到一个称之为什么什么框架的东西。 框架的基本概念 开发这对框架的认识,由于
想改进这个问题吗?更新问题,以便通过编辑这篇文章用事实和引用来回答。 我的公司想开发一个移动应用程序。Web应用程序、本机应用程序还是混合应用程序?他们其实不知道。在这种情况下,他们要求我对移动开发的开源框架(跨平台框架btw)进行一些研究(我不是移动开发专家)。我做到了。现在,我大致了解了实际存在的情况,并选择了其中的8个。 现在,我想要的是你的个人反馈(赞成/反对/喜欢/不喜欢/如果你留下了另