文档章节

PHPer 进击学习之路:各种实用的 PHP 开源库推荐(二)

编辑部的故事
 编辑部的故事
发布于 2017/04/27 16:40
字数 873
阅读 2854
收藏 225

做 PHP 开发,选择合适的 PHP 库非常重要,优秀的 PHP 库可以为你节省很多代码和编码时间。本文在是在上一篇文章 PHPer 进击学习之路:各种实用的 PHP 开源库推荐(一)基础上做的补充,希望对你的学习工作有帮助。

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服务、支付网关、装载和云服务技术。

eden-php-library

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 环境中,显示带语法高亮的错误提示。

php-error

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

责任编辑:开源中国 - 达尔文

如需转载,请在文中注明文章来源及作者

© 著作权归作者所有

共有 人打赏支持
编辑部的故事

编辑部的故事

粉丝 1313
博文 260
码字总数 485083
作品 0
深圳
运营/编辑
私信 提问
加载中

评论(20)

司仪
司仪

引用来自“ikasa007”的评论

引用来自“司仪”的评论

引用来自“ikasa007”的评论

我只想说,类库是用不完的,面试的只问你负载均衡、大数据、集群

@ikasa007 你是灌水进来的么
我能说这是BUG嘛?我记得那天我评论成功后,尽然跳到一个输出界面,输出格式为JSON,然后刷新了几次那个页面,就是你的灌水了!!

@ikasa007 可以的 既然找到命门了 有用武之地(玩笑话)
ikasa007
ikasa007

引用来自“司仪”的评论

引用来自“ikasa007”的评论

我只想说,类库是用不完的,面试的只问你负载均衡、大数据、集群

@ikasa007 你是灌水进来的么
我能说这是BUG嘛?我记得那天我评论成功后,尽然跳到一个输出界面,输出格式为JSON,然后刷新了几次那个页面,就是你的灌水了!!
司仪
司仪

引用来自“ikasa007”的评论

我只想说,类库是用不完的,面试的只问你负载均衡、大数据、集群

@ikasa007 你是灌水进来的么
高久峰
高久峰
php越来越像java
Da道之简
Da道之简
不是纯面向对象的封装都是耍流氓
zibbs
zibbs
最牛的是phpmyadmin,其他都可以代替
fatrbaby
fatrbaby
php社区是构建在Symfony Components之上的。另外我觉得pChart这种库的价值不是很大,因为谁那么蛋疼用php生成图表啊?
ikasa007
ikasa007
我只想说,类库是用不完的,面试的只问你负载均衡、大数据、集群
ikasa007
ikasa007
我只想说,类库是用不完的,面试的只问你负载均衡、大数据、集群
ikasa007
ikasa007
我只想说,类库是用不完的,面试的只问你负载均衡、大数据、集群
后端技术栈

Nginx 工作原理和优化、漏洞(下) Nginx 工作原理和优化、漏洞(下) Mysql查询性能优化的心得 前言:之前实习时候做过一阵子的查询优化,那段时间结合阅读《高性能mysql》,有些心得体会,...

掘金官方
2017/12/06
0
0
为什么 PHPer 应当学习 Golang

熟悉我的朋友应当知道,近些年的大部分时间我的工作都会多少和 PHP 相关。随着 PHP 有着越来越深入的了解,以及遇到越来越多的不同业务时,使用 PHP 总会让我有一种莫名的无力感。当然,并不...

龙鸟
2012/11/28
0
4
小分享 w3school的php手册 chm版

最近在OSC看到各种黑PHP,我也吓着了。 滔哥不是计算机专业出身,也不是专业的PHPer,只是多用了几年而已,我个人在看到大家问冒泡、二叉树之类算法时直冒冷汗,因为我真的不会。。 但我相信,...

用户已屏蔽
2013/05/08
1K
5
推荐丨想当高薪码农,请收好这份职场通关宝典!

技术人要不停学习,防止不进则退。想成为技术大神,需要每天掌握一点知识,但碎片化的信息那么多,如何选择呢?今天推荐几个码农晋级必备技术号。 51CTO技术栈 ID:blog51cto ▲长按图片识别...

dzjx2eotaa24adr
2017/11/24
0
0
想当高薪码农,请收好这份职场通关宝典!

“ 技术人要不停学习,防止不进则退。想成为技术大神,需要每天掌握一点知识,但碎片化的信息那么多,如何选择呢?今天推荐几个码农晋级必备技术号。 51CTO技术栈 ID:blog51cto ▲长按图片识...

px01ih8
2017/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用Maven打包Docker镜像-Jenkins版

前提:Jenkins服务器上安装好Docker,创建Jenkins任务,配置好代码来源,和Build配置: pom.xml中添加docker-maven-plugin: <plugin> <groupId>com.spotify</groupId> <artifactI......

莫在全
23分钟前
0
0
rabbitmq

灰暗
今天
1
0
Flink

flink HA部署 flink搭建,采用分布式部署方式,分别为A,B,C三个节点。其中A为master;A,B,C为worker。 本文使用的用户是hadoop用户(自己新建) 先决条件 Java 1.8.x or higher scala 自己使用...

-九天-
今天
2
0
数据中台和传统数仓的区别

中台系统把业务层同性的算法能力,服务能力,业务能力高度集成,有效组织 ,动态规划。更好的帮助上层业务。 今天就让我们看看关于数据中台的问答吧。 1 Q : 什么是数据中台? A : 数据中台是...

hblt-j
今天
5
0
Java在什么时候会出现内存泄漏

在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;其次,这些对象是无用的,即程序以后不会再使用这些对...

群星纪元
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部