pear php库,PEARX-不依赖 PEAR 的 PEAR 的 PHP 库
软件简介
PEARX - 一个不依赖于 PEAR 的 PEAR 库,用于 PHP 5.3 (PSR-0 兼容)
特性:
打包 XML parser.
打包 XML builder.
打包 XML installer.
比原生的 PEAR 代码更快
无需 PEAR 依赖
支持缓存
PSR-0 兼容.
安装
$ git clone git://github.com/c9s/PEARX.git
$ cd PEARX
$ onion bundle
$ sudo pear install -f package.xml
概要
Channel 操作:
use CacheKit\FileSystemCache;
$channel = new PEARX\Channel($host);
// find package from the remote pear host
$package = $channel->findPackage('PEAR');
// traverse pear channel categories
$categories = $channel->getCategories();
foreach( $categories as $category ) {
// $category->name
// $category->infoUrl
$packages = $category->getPackages();
foreach( $packages as $package ) {
$package->name;
$package->summary;
$package->desc;
$package->channel;
$package->license;
$package->deps;
$package->releases;
$package->stable; // version string
$package->alpha; // version string
$package->latest; // version string
$stability = $package->getRelease('0.0.1');
}
}
使用缓存和 CurlDownlaoder
$cache = new CacheKit\FileSystemCache(array(
'expiry' => 60 * 30, // 30 minutes
'cache_dir' => '/tmp/cache',
));
$d = new CurlDownloader;
$d->setProgressHandler( new \CurlKit\ProgressBar );
$channel = new PEARX\Channel($host, array(
'cache' => $cache,
'downloader' => $d,
));
解析 Package XML:
$parser = new PEARX\PackageXml\Parser;
$package = $parser->parse($file);
ok($package->getName());
ok($package->getChannel());
ok($package->getDate());
ok($package->getTime());
ok($package->getDateTime() );
/* ContentFile objects */
$contents = $package->getContents();
ok($contents);
foreach( $contents as $content ) {
ok($content->file);
ok($content->role);
}
$filelist = $package->getInstallFileList();
foreach( $filelist as $install ) {
ok($install->from);
ok($install->to);
}
pear php库,PEARX-不依赖 PEAR 的 PEAR 的 PHP 库相关推荐
- 文档库建立php,PEAR:使用PHPDoc轻松建立你的PEAR文档_PHP
对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...
- PEAR:使用PHPDoc轻松建立你的PEAR文档
对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...
- php教程doc,PEAR:使用PHPDoc轻松建立你的PEAR文档-PHP教程,PHP应用
对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...
- 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )
文章目录 一.加密解密算法 API 二.编译代理 Application 依赖库 三.解压代理 Application 依赖库 aar 文件 参考博客 : [Android 安全]DEX 加密 ( 常 ...
- linux c c 常用的日志库,mslog: 一款超轻量级的C日志库,无需依赖额外的库,测试或移植过的系统有Linux(ubuntu,centos),Windows以及部分嵌入式设备;...
mslog 1.综述 一款超轻量级的C日志库,无需依赖额外的库,库的设计目标为"简洁,可移植性强".测试或移植过的系统有Linux(ubuntu,centos),Windows ...
- 包含目录、库目录、附加包含目录、附加库目录、附加依赖项如何使用? 及静态库,动态库的创建与调用和vs里引用的使用
引言:vs中怎么添加外部头文件? 如过直接在项目头文件处,添加一下,如下图: 否则,依然会报错,如下图: 有两种方法,来解决(你不在vs上的添加它也没事): (1) 直接把外部头文件复制过来,放在此项 ...
- jcenter库中的依赖包无法下载
jcenter库中的依赖包无法下载 react-native打包失败 解决办法 react-native打包失败 今天突然发现react-native项目打包失败,仔细查看发现是因为jcenter库中 ...
- linux修改程序依赖lib,修改so库中的依赖名
修改so库中的依赖名 在ArchLinuxArm上有一些针对aarch64, arm, armeabi-v7a等Android常用架构的so库可以下载,有时候可以省去很多编译时间,且都是编译optim ...
- pip卸载库对应所有依赖库的解决方案
大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...
- android cpp做成so库,Android增量更新(二)—制作合成文件so库
###前言 在上节中,我们已经学习了`Android增量更新`的实现原理,那么在Android开发的移动端,我们需要涉及到的其实是`文件合成`的这个流程. 那么,今天就来讲讲增量更新合成流程的实现吧. ...
最新文章
- 网络和大数据成为重要文化生产力
- IOError: Unable to open file (File signature not found)
- Docker容器的启动过程(七)
- worker进程和task进程区别_celery 每个 worker 在执行任务时,如何配置一定数量的 task?...
- python 代理的使用
- JUC锁-LockSupport(四)
- 文献学习(part9)--基于模型分解的小样本学习
- java linux获取实时cpu_用java取得linux系统cpu、内存的实时信息(参考别人代码)...
- HTTPS的七个误解
- 红黑树 键值_Java集合框架:红黑树概念、插入及旋转操作详细解读就问你会不会...
- 【bzoj1370】[Baltic2003]Gang团伙 并查集
- 系统架构师-基础到企业应用架构-系统建模[中篇](下)
- java 快速删除文件夹_java File删除文件夹完整版
- MAC上Maven下载及安装
- fprintf() 用法
- 海底捞激励员工的方法符合哪些激励理论的建议
- 科研突破:非宁静无以致远
- 小米无线路由器服务器用户名和密码忘了,小米路由器无线密码(wifi密码)忘记了怎么办? | 192路由网...
- VUE动态展示表格字段
- Python操作Excel自动插入图片
热门文章
- 基于vue+springboot的校园疫情健康打卡和离校审批系统的设计 (百度地图API对接)
- 引用参考文献标准格式
- ESP32 ESP-IDF安装教程(windows 64位)
- 观察者模式C++实现
- 信息安全与密码学博士:应该掌握的52个知识--(4)T46-- 菲亚特-沙米尔(Fiat-Shamir)变换
- nkd 编译ffmpeg错误: clang is unable to create an executable file. C compiler test failed.
- 变量的基本使用Day2
- 【C# 教程系列第 15 篇】抽象类与接口的区别
- 【JVM学习笔记】垃圾回收基础篇
- JAVAEE真实课堂系列之Struts2框架-刘志远-专题视频课程