PHP
郭三亿
全面布局
展开
-
PHP设计模式之——单例模式
首先我们看一个这样的应用场景:我们打开jd.com京东商城的官网首页,我们看到很多商城里的数据。我们知道页面的数据来源于数据库(亦或是缓存),从页面而看,数据分成了不同的模块,如下图。那么问题来了,不同模块的数据,是怎么通过一个请求资源来请求的呢?换句话说,如果每一个sql都要执行一次数据库连接,这将会是很多次连接,那么是怎么做到一个请求使用一个连接来处理的呢?有几种处理方式,原创 2016-03-28 12:17:19 · 523 阅读 · 0 评论 -
Mac下使用brew搭建PHP7+nginx+mysql开发环境
由于新换了个macbook,原来的mac上的环境搭建也已经很久没搭建过了,于是重新整理一下搭建过程。Mac下自带了php,但是最近想新尝试一下php7的相关特性,于是就重新搭建个php吧。mac下有个很棒的第三方包的管理程序——homebrew,建议大家在mac下搭建环境的时候使用这个来做。闲话不多说,直接开干。HomeBrewbrew的安装,直接上官网:http://brew原创 2016-08-17 14:42:22 · 9402 阅读 · 0 评论 -
PHP设计模式之——策略模式
策略模式(Strategy Pattern)是对象的行为模式,是对一组算法的抽象封装,动态的选择算法使用。在我们的日常生活中,策略模式体现在方方面面:早上起床我去公司,可以坐公交,可以坐出租车,也可以步行,最终的目的都是到达公司,但是却使用了不同的资源。策略模式的三个角色:抽象策略角色具体策略角色环境角色(对抽象策略角色的引用)策略模式的实现步骤:定义抽象角色(原创 2016-07-18 11:09:01 · 640 阅读 · 0 评论 -
PHP内核——变量的容器Zval
本文转载自(http://blog.csdn.net/ohmygirl/article/details/41542445)作为数据的容器,我们常常需要跟变量打交道,不管这个变量是数字、数组、字符串、对象还是其他,因而可以说变量是构成语言的不可或缺的基础。本文是PHP内核探索之变量的第一篇,主要介绍zval的基本知识,包括如下几个方面的内容:Zval的基本结构查看zval的方法:de转载 2016-07-15 10:59:47 · 648 阅读 · 0 评论 -
PHP设计模式之——工厂模式
在开发大型系统过程中,往往会出现这样一种情况:我有一部分基础数据,是类classA是从数据库A读取出来的,其他很多的功能都是基于这个基础数据来操作的。现在呢,我想把数据从数据库A变成从另外的数据源去获取,这时候,要修改起来就比较麻烦,要修改其他很多类的代码。这种设计显然是不够灵活的,换句话说,就是紧耦合的,系统中某个部分的函数或类严重依赖于系统的其他部分中的函数或类的行为和结构。工厂模式,原创 2016-04-18 17:11:08 · 10966 阅读 · 0 评论 -
PHP数据结构之——链表
链表是一种在逻辑上连续、有序的数据存储结构(在物理存储单元上非连续非有序)。在我大学的时候,学习C++的数据结构课程时,最先接触的就是链表(大学是学渣别喷...)那么链表是怎样的一种结构呢?用“形象的”文字来描述就是:node_1->node_2->node_3->node_4->...->node_n , 每一个node包含一些存储的数据引用百度百科的图片:链表就是这原创 2016-03-28 17:11:59 · 4239 阅读 · 0 评论 -
使用PHP创建SOCKET服务
最近好奇,接触接触PHP的socket编程,发现还是很好玩儿的。下面贴出来demo源码跟大家分享Server.php<?php/** * PHP Socket Server * *///确保客户端连接时不会超时error_reporting(0);原创 2016-03-24 17:59:37 · 6918 阅读 · 1 评论 -
PHP 自动载入
当一个项目需要根据不同的请求载入不同的类的时候,之前的做法是require不同的文件进来,但是如果数量巨大就没办法一个语句一个语句去写,而且如果有不小心误删的文件,就会导致PHP FATAL ERROR。在php5.2之后,我们使用__autoload()方法来自动加载类,但是这个方式后来也不好。比如在一个项目中我引入了三个框架,每个框架都有一个autoload,这样的话会报一个函数名重复的错误。原创 2016-03-27 23:39:19 · 483 阅读 · 0 评论 -
php解决约瑟夫问题
“约瑟夫环”是一个数学的应用问题:一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把它踢出去…,如此不停的进行下去, 直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。下面列出了三种用PHP来解决此问题的方法:按逻辑依次去除递归算法线性表应用转载 2016-03-25 18:10:40 · 766 阅读 · 0 评论 -
CentOS7.4 编译安装php7
记录一下编译安装PHP7的过程,希望大家能够用得上。另外,推荐大家多多使用编译安装,不要排斥,编译安装有很多好处。第一步,准备工作新申请的机器是CensOS 7.4的系统,可以直接用yum安装工具包yum -y groupinstall "Development tools"yum -y install gcc gcc-c++ autoconf automake libto原创 2017-11-02 15:59:55 · 640 阅读 · 0 评论