函数按照首字母的排序列出。
分类目录归档:开发语言
Go新手需注意的知识点(一)
学习Go的一些需要注意的知识点。
kafka的PHP SDK
在GitHub上有2个版本的php sdk,分别是以下2个:
- https://github.com/nmred/kafka-php
推荐,但需要安装zookeeper的扩展,安装参考:安装PHP中的zookeeper扩展 - https://github.com/quipo/kafka-php
本文仅针对第一种sdk注解
PHP中zookeeper的类与方法
__construct( $host = ‘‘, $watcher_cb = null, $recv_timeout = 10000)
$host:zookeeper的ip和端口,多组信息使用,分隔
$watcher_cb:全局监听函数,任何的监听都会执行该回调函数
$recv_timeout:会话超时,在zookeeper的服务器中可以设置 minSessionTimeout和maxSessionTimeout,限制客户端设置session的超时范围
安装PHP中的zookeeper扩展
PHP的安装以及配置都非常的简单,可以参考文章:Zookeeper的安装,今儿来看看PHP扩展的安装。
现在官方已经有0.3.2的版本了,查看 https://pecl.php.net/package/zookeeper
RabbitMQ的PHP教程之RPC (六)
RPC(Remote Procedure Call Protocol)远程过程调用协议,简称远程调用。但如果仅仅从这一层意义上来说,RabbitMQ的PRC没有实际的意义,因为远程调用接口服务,我们通过curl会更简单易用一些,而且PHP本身也有RPC调用的相关方法。但我要说的是,RabbitMQ的RPC主要用于消息消费后的回复。在这一点RabbitMQ就显得有意义了。因为我们有的时候,发送消息后,需要知道消费的情况,根据消费的情况做后续的逻辑。
RabbitMQ的PHP教程之topic (五)
学习完了RabbitMQ的PHP教程之Routing (四),route的核心思想就是告诉我们,queue是可以绑定多少routeKey,同时接收多个routeKey的消息,在文章的末尾,我也总结exchange、routeKey、queue、message之间的对应关系 。在文中有以下几行代码:
RabbitMQ的PHP教程之Routing (四)
关于这一篇的教程,主要是针对Route Key的使用。在第二篇的文章中,我们使用direct类型的exchange实现工作队列。在这个基础之上,我们再进行一个扩展:即一个队列绑定多个route key,这样绑定多个route key的队列就能接收到不同route key的消息。但有一点是固定不变的,就是一个message只能有一个route key.
继续阅读
RabbitMQ的PHP教程之发布/订阅 (三)
发布 / 订阅模式可以理解为广播模式:即exchange会将消息转发到所有绑定到这个exchange的队列上。针对这种广播模式,RabbitMQ增加了exchange Type的选项 AMQP_EX_TYPE_FANOUT,这种类型在发送消息,queue bind时,都将忽略route key,也就是说不需要设置 route key。
RabbitMQ的PHP教程之工作队列 (二)
在上一篇文章中,简单实现了消息的发送与接受(参考:RabbitMQ的PHP教程之入门 (一)),但在实际的应用中,很少会使用,本人也不建议使用,因为这种隐藏式的申明,很容易给人造成困扰。但它展示了RabbitMQ的工作原理。
RabbitMQ的PHP教程之入门 (一)
从网上也看了一些关于RabbitMQ的翻译版的教程,觉得有点啰嗦了。所以基于官方
http://www.rabbitmq.com/tutorials/tutorial-one-php.html做一个简单的备注说明,同时也是本人对学习RabbitMQ的一个总结。本人是从事PHP开发的,所以教程中的代码,都是使用PHP来实现,同时丢弃官网使用composer中的AMQPLIB,因为这个AMQPLIB对一些方法进行了封装,不只直观,所以本人使用原生的类、方法进行备注说明,这样更易于理解过程。
AMQP文件中的常量
/**
* Passing in this constant as a flag will forcefully disable all other flags.
* Use this if you want to temporarily disable the amqp.auto_ack ini setting.
* 传递这个参数作为标志将完全禁用其他标志,如果你想临时禁用amqp.auto_ack设置起效
*/
RabbitMQ的原理与操作示例
AMPQ协议为了能够满足各种消息队列需求,在概念上比较复杂。首先,rabbitMQ启动默认是没有任何配置的,需要客户端连接上去,设置交换机等才能工作。不把这些基础概念弄清楚,后面程序设计就容易产生问题。
PHP中的AMQP类
一定要注意php安装AMQP的版本,版本不同使用的方法不一样。在官方网站就有2个版本的AMQP
第一版本:xxx,详细的url找不到了
第二版本:http://docs.php.net/manual/da/book.amqp.php
千万不要出现这种情况,找到一个官方的版本,然后按照example,怎么调试都不通….按照PHP安装 AMQP扩展 安装的AMQP扩展是最新的,现在和PHP官方给出的第二版本,也有一些区别。主要体现在exchange和queue中有个declare的方法,分别更改成declarExchange()和declarQueue().
PHP安装 AMQP扩展
AMQP扩展能够支持rabbitMQ,AMQP是rabbitMQ的协议(Advanced Message Queue Protocol 高级消息队列协议)这个可自行百度。
PHP中类与对象(一)
参考文档:http://php.net/manual/zh/language.oop5.php
1、new的几种方式
$obj = new ClassName(); $obj = new ClassName; $obj = new $obj; $className = 'Foo'; $obj = new $className;
PHP中的错误提示
1、打开/关闭错误提示的方法包括:a、更改php.ini文件 b、使用ini_set设置,详见下表
深入理解DIP、IoC、DI以及IoC容器
php中的数组操作
举例说明,$a、$b、$c 表示一维数组,$aa、$bb、$cc 表示二维数组。