php
逐梦如风
这个作者很懒,什么都没留下…
展开
-
php 在一台机器上通信:数据库或文件,内存。
php作为脚本程序,通常生命周期都很短,如在web应用中,一次请求就是php运行的一个周期,请求结束则生命周期截止。所以php在处理需要共享的资源时,一般会将共享数据保存在数据库或dbm之类的文件中,再者就是利用内存实现共享。你可以选择已有的工具辅助你,像memcache;也可以自己编写代码访问操作系统的共享内存段。php中对共享内存段的操作有两组函数:System V IPC和Share转载 2012-04-11 15:41:13 · 680 阅读 · 0 评论 -
php web框架的组成
最近研究了下php的web框架的yaf和colaphp大致总结下php web框架的组成。基本由7个基本组成:单例入口对象配置的公共管理Router可配置分发信息的存储公共对象的注册和管理Controller, model, view可以注册和使用各种插件原创 2016-10-25 11:04:59 · 1311 阅读 · 0 评论 -
php的网络编程
php的网络编程http协议http协议解析介绍http协议是个请求-应答模式的基于流的协议,下层走的是tcp协议。主要是请求头+请求内容响应头+响应内容的方式抓包工具我使用charlsphp的socket编程类似c的socket编程c的socket编程php常用的curl模块例子get模块function get($url, array $get = array(), array $optio原创 2016-11-09 11:21:24 · 1210 阅读 · 0 评论 -
php设计模式的专栏推荐
本来打算写个php设计模式的专栏,看到这个哥哥的专栏,我觉得完全没有必要自己写个了,很好哦。深入浅出,豁然http://blog.csdn.net/column/details/phpshejimoshi.html转载 2016-11-09 14:49:28 · 393 阅读 · 0 评论 -
yii2的简单安装
yii2的简单安装每到一个公司都有自己的php框架,目前没有和开源完全重合的。 一直想完整的读一个开源的php框架的代码,开源框架太多,最近选取yii作为分析对象通过composer安装yii21 安装composer 我使用的是brew安装的2 composer create-project –prefer-dist –stability=dev yiisoft/yii2-app-advance原创 2016-11-16 18:39:48 · 794 阅读 · 0 评论 -
构建一个简单的php扩展
构建一个简单的php扩展基本步骤1 ./ext_skel --extname=myext2 修改 config.m4文件 去掉这几行前面的dl PHP_ARG_ENABLE(myext, whether to enable myext support, Make sure that the comment is aligned: [ --enab原创 2016-12-09 15:55:14 · 736 阅读 · 0 评论 -
colaphp框架的模块简单说明
cola-php框架的模块简单说明cache模块支持mc redisCola_Ext_Cache_Abstract通过魔术方法支持任意的redis方法调用 public function __call($method, $args) { return call_user_func_array(array($this->conn, $method), $args);原创 2016-12-07 17:39:06 · 1076 阅读 · 0 评论 -
colaphp框架的类分析(三)
cola-php框架的类分析(三)Cola_Controller 分析通过 魔术方法__get方便的获取config, request, response,view对象switch ($key) { case 'view'://模板对象 $this->view(); return $this->view;原创 2016-12-07 17:38:29 · 665 阅读 · 0 评论 -
colaphp框架的类分析(一)
cola-php框架的类分析(一)入口类Cola属性分析$_instance 单例模式,持有cola对象$reg 存储变量和对象$config 配置对象$router 路由对象$pathinfo 存储路由的路径$dispatchInfo 存储需要加载的控制器和方法 构造方法1 注册默认需要的类2 加载自动加载方法//初始化配置类 $this->config =原创 2016-12-07 17:37:16 · 1453 阅读 · 0 评论 -
colaphp框架的类分析(二)
cola-php框架的类分析(二)config类分析config类在入口初始化的时候被初始化,会加载默认的配置config 类implements 了ArrayAccess接口 可以很方便的直接通过数组的形式访问参数__set,__get __isset() 和 __unset() __set方法会调用set方法,分层级的设置配置get是分层级的获取例如Cola::getInsta原创 2016-12-07 17:37:53 · 621 阅读 · 0 评论 -
构建一个资源类型的php扩展(二)
这篇文章连着上一篇文章http://blog.csdn.net/cabing2005/article/details/53540159资源类型变量的使用在zend_minit_function里面注册资源 #define PHP_SAMPLE_DESCRIPTOR_RES_NAME "山寨文件描述符" static int le_sample_descriptor; ZEND_原创 2016-12-13 18:05:49 · 1156 阅读 · 0 评论 -
php smarty模板引擎的使用
php smarty模板引擎的使用使用smarty,却没有做过简单的总结,简单总结下Smarty优点:1. 速度:采用smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。2. 编译型:采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新原创 2016-12-14 16:06:09 · 733 阅读 · 0 评论 -
php-web开发中的缓存
开发中的缓存缓存的作用:减少内存,cpu资源的消耗缓存中需要关注的问题:1 缓存命中率2 缓存的更新策略3 缓存单条数据的最大值4 缓存总量的大小客户端缓存,http协议中使用缓存HTML Meta标签控制缓存 http控制缓存的机制–如果有缓存 http缓存头信息图 1 先读取Etag- —-if-not-match 2 last-Modified——if-原创 2016-12-14 17:03:11 · 1652 阅读 · 0 评论 -
kafka的使用
kafka的优点1 通过O(1)的磁盘数据结构提供消息的持久化, 这种结构对于即使数以TB的消息存储也能够 保持长时间的稳定性能。2 高吞吐量[2]:即使是非常普通的硬件Kafka 也可以支持每秒数百万[2]的消息。3 支持通过Kafka服务器和消费机集群来分区消息。4 支持Hadoop并行数据加载。[3] kafka的关键字Broker Kafka集群包含一个原创 2017-12-05 16:32:31 · 410 阅读 · 0 评论 -
网络安全简单总结
http网络安全每天都会用到http协议,也听说http协议的安全的重要性,却一直很少真的去模拟攻击。纸上谈兵久矣。特意通过一篇博客整理下http可能遇到的安全问题,用脚本语言php去模拟和处理。博文目录1 http为什么会存在安全问题http是没有状态和加密的协议,如果不使用(ssl)https协议,很多信息都是透明的,传输的数据很容易被捕获。容易泄密。2 常见的安全问题分类2.1 转义不安全原创 2016-11-04 18:28:37 · 1971 阅读 · 0 评论 -
php的正则
php的正则我们在这里讨论正则,几乎所有编程语言都有的模块。可能语法有点不一样,求解过程不一样,但是大致的规则是类似的。 我们将要讨论三部分正则的规则基于pcre[正则的基础]常用的正则[正则的应用]php中的正则的使用[正则在php中的使用]正则的语法官方语法规则正则表达式的定义正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串原创 2016-10-11 15:51:57 · 504 阅读 · 0 评论 -
设计模式之单例模式
面向对象的特点是什么 ?抽象,封装,继承,多态。对象间通过消息通信,对象之间呢又有关联和聚集。面向对象开发的原则:单一职能原则,开发封闭原则,替换原则,依赖倒置原则,接口隔离原则最近去面试,和面试官交流,对对设计模式有点新的体会。从一些基本原则的角度去解释设计模式。我觉得单例模式可以从效率的角度去解释,阻止创建多份实例,只保存一份实例。对于性能进行优化。原创 2013-08-23 17:55:23 · 656 阅读 · 0 评论 -
python gearman
这篇是我访问量最大的博文。大家热情这么高。我想做个详细的说明。work.pyimport gearman#连接 gearman 服务端gm_worker = gearman.GearmanWorker(['127.0.0.1:4730'])#定义函数def task_listener_reverse(gearman_worker, gearman_job):转载 2012-03-26 17:10:49 · 1268 阅读 · 0 评论 -
排序算法之插入排序
php 排序算法原创 2013-07-25 12:30:35 · 750 阅读 · 0 评论 -
排序算法之冒泡算法
php的简单算法原创 2013-07-24 11:21:15 · 1042 阅读 · 2 评论 -
php排序算法之选择排序
php 排序算法原创 2013-07-25 12:34:07 · 1023 阅读 · 0 评论 -
php算法之快速排序
php快速排序算法的实现原创 2013-07-25 12:36:57 · 1643 阅读 · 0 评论 -
设计模式之模板模式
定义:创建一个实施一组方法和功能的抽象类,子类通常将这个对象作为模板用于自己的设计。下面是一个简单的模板模式的例子<?php/** * 一个爬虫的父类 * */class Crawler{ public $matche = null; public $dataFetcher = null; public function matche()原创 2013-08-25 16:44:53 · 1011 阅读 · 0 评论 -
设计模式之访问者模式
/* * 在当前对象中使用另一个类的算法; * */class Boy{ public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age;原创 2013-08-25 17:10:26 · 824 阅读 · 0 评论 -
php代码的性能分析
php xhprof的使用原创 2013-08-13 18:13:33 · 1900 阅读 · 0 评论 -
设计模式之策略模式
/** * 某个对象不必自身包含逻辑,而是能够应用其他对象的算法 * */class LogStrategy{ public $message; public $level; public $type; protected $_strategy; public function __construct($原创 2013-08-25 17:37:21 · 816 阅读 · 0 评论 -
设计模式之迭代器模式
php迭代器模式原创 2013-08-29 22:57:48 · 781 阅读 · 0 评论 -
创建一个简单的php扩展
进入源码包cd xxxx/php-5.6.10/ext ./ext_skel --extname=test编辑config.m4文件PHP_ARG_ENABLE(test, whether to enable test support, [ --enable-test Enable test support]) 编辑 php_test原创 2015-12-10 15:12:52 · 549 阅读 · 0 评论 -
清除或者读写多机房缓存
清除或者读写多机房缓存遇到一个问题(多机房,每个机房的缓存在不同的memcache服务器组):1 我们有几个机房,每个机房的mc都不一样,我想提前给接口预热(在用户访问前加上缓存),2 我不想读mc的配置,因为这个接口可能的实现里面本身需要去处理一些逻辑,读写几个memcache,比较繁琐。3 我们前端肯定用到了负载均衡。如果我从后端机器上直接请求接口的话,只会落到某个机房的服务器上去。我们可原创 2016-09-14 10:39:51 · 698 阅读 · 0 评论 -
go的gin框架的性能测试
买了个 vultr 月均 30 元左右-支持支付宝,使用 shadow-socks 几分钟搞定。一共花了 30 分钟。。就是比买别人的贵一点点。不过剩余的部分可以搞个博客,爬虫之类的,很爽啊~ 科学上网,恩,能更好的写代码,更好的解决问题,更好的为了祖国的强大,为了共存主义奉献自己的力量。原创 2017-12-24 11:32:58 · 17535 阅读 · 1 评论