软件简介

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 库相关推荐

  1. 文档库建立php,PEAR:使用PHPDoc轻松建立你的PEAR文档_PHP

    对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...

  2. PEAR:使用PHPDoc轻松建立你的PEAR文档

    对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...

  3. php教程doc,PEAR:使用PHPDoc轻松建立你的PEAR文档-PHP教程,PHP应用

    对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...

  4. 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )

    文章目录 一.加密解密算法 API 二.编译代理 Application 依赖库 三.解压代理 Application 依赖库 aar 文件 参考博客 : [Android 安全]DEX 加密 ( 常 ...

  5. linux c c 常用的日志库,mslog: 一款超轻量级的C日志库,无需依赖额外的库,测试或移植过的系统有Linux(ubuntu,centos),Windows以及部分嵌入式设备;...

    mslog 1.综述 ​ 一款超轻量级的C日志库,无需依赖额外的库,库的设计目标为"简洁,可移植性强".测试或移植过的系统有Linux(ubuntu,centos),Windows ...

  6. 包含目录、库目录、附加包含目录、附加库目录、附加依赖项如何使用? 及静态库,动态库的创建与调用和vs里引用的使用

    引言:vs中怎么添加外部头文件? 如过直接在项目头文件处,添加一下,如下图: 否则,依然会报错,如下图: 有两种方法,来解决(你不在vs上的添加它也没事): (1) 直接把外部头文件复制过来,放在此项 ...

  7. jcenter库中的依赖包无法下载

    jcenter库中的依赖包无法下载 react-native打包失败 解决办法 react-native打包失败 今天突然发现react-native项目打包失败,仔细查看发现是因为jcenter库中 ...

  8. linux修改程序依赖lib,修改so库中的依赖名

    修改so库中的依赖名 在ArchLinuxArm上有一些针对aarch64, arm, armeabi-v7a等Android常用架构的so库可以下载,有时候可以省去很多编译时间,且都是编译optim ...

  9. pip卸载库对应所有依赖库的解决方案

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

  10. android cpp做成so库,Android增量更新(二)—制作合成文件so库

    ###前言 在上节中,我们已经学习了`Android增量更新`的实现原理,那么在Android开发的移动端,我们需要涉及到的其实是`文件合成`的这个流程. 那么,今天就来讲讲增量更新合成流程的实现吧. ...

最新文章

  1. 网络和大数据成为重要文化生产力
  2. IOError: Unable to open file (File signature not found)
  3. Docker容器的启动过程(七)
  4. worker进程和task进程区别_celery 每个 worker 在执行任务时,如何配置一定数量的 task?...
  5. python 代理的使用
  6. JUC锁-LockSupport(四)
  7. 文献学习(part9)--基于模型分解的小样本学习
  8. java linux获取实时cpu_用java取得linux系统cpu、内存的实时信息(参考别人代码)...
  9. HTTPS的七个误解
  10. 红黑树 键值_Java集合框架:红黑树概念、插入及旋转操作详细解读就问你会不会...
  11. 【bzoj1370】[Baltic2003]Gang团伙 并查集
  12. 系统架构师-基础到企业应用架构-系统建模[中篇](下)
  13. java 快速删除文件夹_java File删除文件夹完整版
  14. MAC上Maven下载及安装
  15. fprintf() 用法
  16. 海底捞激励员工的方法符合哪些激励理论的建议
  17. 科研突破:非宁静无以致远
  18. 小米无线路由器服务器用户名和密码忘了,小米路由器无线密码(wifi密码)忘记了怎么办? | 192路由网...
  19. VUE动态展示表格字段
  20. Python操作Excel自动插入图片

热门文章

  1. 基于vue+springboot的校园疫情健康打卡和离校审批系统的设计 (百度地图API对接)
  2. 引用参考文献标准格式
  3. ESP32 ESP-IDF安装教程(windows 64位)
  4. 观察者模式C++实现
  5. 信息安全与密码学博士:应该掌握的52个知识--(4)T46-- 菲亚特-沙米尔(Fiat-Shamir)变换
  6. nkd 编译ffmpeg错误: clang is unable to create an executable file. C compiler test failed.
  7. 变量的基本使用Day2
  8. 【C# 教程系列第 15 篇】抽象类与接口的区别
  9. 【JVM学习笔记】垃圾回收基础篇
  10. JAVAEE真实课堂系列之Struts2框架-刘志远-专题视频课程