PHP开发工具phan、Silex-PHP、Httpful、TSF介绍

以下为你介绍的PHP开发工具都可用在Linux系统上:phan(PHP 静态分析器)、Silex-PHP(PHP 微框架)、Httpful(PHP 的 HTTP 客户端)、TSF(基于协程和 Swoole 驱动的高性能 PHP 框架)。

1、phan(PHP 静态分析器)

phan 是 PHP 的静态分析器。它需要加载 PHP-AST 扩展的 PHP7。当然,你可以用于分析任何版本的PHP写的代码。不过,phan 不适合生产使用。

特性:

检查未声明的函数、方法、闭包和类的调用与实例。

检查类型的所有从函数、闭包、方法发出/返回的参数、返回值的所有类型。

支持 @param, @return, @var 和 @deprecated phpdoc 注释包括 union 和 void/null types。

Checks for Uniform Variable Syntax PHP 5 -> PHP 7 BC breaks。

未定义的变量跟踪。

支持的命名空间,特征和variadics。

泛型 (from phpdoc hints - int[], string[], UserObject[], etc.)。

基本污染数据检测。

下载地址:https://github.com/phan/phan

2、Silex-PHP(PHP 微框架)

PHP开发工具phan、Silex-PHP、Httpful、TSF介绍

Silex  是一个 PHP 微框架。它基于 Symfony 2 和 Pimple 而创建,其灵感来自于 Sinatra。微框架为构建简单单文件 App 提供了支持,Silex 旨在:

简明:Silex 提供简洁好玩的 API。

可扩展:Silex 有一个基于 Pimple 微服务容器的扩展系统,它能让 Silex 更加容易地绑定第三方库。

可测:Silex 使用 Symfony 2 的 HttpKernel,它能抽取需求与回复。这能让 Silex 更加容易地测试 App 和框架本身。这尊重了 HTTP 规范。

Silex的目标是:

简洁:Silex公开了一个直观且简洁的API,使用起来很有趣。

可扩展:Silex拥有一个基于Pimple微服务容器的扩展系统,使它更易于绑定第三方库。

可测试:Silex使用Symfony的HttpKernel提取请求和响应,这使得测试应用程序和框架本身非常容易,它还尊重HTTP规范并鼓励其正确使用。

简而言之,您只需一步就可以定义控制器并将它们映射到路由:

require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application();

$app->get('/hello/{name}', function($name) use($app) {

return 'Hello '.$app->escape($name);

});

$app->run();

要访问Framework,所需要做的就是包括自动加载器。

接下来,我们定义到/hello/{name}的路由,该路由与GET请求匹配。当路由匹配时,将执行该函数并将返回值发送回客户端。

最后,该应用程序运行,真的很简单,安装Silex非常容易,下载存档文件,将其解压缩,就完成了。

下载地址:https://silex.symfony.com/

3、Httpful(PHP 的 HTTP 客户端)

Httpful 是一个简单的 PHP 5.3+ 的 Http 客户端。它的优点在高刻度性、简洁性、和灵活性,并提供基本的功能和灵活性帮助开发者完成工作,让功能易于实现。它有以下特征:

可读的 HTTP方法支持(GET, PUT, POST, DELETE, HEAD, PATCH 和 OPTIONS)。

可定制化的头文件。

自动智能解析。

自动负载系列化。

基本认证。

客户端证书验证。

请求模板。

示例代码:

$url = "http://search.twitter.com/search.json?q=" . urlencode('#PHP');

$response = Request::get($url)

->withXTrivialHeader('Just as a demo')

->send();   

foreach ($response->body->results as $tweet) {

echo "@{$tweet->from_user} tweets \"{$tweet->text}\"\n";

}

下载地址:https://github.com/nategood/httpful

4、TSF(基于协程和 Swoole 驱动的高性能 PHP 框架)

TSF 是腾讯开源的一套基于协程和 Swoole 驱动的高性能 PHP 框架,可以帮助开发者快速开发和部署具备高 IO 吞吐能力的 HTTP/TCP/UDP 服务。

TSF 具备以下特点:

基于 PHP,相比 C++ 等语言具有更高的开发效率。

基于 Swoole 强大的异步 IO 、定时器能力,极大的扩展了框架能力。

实现了 PHP 协程能力,通过同步的开发方式就可以实现异步 IO 的能力。

支持服务监控恢复能力。

要求:

php 5.5 +、Swoole 1.7.18 +、linux、OS X。

服务器配置:

vim server.ini

[server]

;server type:tcp,udp,http

type = http

; port

listen[] = 12312

; entrance file

root = '/data/web_deployment/serv/test/index.php'

;php start path

php = '/usr/local/php/bin/php'

[setting]

; worker process num

worker_num = 16

; task process num

task_worker_num = 0

; dispatch mode

dispatch_mode = 2

; daemonize

daemonize = 1

; system log

log_file = '/data/log/test.log'

启动服务器:

cd /root/tsf/bin/

php swoole testHttpServ start

使用 TCP/UDP/HTTP 客户端:

$tcpReturn=(yield $this->tcpTest());

$udpReturn=(yield $this->udpTest());

$httpReturn=(yield $this->httpTest());

public function tcpTest(){

$ip = '127.0.0.1';

$port = '9905';

$data = 'test';

$timeout = 0.5; //second

yield new Swoole\Client\TCP($ip, $port, $data, $timeout);

}

public function udpTest(){

$ip = '127.0.0.1';

$port = '9905';

$data = 'test';

$timeout = 0.5; //second

yield new Swoole\Client\UDP($ip, $port, $data, $timeout);

}

public function httpTest(){

$url='http://www.qq.com';

$httpRequest= new Swoole\Client\HTTP($url);

$data='testdata';

$header = array(

'Content-Length' => 12345,

);

yield $httpRequest->get($url); //yield $httpRequest->post($path, $data, $header);

}

下载地址:https://github.com/Tencent/tsf

注明

以上就是PHP开发工具phan、Silex-PHP、Httpful、TSF的介绍内容,这些PHP开发工具都能使用在Linux操作系统中。

栏目相关文章