各种实用的 PHP 开源库推荐(2)

1,675 阅读2分钟
原文链接: mp.weixin.qq.com

做 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 创建自己的应用和库。