做 PHP 开发,选择合适的 PHP 库非常重要,优秀的 PHP 库可以为你节省很多代码和编码时间。本文在是在上一篇文章《PHPer 进击学习之路:各种实用的 PHP 开源库推荐(1)》基础上做的补充,希望对你的学习工作有帮助。
11、PHP 邮件发送包 PHPMailer
PHPMailer是一个用于发送电子邮件的PHP函数包。它提供的功能包括:
-
在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址
-
支持多种邮件编码包括:8bit,base64,binary和quoted-printable
-
支持SMTP验证
-
支持冗余SMTP服务器
-
支持带附件的邮件和Html格式的邮件
-
自定义邮件头
-
支持在邮件中嵌入图片
-
调试灵活
-
经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等
-
可运行在任何平台之上
12、PHP 图表制作 pChart
pChart是一个基于GD library(图形处理函数库)开发的PHP图表制作开源项目。支持多种图表类型包括:
-
Line chart
-
Cubic curve chart
-
Plot chart
-
Bar chart
-
Filled line chart
-
Filled cubic curve chart
-
Pie chart
-
Radars chart
-
Limits chart
13、PHP 快速开发类库 Eden
Eden是一个开源且免费的PHP快速开发类库。它包含很多组件用来自动加载、事件驱动、文档系统、缓存、模板、国际化、数据库、web服务、支付网关、装载和云服务技术。
14、PHP 生成 PDF 的类 FPDF
FPDF这个PHP Class允许你采用纯PHP(更确切地说就是不需要使用PDFlib)来生成PDF文件。
它所具有的特点包括:
-
可选择的unit大小,页面格式和页边 距;
-
页眉和页脚管理;
-
自动分页;
-
自动换行与文本自动对齐;
-
支持JPEG与PNG图片格式;
-
支持着色和文件超链接;
-
支持TrueType,Type1与 encoding;
-
支持页面压缩。
示例代码:
//Determine a temporary file name in the current directory
$file = basename(tempnam('.', 'tmp'));
rename($file, $file.'.pdf');
$file .= '.pdf';
//Save PDF to file
$pdf->Output($file, 'F');
//Redirect
header('Location: '.$file);
15、PHP Error
PHP Error 是一个开源的 PHP 库,用于转换标准的 PHP 错误信息,主要用于开发过程中的调试。PHP Error 紧密集成到 PHP 环境中,显示带语法高亮的错误提示。
16、PHP 单元测试框架 SimpleTest
SimpleTest 是一个为PHP程序提供的单元测试的框架,包含一个内嵌的web浏览器用来测试PHP的Web网站。
示例代码:
<?php
require_once('simpletest/unit_tester.php');
require_once('simpletest/reporter.php');
require_once('../classes/log.php');
class TestOfLogging extends UnitTestCase {
function testCreatingNewFile() {
@unlink('/temp/test.log');
$log = new Log('/temp/test.log');
$this->assertFalse(file_exists('/temp/test.log'));
$log->message('Should write this to a file');
$this->assertTrue(file_exists('/temp/test.log'));
}
}
$test = &new TestOfLogging();
$test->run(new HtmlReporter());
?>
17、PHP 的 WebSockets 开发包 PHP Ratchet
Ratchet 是一个松耦合的 PHP 库,提供了用于创建实时、双向客户端服务器 WebSockets 应用的支持。
示例代码:
<?php
namespace MyApp;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
class Chat implements MessageComponentInterface {
public function onOpen(ConnectionInterface $conn) {
}
public function onMessage(ConnectionInterface $from, $msg) {
}
public function onClose(ConnectionInterface $conn) {
}
public function onError(ConnectionInterface $conn, \Exception $e) {
}
}
18、模块化 PHP 库集合 Hoa
Hoa 是模块化,可扩展和结构化的 PHP 库集合。Hoa 的目标是搭建工业和研究之间的桥梁。
可以通过组合和扩展来 Hoa 创建自己的应用和库。