首页vns威尼斯城官网登入 › 依赖管理,如果你合并Dispatch和其他框架

依赖管理,如果你合并Dispatch和其他框架

用作一个PHP开辟者,以后是三个令人激动的天天。每一天有巨额实用的库分发出来,在Github上非常轻便开采和选拔这个库。上边是本身早就碰到过最酷的22个库。你最赏识的库未有在这里个列表里面?那就在商酌中享受呢!

用作二个PHP开垦者,今后是七个让人激动的任何时候。天天有宏大实惠的库分发出来,在Github上超轻巧发掘和接受这么些库。上边是搜聚整理的贰十四个库。大家合营来拜会啊。1.
Dispatch:微框架
Dispatch是二个PHP小框架。它并从未给您完全的MVC设置,但您能够定义U奇骏L法则和方法,以便更加好集体应用程序。那对API、轻巧的站点或原型以来是圆满的。

本文由 伯乐在线 - 贾朝藤 翻译自
tutorialzine。应接参与技能翻译小组。转发请参见小说末尾处的必要。

1. Dispatch – 微框架

Dispatch是三个PHP小框架。它并不曾给您完全的MVC设置,但您能够定义U冠道L法则和议程,以便更加好团队应用程序。那对API、简单的站点或原型以来是无一不备的。

//包含库
include 'dispatch.php';
// 定义你的路由
get('/greet', function () 
{
     //渲染视图 
     render('greet-form');
});
//post处理
post('/greet', function () 
{ 
     $name = from($_POST, 'name'); 
     // render a view while passing some locals 
     render('greet-show', array('name' => $name));
});
// serve your site
dispatch();

你能够兼容特定项指标HTTP乞求和渠道,渲染视图或做越来越多专业。倘诺你归并Dispatch和任何框架,那您就足以具有叁个一定强盛而且轻量级的次序!

Github上的PHP能源聚焦山高校全    

作者:SNSGOU 发布于:2015-01-09 09:55:27  分类:PHP   浏览(537) 

依靠管理

——用于依赖管理的包和框架

Composer/Packagist : 八个包和信任微处理机

Composer Installers:  二个多框架Composer库安装器

Pickle: 能够在随心所欲平台上安装PHP扩大包

 

依据管理的叠合部分

——别的信赖管理的有关工具

Satis : 静态的Composer库生成器

Composition: 四个运作时检查Composer境遇的库

Version : 贰个在语义上深入分析和比较的库

NameSpacer : 将下划线转为命名空间的库

Patch Installer: 使用Composer安装补丁的库

Composer Checker: 二个验证Composer配置的工具

 

框架

——Web开拓框架

Symfony2 : 由独立组件构成的框架

Zend Framework 2: 相仿是由单独组件构成的框架

Laravel 4: 简洁高贵的PHP Web开采框架

Aura PHP:  独立组件的框架

Yii2 : 用于开垦大型Web应用的高品质PHP框架

Nette:  雷同是由独立组件构成的框架

PPI Framework 2: 肆个人机联作性的框架

Phalcon: 多个用作C扩张的框架

 

框架的增大多数

——此外有关Web开荒框架的相关工具

Symfony CMF: 一个创立自定义CMS的剧情管理框架

Knp RAD Bundle: Symfony2的快速应用程序包(RAD)

 

框架组件

——来自Web开垦框架的组件

Symfony2 Components: 关于Symphony2的组件

Zend Framework 2 Components:  关于ZF2的组件

Aura Components:  二个PHP5.4的零器件包

Hoa Project:  另一个PHP组件包

 

小型框架

——微型框架和路由

Silex: 基于Symphony2组件的微型框架

Slim:  另一个简约的微型框架

Bullet PHP:  用于创设REST APIs的微型框架

法斯特 Route:  神速路由精选库

Pux: 另三个神速路由接纳库

 

小型框架的增大多数

——此外有关的微型框架和路由

Silex Skeleton: 用于Silex的连串框架

Silex Web Profiler:  用于Silex的Web调试工具条

Stack: 用于Silex/Symphony的可堆集中间件库

Slim Skeleton: 用于Slim的框架

Slim View: Slim的自定义视图册

Slim Middleware: Slim的自定义中间件集结

 

模板

——模板和词法深入分析的库与工具

Twig: 一种归咎的模板语言

Twig Cache Extension: 用于Twig的模板片段缓存库

Mustache: PHP完结的Mustache模板语言

Phly Mustache: 另三个PHP完毕的Mustache模板语言

MtHaml : PHP完成的HAML模板语言

PHPTAL: PHP达成的TAL模板语言

Plates: 三个原有的PHP模板库

Lex: 三个轻量级模板剖判器

 

静态站点生成器

——生成Web页面内容的预管理工具

Sculpin:  将Markdown和Twig转变为静态HTML的工具

Phrozn: 另一款将Textile、Markdown和Twig转为HTML的工具

 

HTTP

——用于HTTP和抓取网址的库

Guzzle: 四个全部的HTTP顾客端

Buzz: 另一个HTTP客户端

Requests: 三个回顾的HTTP库

HTTPFul:  一个链式HTTP顾客端

Goutte: 一个轻巧的Web抓取器

PHP VC凯雷德: 多少个摄像和回看HTTP央求的库

 

URL

——解析URL的库

Purl:  一个URL操作库

PHP Domain Parser:  一个本地的后缀深入分析器

 

Email

——用于发送和深入深入分析Email的库

SwiftMailer: 一个邮件程序的缓和方案

PHPMailer: 另三个邮件程序的缓慢解决方案

Fetch: 一个IMAP库

Email Reply Parser: 多少个邮件回复深入分析器库

Stampie: 关于邮件服务的库,例如SendGrid、PostMark、MailGun和Mandrill

CssToInlineStyles: 邮件模板中三个内联的CSS库

 

文件

——关于文件管理和MIME类型检查

Gaufrette:  四个文件流的抽象层

Flysystem:  另三个文件流的抽象层

Canal: 三个反省网络媒体类型的库

Apache MIME Types: 四个剖析Apache MIME类型的库

Ferret:  一个MIME检测库

Hoa Mime: 另一个MIME检测库

Lurker: 叁个能源追踪库

PHP File Locator: 一个在大型项目中定位文件的库

PHP FFmpeg:  一个用于FFmpeg录制包装的库

CSV: 贰个CSV数据操作库

 

——管理流的库

Streamer: 二个简洁明了的面向对象流包装库

 

依据注入

——完成依附注入设计形式的库

Pimple: 多少个小的依赖性注入容器

Auryn: 另贰个小的依赖注入容器

Orno Di: 叁个易扩充的依附注入容器

PHP DI: 一个使用注解实现的依据注入

Acclimate:  正视注入容器和服务定位器的通用接口

 

图像

——管理图像的库

Imagine: 一个图像管理库

PHP Image Workshop: 另三个图像管理库

Intervention Image: 同样照旧一个图像管理库

GIF Frame Extractor: 一个领取GIF动漫帧信息的库

GIF Creator:  从多幅图片中开创GIF动画的库

Image With Text: 在图像中放置文本的库

Color Extractor: 从图像中领取颜色的库

 

测试

——测量检验代码库和浮动测量试验数据的库

PHPUnit: 三个单元测量检验框架

DBUnit:  PHPUnit的代码测量试验库

ParaTest: PHPUnit的相互影响测量检验库

PHPSpec: 依据专门的工作的单元测验库

Codeception: 二个全栈测量检验框架

AspectMock: PHPUnit/Codeception的模仿框架

Atoum: 三个简便的测量试验库

Mockery: 多少个用以测量试验的效仿指标库

Phake: 另三个用以测量检验的模仿目的库

Prophecy: 一个强盛的模拟框架

Faker: 八个伪数据生成库

萨姆sui: 另多少个伪数据生成库

Alice: 用于转移复杂数据的库

Behat: 四个行为使得开采(BDD)的测量检验框架

Pho: 另一人展览现使得开辟的测验框架

Mink: Web检验收下测量检验

HTTP Mock: 两个在单元测验中模仿HTTP诉求的库

VFS Stream: 二个用以测验的伪造文件系统流包装

VFS: 另一个用以测验的虚构文件系统

Locust: 一个Python开拓的现世负载测量试验库

 

穿梭集成

——持续集成的库和应用

Travis CI: 多个不辍集成的阳台

PHPCI: 一个PHP的开源持续集成平台

Sismo: 三个持续的测验服务器库

Jenkins: PHP援助的穿梭集成平台

JoliCi: PHP开采的由Docker协助的接踵而至集成顾客端

 

文档

——生成项目文档的库

萨姆i: 七个API文书档案生成器

APIGen: 另叁个API文书档案生成器

PHP Documentor 2: 文书档案生成器

phpDox: 一个PHP项指标文书档案生成器(不唯有是API文书档案)

 

安全性

——用于转移安全的任性数、加密多少、扫描漏洞的库

HTML Purifier: 一个正规的HTML过滤器

RandomLib: 生成随机数和Infiniti定字符串的库

True Random: 使用www.random.org生成随机数的库

SecurityMultiTool: 一个PHP安全库

PHPSecLib: 一个纯的PHP安全通讯库

TCrypto: 一个粗略的键值加密存款和储蓄库

PHP IDS: 二个布局化的PHP安全层

PHP SSH: 面向对象的SSH包装库

IniScan: 七个围观PHP INI文件安全的工具

SensioLabs Security Check: 叁个基于安全提出检查Composer重视的Web工具

Zed: 用于Web应用的合併渗透测量检验工具

 

密码

——管理和仓库储存密码的库和工具

Password Compat: 二个用于新的PHP5.5密码效率的宽容库

phpass: 贰个便携式密码哈希框架

PHP Password Lib: 二个用于转移和认证密码的库

Password Policy: 三个PHP和JavaScript的密码准则库

Password Validator: 验证和提拔密码哈希的库

Zxcvbn PHP: 三个基于Zxcvbn JS的PHP展现密码强度揣测库

 

代码解析

——用于解析、剖判和操作代码库的工具

PHP Parser: 一个PHP编写的PHP解析器

PHPPHP: 一个PHP实现的PHP虚拟机

PHPSandbox: PHP的沙盒景况

Dissect: 词法和语法解析的工具集结

PHP Mess Detector: 三个围观代码bug、次佳代码和未选取参数的库

PHP Code Sniffer: 二个检验PHP、CSS和JS代码标准冲突的库

PHPCPD: 叁个检验复制和粘贴代码的库

PHP Analyser: 一个解析PHP代码中错误的库

PHP CS Fixer: 二个代码规范库

PHP Manipulator: 用于深入分析和更改PHP源代码的库

PHP Metrics: 一个静态测量库

PHP Refactoring Browser: 二个用以重构PHP代码的命令行工具

UBench: 四个轻便的Mini基准测量试验库

Athletic: 一个基于注解的标准测验库

Mondrian: 使用图论的代码剖判工具

Scrutinizer: 检查PHP代码的Web工具

PHPLOC: 一个赶快评估PHP项目大小的工具

xHprof: 另叁个PHP品质评测工具

PHPCheckstyle: 贰个声援固守一定代码准绳的工具

 

调试

——调节和测量试验代码的库和工具

xDebug: 七个PHP的调度和深入分析工具

PHP Debug Bar: 一个调养工具条

PHP Console: Web调节和测量检验调整台

Barbushin PHP Console: 一个用到Google Chrome的Web调节和测量试验调节工具

PHPDBG: 二个交互作用性的PHP调节和测验器

特雷西: 贰个简易的荒唐检验、日志和岁月衡量库

 

营造筑工程具

——项目营造和自动化学工业具

Go: 三个轻松的PHP创设筑工程具

鲍勃: 叁个简短的品种自动化学工业具

Phake: 一个PHP克隆库

Box: 用来营造PHARubicon文件的工具

Phing: 依靠Apache Ant的PHP项目营造系统

 

义务运营器

——自动运转职责的库

Task: 依据Grunt和Gulp的纯PHP任务运维器

Robo: 面向对象的PHP职责运转器

Bldr: 营造在Symphony组件上的PHP职责运营器

 

导航

——营造导航布局的工具

KnpMenu: 叁个菜单库

Cartographer: 三个站点地图生成库

 

能源管理

——用于管理、压缩和最小化网址财富的工具

Assetic: 一个能源处理的管道库

Pipe: 另一个能源管理的管道库

Munee: 叁个财富优化库

JShrink: 三个JavaScript的渺小化库

Puli: 一个检查评定财富相对路线的库

 

地理定位

——使用经纬度编码地址的库

GeoCoder: 二个地理编码库

吉优Tools: 二个地理工科具相关的库

PHPGeo: 三个简易的地理库

GeoJSON: 一个GeoJSON的实现

 

日子和岁月

——管理日期和岁月的库

Carbon: 贰个简单易行的日未时间API扩充

ExpressiveDate: 另三个日期时间API扩展

CalendENCORE: 一个日历管理的库

 

事件

——事件驱动或非拥塞事件循环达成的库

React: 三个事件驱动的非拥塞I/O库

PRADOx.PHP: 二个反响扩张库

Ratchet: 叁个Web套接字库

Hoa WebSocket: 另三个Web套接字库

Hoa 伊夫ntSource: 三个风浪源库

Evenement: 叁个事件调治库

FuelPHP 伊夫nt: 另三个平地风波调节库

 

日志

——用于转移和管理日志文件的库

Monolog: 四个完完全全的日志工具

KLogger: 三个轻便使用的PSENCORE-3日志类

 

电商

——用于开采和营造在线电商公司的库和接收

OmniPay: 一个多网关支付管理的框架

Payum: 二个用以开拓的抽象库

Sylius: 叁个开源的电商解决方案

Thelia: 另七个开源的电商建设方案

Money: PHP完结的福勒金钱格局

Sebastian Money: 多少个拍卖货币价值的库

Swap: 三个货币的比率库

 

PDF

——管理PDF文件的库和软件

Snappy: 二个PDF和图像的生成库

WKHTMLToPDF: 一个将HTML转换为PDF的工具

 

数据库

——使用对象关系映射(ORM)或数额映射技艺的数据库交互作用库

Doctrine: 二个完好无损的DBAL和ORM

Doctrine Extensions: 一个Doctrine行为的扩大群集

Propel: 多个飞跃的ORM,迁移和查询库

Eloquent: Laravel 4 ORM

Baum: 五个Eloquent的嵌套集合

Spot2: MySQL的ORM映射器

RedBean: 三个轻量级、易配置的ORM

Pomm: 用于PostgreSQL的一个目的模型微处理机

ProxyManager: 用于数据映射生成代理对象的工具集结

 

迁移

——用于管理数据库格局和迁移的库

PHPMig: 三个搬迁管理库

Phinx: 一个数据库迁移管理库

Migrations: 另一个搬迁管理库

Doctrine Migrations: 用于Doctrine的迁移库

 

NoSQL

——管理NoSQL后端的库

MongoQB: 三个MongoDB的询问构建库

Monga: 八个MongoDB的抽象库

Predis: 八个效果完全的Redis库

 

队列

——处总管件和义务队列的库

Pheanstalk: 三个Beanstalkd客商端库

PHP AMQP: 一个纯PHP AMQP库

Thumper: 一个RabbitMQ模式库

Bernal德: 三个多后端的虚幻库 

 

搜索

——在数额中国建工业总会公司立目录和举办查询相关的库和软件

ElasticSearch PHP: 用于ElasticSearch的法定客商端库

Elastica: 另一个ElasticSearch的顾客端库

Solarium: Solr的客商端库

SphinxQL query builder: Sphinx寻找引擎的查询库

 

命令行

——创设命令行工具的库

Boris: 四个Mini的PHP REPL

PsySH: 另一个PHP REPL

Pecan: 叁个事件驱动,非窒碍内核

GetOpt: 三个命令行选用深入分析器

OptParse: 另叁个命令行选拔解析器

Commando: 八个归纳的命令行选用解析器

GetOption基特: 相仿仍旧二个命令行接收深入深入分析器

Cron Expression: 总计cron运维日期的库

ShellWrap: 一个简易的授命行包装库

Hoa Console: 另贰个命令行库

Shunt: 二个在多台远程机器上相互运维的指令行库

Cilex: 创设命令行工具的小型框架

 

身份验证

——实现身份验证形式的库

Sentry: 一个身份验证和授权的框架

Sentry Social: 一个用来社人机联作联网身份验证的库

Opauth: 三个多供应的身份验证框架

OAuth2: 贰个OAuth2身份验证服务器、财富服务器和客商端库

OAuth2 Server: 二个OAuth2服务器落成

PHP oAuthLib: 另一个OAuth库

照片墙OAuth: 相疑似一个OAuth库

InstagramSDK: 一个经过完全测验的Facebook SDK

Hawk: 三个Hawk HTTP身份验证库

HybridAuth: 多个开源的社交登入库

 

标记

——管理标识的库

Decoda: 贰个轻量级的号子拆解深入分析库

PHP Markdown: Markdown解析器

CommonMark PHP: 一个支撑CommonMark spec的Markdown深入深入分析器

Dflydev Markdown: 另一个Markdown解析器

Parsedown: 相仿是二个Markdown拆解解析器

Ciconia: 三个帮忙Github风格的Markdown解析器

Cebe Markdown: 叁个高效、可扩大的Markdown深入深入分析器

HTML5 PHP: 叁个HTML5剖判和种类化的库

 

字符串

——剖析和垄断(monopolyState of Qatar字符串的库

ANSI to HTML5: 一个将ANSI转换为HTML5的库

Patchwork UTF-8: 管理UTF-8格式字符串的便携库

Hoa String: 另二个UTF-8格式的字符串库

Stringy: 叁个多字节协助的字符串操纵库

Color Jizz: 叁个甩卖和转变颜色的库

UUID: 生成UUIDs的库

Slugify: 叁个将字符串转变为slug格式的库

Urlify: 一个Django URLify.js的PHP端口

Text: 一个文件管理库

SQL Formatter: 三个用于格式化SQL语句的库

UA Parser: 叁个用以拆解深入分析客商字符串的库

 

数字

——管理数字的库

Numbers PHP: 八个甩卖数字的库

Math: 管理非常的大数字的库

ByteUnits: 二个在二进制和度量系统中剖判、格式化和转换字节单位的库

PHP Units of Measure: 三个度量单位间转移的库

PHP Conversion: 另贰个衡量单位间转移的库

LibPhoneNumber for PHP: PHP落成的谷歌(Google卡塔尔(قطر‎电话号码管理系统库

 

过滤和表明

——用于过滤和表达数据的库

Filterus: 三个简便的PHP过滤库

Respect Validate: 叁个归纳的验证库

Valitron: 另贰个数额验证库

Upload: 三个管理公事上传和认证的库

DMS Filter: 三个根据标明的过滤库

MetaYaml: 支持YAML、JSON和XML的二个模式验证库

ISO-codes: 验证不相同ISO和ZIP编码的库

 

REST和API

——用于开拓REST-ful APIs的库和Web框架

Apigility: 多个接受Zend Framework2营造的API构建器

Hateoas: 一个HATEOAS REST的web服务库

HAL: 二个超文本金和利息用语言(HAL)构建库

Negotiation: 三个内容协商库

Drest: 多少个将Doctrine实体表现为REST能源结点的库

Restler: 一个将PHP方法表现为RESTful web API的轻量级框架

 

缓存

——缓存数据的库

Alternative PHP Cache (APC卡塔尔(قطر‎: PHP的开源操作码缓存

Cache: 多少个缓存库

Stash: 另八个缓存库

 

数据结议和仓储

——达成数据结谈判存款和储蓄本领的库

Ardent: 一个数码构造库

PHP Collections: 二个简短的群集库

Serializer: 用于连串化和反类别化数据的库

PHP Object Storage: 三个用于对象存款和储蓄的库

Fractal: 三个将复杂数据布局转变为JSON输出的库

Totem: 叁个关押和开创数量校订集的库

PINQ: PHP实时Linq库

JsonMapper: 四个将内嵌JSON构造映射到PHP类上的库 

 

通知

——关于通告软件的库

Nod: 三个布告库

Notificato: 一个管理推送音讯的库

Notification Pusher: 设备推送公告的独立库

Notificator: 一个轻量级布告库

 

部署

——用于项目构造的库

Pomander: 四个PHP应用的布置工具

罗克eteer: PHP的马上和简易陈设器

Envoy: 使用PHP运营SSH任务的工具

Plum: 三个构造库

 

第三方API

——访问第三方API的库

Amazon Web Service SDK: PHP AWS SDK官方库

S3 Stream Wrapper: 亚马逊 S3的流包装库

Stripe: 官方的Stripe PHP库

Campaign Monitor: 官方的Campaign Monitor PHP库

Digital Ocean: 贰个与Digital Ocean API人机联作的库

Github: 三个与Github API交互作用的库

PHP Github API: 另多个与Github API交互作用的库

Facebook OAuth: 一个与推文(TweetState of Qatar’s OAuth工作流交互作用的库

Instagram REST: 叁个与Facebook’s REST API交互的库

Dropbox SDK: 官方的PHP Dropbox SDK库

Twilio: 官方的Twilio PHP REST API

Mailgun: 官方的Mailgun PHP API

 

扩展

——援助营造PHP增添的库

Zephir: 用于开辟PHP增加的一种在PHP和C++间的编写翻译语言

PHP CPP: 一个用于开垦PHP扩大的C++库

 

PHP安装

HomeBrew: OSX的包微型机

HomeBrew PHP:一个HomeBrew的PHP接头

PHP OSX: 用于OSX的PHP安装器

PHP Brew: 二个PHP的版本管理和安装器

PHP Env: 二个PHP的版本微处理机

PHP Switch: 另八个PHP的本子微处理器

PHP Build: 多个PHP的本子安装器

VirtPHP: 三个用来创建和保管独立PHP开垦条件的工具

 

开采条件

Vagrant: 一个便携式的花费条件工具

Ansible: 三个极度轻易的编撰框架

Puppet: 叁个服务器自动化框架和接收

PuPHPet: 用于创设PHP开采虚构机的Web工具

Protobox: 另叁个用来创设PHP开辟设想机的Web工具

Phansible: 三个用Ansible创设PHP开荒支出虚构机的Web工具

 

集成开荒条件IDE

——援助PHP的购并开垦景况

Netbeans: 支持PHP和HTML5的IDE环境

Eclipse for PHP Developers : 基于Eclipse平台的PHP IDE

PhpStorm : 商业PHP IDE 

 

Web应用

——基于Web的行使和工具

3V4L: 二个在线的PHP内核

DBV: 叁个数据库版本调控应用

PHP Queue: 贰个管制类别后端的运用

Composer as a Service: 作为三个zip文件下载Composer包的工具

MailCatcher: 多个抓取和浏览邮件的Web工具

 

 

摘自:

有关日志:

PHP面向对象(OOP卡塔尔国编制程序完全教程:8.布局主意__construct(卡塔尔与析构方法__destruct()

PHP自带系列化数组的施用

PHP引用(&卡塔尔(قطر‎使用详整

18个常用的PHP代码汇总

memcache与memcached的区别

自定义PHP系统丰富管理类

Linux服务器,PHP的10大平安配置实行

PHP数字补零的三种方法

PHP上传(单个)文件示例

PHP线程安全和非线程安全的差别


图片 1

//包含库include 'dispatch.php'; // 定义你的路由get('/greet', function () { //渲染视图 render('greet-form');}); //post处理post('/greet', function () { $name = from($_POST, 'name'); // render a view while passing some locals render('greet-show', array('name' = $name));}); // serve your sitedispatch();

用作三个PHP开辟者,今后是二个令人激动的任何时候。天天有不可胜数有效的库分发出来,在Github上超轻巧觉察和平运动用这几个库。上面是本人一度遇到过最酷的二十几个库。你最欢乐的库未有在此个列表里面?那就在口无遮拦中享受呢!

2. Klein – PHP疾如雷暴的路由

克莱因是另一款针对PHP5.3+版本的轻量级路由库。就算它有部分比Dispatch冗长的语法,但它相当的慢。那有二个事例:

respond('/[:name]', function ($request) {
    echo 'Hello ' . $request->name;
});

您也能够定制来钦点HTTP方法和平运动用正则表达式作为路线。

respond('GET', '/posts', $callback);
respond('POST', '/posts/create', $callback);
respond('PUT', '/posts/[i:id]', $callback);
respond('DELETE', '/posts/[i:id]', $callback);
//匹配多种请求方法:
respond(array('POST','GET'), $route, $callback);
//你或许也想在相同的地方处理请求
respond('/posts/[create|edit:action] /[i:id] ', function ($request, $response) 
{ 
      switch ($request->action) {
          // do something 
      }
});

对此Mini项目以来那是很棒的,但当你把八个像那样的库用于大型应用时,你必须要据守规矩,因为你的代码大概急速就变得不得维护。所以您最佳搭配三个像Laravel恐怕CodeIgniter那样完全成熟的框架。

1. Dispatch – 微框架

Dispatch是三个PHP小框架。它并不曾给您完整的MVC设置,但你能够定义URubiconL准绳和措施,以便越来越好组织应用程序。那对API、轻巧的站点或原型以来是巨细无遗的。

//包含库
include 'dispatch.php';

// 定义你的路由
get('/greet', function () {

//渲染视图
    render('greet-form');
});

//post处理
post('/greet', function () {
    $name = from($_POST, 'name');

// render a view while passing some locals
    render('greet-show', array('name' => $name));
});

// serve your site
dispatch();

您可以相称特定项目标HTTP要求和路线,渲染视图或做更加多职业。若是您合并Dispatch和其余框架,那您就可以具有三个分外强大而且轻量级的次第!

您可以宽容特定类型的HTTP诉求和渠道,渲染视图或做越多事情。假若您合併Dispatch和别的框架,那你就能够有所二个一定苍劲何况轻量级的顺序!2.
克莱因:PHP飞檐走脊的路由
克莱因是另一款针对PHP5.3+版本的轻量级路由库。即便它有一部分比Dispatch冗长的语法,但它一定快。那有七个例证:

1. Dispatch – 微框架

Dispatch是多个PHP小框架。它并不曾给你完全的MVC设置,但您能够定义UEscortL准则和方法,以便更加好组织应用程序。那对API、轻便的站点或原型以来是一应俱全的。

//包含库  include 'dispatch.php';     // 定义你的路由  get('/greet', function () {    //渲染视图      render('greet-form');  });     //post处理  post('/greet', function () {      $name = from($_POST, 'name');    // render a view while passing some locals      render('greet-show', array('name' => $name));  });     // serve your site  dispatch();

 

你能够相配特定类型的HTTP恳求和路线,渲染视图或做越多职业。假如你合併Dispatch和此外框架,这您就足以有所三个一定苍劲并且轻量级的前后相继!

3. Ham – 带缓存的路由库

Ham也是一款轻量级的路由框架,可是它利用缓存以至获得了越来越快的速度。它通过把别的I/O相关的事物缓存进XCache/APC。下面是叁个例子:

require '../ham/ham.php';
$app = new Ham('example');
$app->config_from_file('settings.php');
$app->route('/pork', function($app) 
{
      return "Delicious pork.";
});
$hello = function($app, $name='world')
{
      return $app->render('hello.html', array( 'name' => $name ));
};
$app->route('/hello/<string>', $hello);
$app->route('/', $hello);$app->run();

这些库需要你起码安装了XCacheAPC里面包车型客车叁个,那大概意味着,在大多数主机提供商提供的主机上它或然用持续。不过只要您具有多个设置它们其一的主机,只怕你能够操控你的web服务器,你应当尝试那款最快的框架。

2. 克莱因 – PHP飞檐走壁的路由

Klein是另一款针对PHP5.3+版本的轻量级路由库。就算它有一点点比Dispatch冗长的语法,但它一定快。那有三个例子:

respond('/[:name]', function ($request) {
    echo 'Hello ' . $request->name;
});

您也得以定制来钦赐HTTP方法和应用正则表明式作为路径。

respond('GET', '/posts', $callback);
respond('POST', '/posts/create', $callback);
respond('PUT', '/posts/[i:id]', $callback);
respond('DELETE', '/posts/[i:id]', $callback);

//匹配多种请求方法:
respond(array('POST','GET'), $route, $callback);

//你或许也想在相同的地方处理请求
respond('/posts/[create|edit:action] /[i:id] ', function ($request, $response) {
    switch ($request->action) {

// do something
    }
});

对于小型项目来讲那是很棒的,但当您把八个像这么的库用于大型应用时,你只好信守规矩,因为您的代码可能一点也不慢就变得不得维护。所以你最佳搭配三个像Laravel或者CodeIgniter这么完全成熟的框架。

respond('/[:name]', function ($request) {echo 'Hello ' . $request-name;});

2. 克莱因 – PHP快如雷暴的路由

克莱因是另一款针对PHP5.3+版本的轻量级路由库。就算它有一部分比Dispatch冗长的语法,但它拾壹分快。那有一个事例:

respond('/[:name]', function ($request) {      echo 'Hello ' . $request->name;  });

你也能够定制来钦定HTTP方法和应用正则表明式作为路线。

respond('GET', '/posts', $callback);  respond('POST', '/posts/create', $callback);  respond('PUT', '/posts/[i:id]', $callback);  respond('DELETE', '/posts/[i:id]', $callback);     //匹配多种请求方法:  respond(array('POST','GET'), $route, $callback);     //你或许也想在相同的地方处理请求  respond('/posts/[create|edit:action] /[i:id] ', function ($request, $response) {      switch ($request->action) {          // do something      }  });

对此Mini项目来讲那是很棒的,但当你把七个像这么的库用于大型应用时,你只好坚决守护规矩,因为你的代码可能相当慢就变得不得维护。所以你最佳搭配三个像Laravel也许CodeIgniter那样完全成熟的框架。

4. Assetic – 财富管理

Assetic是二个PHP的财富管理框架,用于合并和减小了CSS/JS财富。下边是例证。

use Assetic\Asset\AssetCollection;
use Assetic\Asset\FileAsset;
use Assetic\Asset\GlobAsset;
$js = new AssetCollection(
      array( 
      new GlobAsset('/path/to/js/*'), 
      new FileAsset('/path/to/another.js'),
      )
);
//当资源被输出时,代码会被合并
echo $js->dump();

以这种艺术合併能源是二个好主意,因为它能够加速站点。不独有总下载量减小了,也解除了多量不须要的HTTP央浼(那是最影响页面加载时间的两件事卡塔尔(قطر‎

3. Ham – 带缓存的路由库

Ham也是一款轻量级的路由框架,但是它采用缓存以致得到了越来越快的快慢。它通过把其它I/O相关的事物缓存进XCache/APC。上面是一个例证:

require '../ham/ham.php';

$app = new Ham('example');
$app->config_from_file('settings.php');

$app->route('/pork', function($app) {
    return "Delicious pork.";
});

$hello = function($app, $name='world') {
    return $app->render('hello.html', array(
        'name' => $name
    ));
};
$app->route('/hello/<string>', $hello);
$app->route('/', $hello);

$app->run();

那些库供给你最少安装了XCache和APC当中的三个,那说倒霉代表,在大好多主机提供商提供的主机上它恐怕用持续。不过只要您持有三个设置它们其一的主机,可能您能够操控你的web服务器,你应该尝试那款最快的框架。

你也足以定制来钦命HTTP方法和采取正则表明式作为路线。

3. Ham – 带缓存的路由库

Ham也是一款轻量级的路由框架,可是它接受缓存以至取得了更加快的快慢。它通过把别的I/O相关的东西缓存进XCache/APC。上面是二个例证:

require '../ham/ham.php';     $app = new Ham('example');  $app->config_from_file('settings.php');     $app->route('/pork', function($app) {      return "Delicious pork.";  });     $hello = function($app, $name='world') {      return $app->render('hello.html', array(          'name' => $name      ));  };  $app->route('/hello/<string>', $hello);  $app->route('/', $hello);     $app->run();

这些库须求您足足安装了XCache和APC在这之中的二个,那或许代表,在大多数主机提供商提供的主机上它也许用持续。不过一旦你持有二个设置它们其一的主机,也许您能够操控你的web服务器,你应当尝试那款最快的框架。

5. ImageWorkshop – 带层的图片管理

ImageWorkshop是叁个让您操控带层图片的开源库。凭仗它你可以重定义尺寸、裁剪、制作缩略图、打水印或做越来越多专门的学问。下边是八个例证:

// 从norway.jpg图片初始化norway层
$norwayLayer = ImageWorkshop::initFromPath('/path/tonorway.jpg'); 
// 从watermark.png图片初始化watermark层(水印层)
$watermarkLayer = ImageWorkshop::initFromPath('/path/towatermark.png');
// 这是生成的图片!
$image = $norwayLayer->getResult();
header('Content-type: image/jpeg');
// We choose to show a JPG with a quality of 95%
imagejpeg($image, null, 95); 
exit;

ImageWorkshop被支付用于使部分PHP中最通用的管理图片的案例简化,要是你必要有的更刚劲的事物,你应该看下Imagine
library!

4. Assetic – 财富处理

Assetic是三个PHP的财富管理框架,用于归拢和减小了CSS/JS能源。下边是例证。

use Assetic/Asset/AssetCollection;
use Assetic/Asset/FileAsset;
use Assetic/Asset/GlobAsset;

$js = new AssetCollection(array(
    new GlobAsset('/path/to/js/*'),
    new FileAsset('/path/to/another.js'),
));

//当资源被输出时,代码会被合并
echo $js->dump();

以这种情势合併能源是多个好主意,因为它能够加快站点。不唯有总下载量减小了,也消逝了大气不必要的HTTP须要(这是最影响页面加载时间的两件事卡塔尔

respond('GET', '/posts', $callback);respond('POST', '/posts/create', $callback);respond('PUT', '/posts/[i:id]', $callback);respond('DELETE', '/posts/[i:id]', $callback);//匹配多种请求方法:respond(array('POST','GET'), $route, $callback);//你或许也想在相同的地方处理请求respond('/posts/[create|edit:action] /[i:id] ', function ($request, $response) {switch ($request-action) {// do something}});

4. Assetic – 财富管理

Assetic是三个PHP的能源管理框架,用于合并和减小了CSS/JS能源。上边是例证。

use Assetic\Asset\AssetCollection;  use Assetic\Asset\FileAsset;  use Assetic\Asset\GlobAsset;     $js = new AssetCollection(array(      new GlobAsset('/path/to/js/*'),      new FileAsset('/path/to/another.js'),  ));     //当资源被输出时,代码会被合并  echo $js->dump();

以这种艺术合并财富是一个好主意,因为它能够加快站点。不仅总下载量减小了,也解除了大气无需的HTTP央浼(那是最影响页面加载时间的两件事卡塔尔

6. Snappy – 快照/PDF库

Snappy是多个PHP5库,能够转换快速照相、UCR-VL、HTML、PDF。它依据于wkhtmltopdf
binary(在Linux,Windows和OSX上都可用)。你能够像这么使用它们:

require_once '/path/to/snappy/src/autoload.php'; 
use Knp\Snappy\Pdf; 
//通过wkhtmltopdf binary路径初始化库
$snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); 
//通过把Content-type头设置为pdf来在浏览器中展示pdf
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"'); 
echo $snappy->getOutput('http://www.github.com');

要记得,你的主机提供商可能不一样意调用外界二进制造进程序。

5. ImageWorkshop – 带层的图纸管理

ImageWorkshop是三个让您操控带层图片的开源库。依据它你能够重定义尺寸、裁剪、制作缩略图、打水印或做更加的多事情。上边是叁个例证:

// 从norway.jpg图片初始化norway层
$norwayLayer = ImageWorkshop::initFromPath('/path/to/images/norway.jpg'); 

// 从watermark.png图片初始化watermark层(水印层)
$watermarkLayer = ImageWorkshop::initFromPath('/path/to/images/watermark.png'); 

$image = $norwayLayer->getResult(); 
// 这是生成的图片!

header('Content-type: image/jpeg');
imagejpeg($image, null, 95); 
// We choose to show a JPG with a quality of 95%
exit;

ImageWorkshop被开拓用于使有个别PHP中最通用的拍卖图片的案例简化,若是你须求一些更加强有力的东西,你应该看下Imagine
library!

对此Mini项目以来那是很棒的,但当您把三个像那样的库用于大型应用时,你一定要据守规矩,因为你的代码可能赶快就变得不得维护。所以您最棒搭配二个像Laravel大概CodeIgniter那样完全成熟的框架。3.
Ham:带缓存的路由库
Ham也是一款轻量级的路由框架,不过它利用缓存以致取得了更加快的速度。它经过把任何I/O相关的东西缓存进XCache/APC。下边是四个例证:

5. ImageWorkshop – 带层的图纸管理

ImageWorkshop是一个令你操控带层图片的开源库。依靠它你能够重定义尺寸、裁剪、制作缩略图、打水印或做更加的多专门的职业。下边是一个例证:

// 从norway.jpg图片初始化norway层  $norwayLayer = ImageWorkshop::initFromPath('/path/to/images/norway.jpg');     // 从watermark.png图片初始化watermark层(水印层)  $watermarkLayer = ImageWorkshop::initFromPath('/path/to/images/watermark.png');      $image = $norwayLayer->getResult(); // 这是生成的图片!     header('Content-type: image/jpeg');  imagejpeg($image, null, 95); // We choose to show a JPG with a quality of 95%  exit;

ImageWorkshop被开辟用于使有些PHP中最通用的拍卖图片的案例简化,倘诺你需求一些更加强盛的东西,你应该看下Imagine
library!

7. Idiorm – 轻量级ORM库

Idiorm是私人商品房以前在本网址教程中用过最爱怜的一款。它是一款轻量级的ORM库,贰个确立在PDO之上的PHP5查询布局器。依附它,你能够淡忘怎么下笔没有味道的SQL:

$user = ORM::for_table('user') 
      ->where_equal('username', 'j4mie')
      ->find_one();
$user->first_name = 'Jamie';
$user->save();

$tweets = ORM::for_table('tweet') 
      ->select('tweet.*') 
      ->join('user', array( 'user.id', '=', 'tweet.user_id' )) 
      ->where_equal('user.username', 'j4mie') 
      ->find_many();

foreach ($tweets as $tweet) 
{ 
    echo $tweet->text;
}

Idiorm有叁个姐妹库叫Paris,Paris是一个依据Idiorm的Active Record达成。

6. Snappy – 快照/PDF库

Snappy是三个PHP5库,能够转移快照、UEscortL、HTML、PDF。它依附于wkhtmltopdf binary(在Linux,Windows和OSX上都可用)。你能够像那样使用它们:

require_once '/path/to/snappy/src/autoload.php'; 

use Knp/Snappy/Pdf; 

//通过wkhtmltopdf binary路径初始化库
$snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); 

//通过把Content-type头设置为pdf来在浏览器中展示pdf

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"'); 

echo $snappy->getOutput('http://www.github.com');

要专一,你的主机提供商也许不许调用外界二进制造过程序。

require '../ham/ham.php';$app = new Ham('example');$app-config_from_file('settings.php');$app-route('/pork', function($app) { return "Delicious pork.";});$hello = function($app, $name='world') { return $app-render('hello.html', array( 'name' = $name ));};$app-route('/hello/string', $hello);$app-route('/', $hello);$app-run();

6. Snappy – 快照/PDF库

Snappy是二个PHP5库,可以转移快速照相、UXC60L、HTML、PDF。它凭仗于wkhtmltopdf
binary(在Linux,Windows和OSX上都可用)。你能够像那样使用它们:

require_once '/path/to/snappy/src/autoload.php';     use Knp\Snappy\Pdf;     //通过wkhtmltopdf binary路径初始化库  $snappy = new Pdf('/usr/local/bin/wkhtmltopdf');     //通过把Content-type头设置为pdf来在浏览器中展示pdf     header('Content-Type: application/pdf');  header('Content-Disposition: attachment; filename="file.pdf"');      echo $snappy->getOutput('http://www.github.com');

要记得,你的主机提供商只怕分裂意调用外界二进制造进程序。

8. Underscore – PHP的工具腰带

Underscore是原始Underscore.js的一个接口 –
Javascript应用的工具腰带。PHP版本未有令人悲从当中来,而且帮忙了大概具有原生成效。上面是有的例证:

__::each(array(1, 2, 3), function($num) { echo $num . ','; }); // 1,2,3,
$multiplier = 2;
__::each(array(1, 2, 3), function($num, $index) use ($multiplier) { 
echo $index . '=' . ($num * $multiplier) . ',';
});
// prints: 0=2,1=4,2=6,
__::reduce(array(1, 2, 3), function($memo, $num) { return $memo + $num; }, 0); // 6
__::find(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // 2
__::filter(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // array(2, 4)

本条库也支撑链式语法,那使得它更压实大。

7. Idiorm – 轻量级ORM库

Idiorm是个体从前在本网址教程中用过最热衷的一款。它是一款轻量级的ORM库,一个创立在PDO之上的PHP5查询布局器。依靠它,你能够淡忘怎么下笔没味的SQL:

$user = ORM::for_table('user')
    ->where_equal('username', 'j4mie')
    ->find_one();

$user->first_name = 'Jamie';
$user->save();

$tweets = ORM::for_table('tweet')
    ->select('tweet.*')
    ->join('user', array(
        'user.id', '=', 'tweet.user_id'
    ))
    ->where_equal('user.username', 'j4mie')
    ->find_many();

foreach ($tweets as $tweet) {
    echo $tweet->text;
}

Idiorm有三个姊妹库叫Paris,Paris是三个基于Idiorm的Active
Record实现。

以此库须求你最少安装了XCache和APC此中的叁个,那可能意味着,在多数主机提供商提供的主机上它大概用持续。不过假使您全体叁个装置它们其一的主机,大概你能够操控你的web服务器,你应有尝试那款最快的框架。4.
Assetic:财富管理
Assetic是一个PHP的资源管理框架,用于归拢和减小了CSS/JS能源。上面是例证。

7. Idiorm – 轻量级ORM库

Idiorm是私家以前在本网址教程中用过最爱怜的一款。它是一款轻量级的ORM库,多少个创立在PDO之上的PHP5查询布局器。依靠它,你能够淡忘怎么下笔没味的SQL:

$user = ORM::for_table('user')      ->where_equal('username', 'j4mie')      ->find_one();     $user->first_name = 'Jamie';  $user->save();     $tweets = ORM::for_table('tweet')      ->select('tweet.*')      ->join('user', array(          'user.id', '=', 'tweet.user_id'      ))      ->where_equal('user.username', 'j4mie')      ->find_many();     foreach ($tweets as $tweet) {      echo $tweet->text;  }

Idiorm有八个姐妹库叫Paris,Paris是叁个基于Idiorm的Active Record完成。

9. Requests – 简单HTTP请求

Requests是一个简化HTTP央浼的库。要是你和本身相仿,差不离根本都记不住传递给Curl的多如牛毛的参数,那么它正是为你筹算的:

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[…]"

依赖那些库,你能够发送HEAD、GET、POST、PUT、DELTE和PATCH
HTTP须求,你能够通过数组增加文件和参数,而且能够访谈具备相应数据。

8. Underscore – PHP的工具腰带

Underscore是原始Underscore.js的八个接口

Javascript应用的工具腰带。PHP版本未有令人深负众望,何况扶植了差非常的少全体原生功用。上边是部分事例:

__::each(array(1, 2, 3), function($num) { echo $num . ','; }); 
// 1,2,3,

$multiplier = 2;
__::each(array(1, 2, 3), function($num, $index) use ($multiplier) {
  echo $index . '=' . ($num * $multiplier) . ',';
});
// prints: 0=2,1=4,2=6,

__::reduce(array(1, 2, 3), function($memo, $num) { return $memo + $num; }, 0); 
// 6

__::find(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); 
// 2

__::filter(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); 
// array(2, 4)

其一库也支撑链式语法,那使得它更是苍劲。

use Assetic\Asset\AssetCollection;use Assetic\Asset\FileAsset;use Assetic\Asset\GlobAsset;$js = new AssetCollection(array( new GlobAsset('/path/to/js/*'), new FileAsset('/path/to/another.js'),));//当资源被输出时,代码会被合并echo $js-dump();

8. Underscore – PHP的工具腰带

Underscore是原始Underscore.js的四个接口 –
Javascript应用的工具腰带。PHP版本未有令人悲从当中来,并且扶助了差相当的少全体原生功效。下边是部分事例:

__::each(array(1, 2, 3), function($num) { echo $num . ','; }); // 1,2,3,     $multiplier = 2;  __::each(array(1, 2, 3), function($num, $index) use ($multiplier) {    echo $index . '=' . ($num * $multiplier) . ',';  });  // prints: 0=2,1=4,2=6,     __::reduce(array(1, 2, 3), function($memo, $num) { return $memo + $num; }, 0); // 6     __::find(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // 2     __::filter(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // array(2, 4)

其一库也支撑链式语法,那使得它更是苍劲。

10. Buzz – 简单的HTTP请求库

Buzz是另一个变成HTTP诉求的库。上边是叁个例证:

$request = new Buzz\Message\Request('HEAD', '/', 'http://google.com');
$response = new Buzz\Message\Response();
$client = new Buzz\Client\FileGetContents();
$client->send($request, $response);
echo $request;
echo $response;

因为它贫乏文档,所以您必须要阅读源码来获悉它帮衬的具有参数。

9. Requests – 简单HTTP请求

Requests是叁个简化HTTP央求的库。倘让你和自己同一,差不离根本都记不住传递给Curl的五花八门的参数,那么它正是为你筹算的:

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[…]"

依靠那么些库,你能够发送HEAD、GET、POST、PUT、DELTE和PATCH
HTTP诉求,你能够透过数组添Gavin件和参数,何况能够访谈具备相应数额。

以这种措施归总财富是三个好主意,因为它能够加快站点。不唯有总下载量减小了,也消亡了汪洋不要求的HTTP央求(那是最影响页面加载时间的两件事卡塔尔(قطر‎5.
ImageWorkshop:带层的图纸管理
ImageWorkshop是三个令你操控带层图片的开源库。依靠它你能够重定义尺寸、裁剪、制作缩略图、打水印或做更加多事情。上边是叁个例子:

9. Requests – 简单HTTP请求

Requests是二个简化HTTP央求的库。假若你和作者同样,差相当少平素都记不住传递给Curl的多姿多彩的参数,那么它正是为你策动的:

$headers = array('Accept' => 'application/json');  $options = array('auth' => array('user', 'pass'));  $request = Requests::get('https://api.github.com/gists', $headers, $options);     var_dump($request->status_code);  // int(200)     var_dump($request->headers['content-type']);  // string(31) "application/json; charset=utf-8"     var_dump($request->body);  // string(26891) "[…]"

依赖那个库,你能够发送HEAD、GET、POST、PUT、DELTE和PATCH
HTTP央求,你能够透过数组添Gavin件和参数,并且能够访谈具备相应数据。

11. Goutte – Web抓取库

Goutte是一个抓取网址和提取数据的库。它提供了一个平淡的API,那使得从远程页面上采摘特定成分变得轻便。

require_once '/path/to/goutte.phar'; use Goutte\Client; $client = new
Client();$crawler = $client->request('GET',
'http://www.symfony-project.org/'State of Qatar;
//点击链接$link = $crawler->selectLink('Plugins'State of Qatar->link(卡塔尔国;$crawler
= $client->click($linkState of Qatar; //使用三个类CSS语法提取数据$t =
$crawler->filter('#data')->text(); echo "Here is the text: $t";

转载本站文章请注明出处:vns威尼斯城官网登入 http://www.tiec-ccpittj.com/?p=4795

上一篇:

下一篇:

相关文章