各种有用的PHP开源库精心收集
转自:http://my.oschina.net/caroltc/blog/324024
摘要 各种有用的PHP开源库精心收集,包含图片处理,pdf生成,网络协议,网络请求,全文索引,高性能搜索,爬虫等等,项目肯定用得上的
目录[-]
1.html2ps and html2pdf 下载地址: http://www.tufat.com/script19.htm
html2ps能够把带有图片,复杂表格(包含rowspan/colspan) ,layer/div和css样式的HTML转换成Postscript与PDF。html2ps对CSS2.1支持非常好,并且很好地兼容不正确的HMTL。
2.Sphider 下载地址: http://www.sphider.eu/download.php
Sphider是一个轻量级,采用PHP开发的web spider和搜索引擎,使用mysql来存储数据。可以利用它来为自己的网站添加搜索功能。Sphider非常小,易于安装和修改,已经有数千网站在使用它。
3.Sphinx 下载地址: http://sphinxsearch.com/
Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。
4.PHPLiveX 下载地址: http://www.phplivex.com/
PHPLiveX是一个PHP类库可用于在web页面中使用Ajax调用PHP函数。它非常易于使用,在调用一个PHP函数不需要附加额外的功能,包含一个灵活地预加载属性,兼容IE, Opera, Mozilla, Firefox等浏览器。
5.txtSql 下载地址:http://sourceforge.net/projects/txtsql/
TXTSQL是一种文本数据库,文件存储方式类似mysql,兼容部分sql语句.PHP需4.0以上版本才能运行。还提供一个txtSQLAdmin工具来管理数据库。
6.Hessian 下载地址:http://www.cnblogs.com/wubaiqing/archive/2012/05/09/2491893.html
Hessian是由caucho提供的一种开源的远程通讯协议。
采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用另开放防火墙端口。
协议的规范是公开的,可以用于任意语言。
采用客户机/服务器模式。
请求程序就是一个客户机,而服务提供程序就是一个服务器。
客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。
在服务器端,进程保持睡眠状态直到调用信息的到达为止。
当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,
获得进程结果,然后调用执行继续进行。
7.swoole 下载地址:http://www.swoole.com/ 【这个库相当强大,已经在项目中使用了】
Swoole:重新定义PHP
PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
8.Requests 下载地址:http://requests.ryanmccue.info/
Requests提供了一致的API,并且使用cURL或fsockopen(具体取决于可用性),它还简化了发送请求,接受HEAD、GET、POST、PUT、DELETE或PATCH并且添加标头、表单数据和多个部分组成的文件。
9.pthreads 下载地址: http://php.net/manual/zh/book.pthreads.php#book.pthreads
pthreads 是一组允许用户在 PHP 中使用多线程技术的面向对象的 API。 它提供了创建多线程应用所需的全套工具,无论是 Web 应用还是控制台应用。 通过使用 Thread, Worker 以及 Threaded 对象,PHP 应用可以创建、读取、写入以及执行多线程应用,并可以在多个线程之间进行同步控制。
10.bcompiler 下载地址:http://php.net/manual/zh/book.bcompiler.php
这个拓展主要用来编译和加密PHP文件,官方说目前还是实验版,持续关注中。
在仅使用未压缩过的字节码时,bcompiler 能够提高约 30% 的性能。 但是请留意未压缩过的字节码可能比源码大5倍 使用字节码压缩可以节省您的磁盘空间,但解压需要比解析源码花费更多时间。 同时 bcompiler 没有对字节码做任何优化,这功能会在将来添加……
在代码保护方面,有把握地讲,不可能重新创建确切的原始代码,并且没有附加的源码注释。 它将有效得阻止了重建和修改一个类。但是它可以从 bcompile 过的字节码中取出数据 ——所以不要把你私人密码或者其他任何类似东西放在里面。
11.SCWS 下载地址: http://www.xunsearch.com/scws/ 【这个在很多开源和商业项目中都有使用】
SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。
这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。
SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。
12.PHPCrawl 下载地址:http://phpcrawl.cuab.de/
这个是PHP的爬虫框架,看起来很可口,使用起来也很简单(不要被英文吓到)。如果有少量的爬虫任务,不如让它试试身手,有时间我写个中文版的使用指南。
13.ffmpeg-php 下载地址:http://sourceforge.net/projects/ffmpeg-php/
ffmpeg-php提供一组易于使用,面向对象的API来访问和读取视频和音频文件中的信息。它包含能够从电影文件中获取画面来作为图片的方法。这个功能非常适合于从电影文件自动创建缩略图。ffmpeg-php对于读取音频文件(mp3,wma...)的播放时间和速度等信息也非常好用的。ffmpeg-php支持很多种视频格式包括:mov,avi,mpg,wmv等等。
14.yar 下载地址:https://github.com/laruence/yar
Yar (yet another RPC framework) 是一个PHP扩展的RPC框架, 和现有的RPC框架(xml-rpc, soap)不同, 这是一个轻量级的框架, 支持多种打包协议(msgpack, json, php), 并且最重要的一个特点是, 它是可并行化的。
15.phpFastCache 下载地址:http://www.phpfastcache.com/
phpFastCache 是一个开源的 PHP 缓存库,只提供一个简单的 PHP 文件,可方便集成到已有项目,支持多种缓存方法,包括:apc, memcache, memcached, wincache, files, pdo and mpdo。可通过简单的 API 来定义缓存的有效时间。
16.Slim 下载地址:http://www.slimframework.com/
Slim是一个PHP微框架,帮助您快速编写简单但功能强大的web应用程序和api。可以用来开发APP的webservice,而不需要用那些太过于臃肿的框架。
17.Guzzle 下载地址: http://docs.guzzlephp.org/en/latest/index.html
Guzzle 是个 PHP 框架,解决了发送大量 HTTP 请求和创建 web 服务客户端的问题。它包括了创建坚实服务客户端的工具,包括:服务描述来定义 API 的输入和输出,通过分页资源实现资源迭代,尽可能高效的批量发送大量的请求。
18.ZeroMQ 下载地址: http://zeromq.org/bindings:php
ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。当然,ZMQ的功能强大不止这么简单,如果你在考虑用PHP做消息队列,不妨试试看。
持续更新...
各种有用的PHP开源库精心收集的更多相关文章
- [转]各种有用的PHP开源库精心收集
FROM : http://my.oschina.net/caroltc/blog/324024 1.html2ps and html2pdf 下载地址: http://www.tufat.co ...
- 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http: ...
- 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善
链接地址:http://www.tuicool.com/articles/jyA3MrU 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http://blog.cs ...
- Android之史上最全最简单最有用的第三方开源库收集整理
Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...
- Java程序员应该知道的20个有用的lib开源库
一般一个经验丰富的开发者,一般都喜欢使用开源的第三方api库来进行开发,毕竟这样能够提高开发效率,并且能够简单快速的集成到项目中去,而不用花更多的时间去在重复造一些无用的轮子,多了解一些第三方库可以提 ...
- Android 第三方开源库收集整理(转)
原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样, ...
- 45.Android 第三方开源库收集整理(转)
原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样, ...
- Android非常有用的开源库介绍整理
Android开源库 自己一直很喜欢Android开发,就如博客副标题一样,我想做个好的App. 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者,而且我会 ...
- 快快快!27个提升效率的iOS开源库推荐
文章来源:http://www.csdn.net/article/2015-07-21/2825264-27-ios-open-source-libraries/1 我热爱开源,更喜爱那些花费宝贵的业 ...
随机推荐
- 判断 0 和 '' 以及 empty null false的关系
if('safdasefasefasf'==0) { echo "该字符串转换为数字 等于 0 <br/>"; } //output:该字符串转换为数字 等于零. 这是 ...
- mysql错误用法insert into where
mysql中给表中插入数据,一般使用insert into. 但是在插入数据时,有时会根据条件来插入数据,比如insert into t_person(num,name) values(1,'lily ...
- ServiceLocator 简单示例(转)
Service Locator Pattern in C#: A Simple Example(转) Service Locator Pattern in C# with Lazy Initializ ...
- 并查集(HDOJ 1856)
并查集 英文:Disjoint Set,即“不相交集合” 将编号分别为1…N的N个对象划分为不相交集合, 在每个集合中,选择其中某个元素代表所在集合. 常见两种操作: n 合并两个集合 ...
- {Links}{Matting}{Saliency Detection}{Superpixel}Source links
自然图像抠图/视频抠像技术发展情况梳理(image matting, alpha matting, video matting)--计算机视觉专题1 http://blog.csdn.net/ansh ...
- gcc相关
linux操作系统上面开发程序, 光有了gcc 是不行的 它还需要一个 build-essential软件包作用是提供编译程序必须软件包的列表信息 也就是说 编译程序有了这个软件包它才知道 头文件 ...
- shellcode流程
shellcode就是汇编的opcode,一般以子函数形式出现: 取得shellcode的方便方式是: 1.写一个函数如: void __stdcall code(LONG &a, LONG ...
- ubuntu 挂载windows共享目录的方法
建立windows共享目录 右击要共享的文件夹-->属性-->高级共享-->添加用户-->添加完全控制权限 假设建立的共享地址为\\192.168.1.100\Linux 获取 ...
- jquery 删除数组元素
expertsId.splice($.inArray(thisID.split('&')[0],expertsId),1); 1. expertsId数组名2. thisID.split('& ...
- winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中
; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["CheckBoxCulums ...