
PHP
文章平均质量分 65
姜彤
码农,PHP高级开发工程师, 自己的php技术交流,欢迎大家加入一起交流 126111332
展开
-
ThinkPHP的分组配置
最近打算学习TP,可是遇到的困难一个接一个,始终坚信:来一个解决一个,解决一个少一个。分组这个问题纠结一天了,现在总算解决了,网上关于分组没有系统的教程,我的理解能力差的原因,只看手册,分组这一块始终搞不懂是怎么回事,整了一天总算弄出来了,想实现的功能是在一个项目中实现前台后台功能,期间各种错误就不说了,配置问题对于大家来说可能是小儿科,不过为了纪念这一天,我仍然要把分组配置给记下来。实现功能原创 2012-04-17 22:31:15 · 9353 阅读 · 2 评论 -
php解析http获取的json字符串变量总是空白null
这篇文章主要介绍了php解析http获取的json字符串变量总是空白null的解决方法,个人经验的总结,这里推荐给大家。今天同事项目中遇到一个问题,通过http接口获取的json字符串使用json_decode始终无法正确解析,返回空白。直接把结果字符串复制出来手动创建一个变量却正常,在前端js也能解析,搞了半天不得其解,借助强大的谷歌解决了问题,答案是接口吐出的结果包含有BO原创 2015-09-08 15:09:09 · 2233 阅读 · 0 评论 -
PECL轻松安装PHP扩展
搭建PHP环境的时候,我们通常不会把所有的扩展都安装,随着需求不断增加,可能需要安装新的扩展,下面介绍一种简便的安装方法。此处以ev.so扩展为例。1.进入php安装目录bin文件夹。cd /Applications/XAMPP/bin; 2.首先我们先查找下有没有安装的扩展 ./pecl serarch ev原创 2015-08-18 19:56:25 · 21225 阅读 · 1 评论 -
PHP实现一致性hash
随着memcache、redis以及其它一些内存K/V数据库的流行,一致性哈希也越来越被开发者所了解。因为这些内存K/V数据库大多不提供分布式支持(本文以redis为例),所以如果要提供多台redis server来提供服务的话,就需要解决如何将数据分散到redis server,并且在增减redis server时如何最大化的不令数据重新分布,这将是本文讨论的范畴。 取模算法 取...原创 2015-10-23 14:27:57 · 12702 阅读 · 0 评论 -
PHP-FPM子进程数量应该如何设置?
首先,我们关注下 PHP-FPM 的运行方式:static :表示在 `php-fpm` 运行时直接 `fork` 出 `pm.max_chindren` 个子进程,dynamic:表示,运行时 `fork` 出 `start_servers` 个进程,随着负载的情况,动态的调整,最多不超过 `max_children` 个进程。一般推荐用 static。优点是不用动原创 2016-03-27 17:11:13 · 6235 阅读 · 0 评论 -
PHP为什么慢?
PHP为什么慢?PHP的慢是相对于C/C++级别的语言来说,事实上,PHP语言最初的设计,就不是用来解决计算密集型的应用场景。我们可以这样粗略理解为,PHP为了提升开发效率,而牺牲了执行效率。我们知道PHP一个很大的特点,就是弱类型特性,也就是说,我可以随意定义一个变量,然后给它随意赋值为各种类型的数据。以一个int整型数字为例子,在C语言中:int num = 200;/原创 2016-03-27 17:29:09 · 2605 阅读 · 3 评论 -
PHP PSR-1 基本代码规范(中文版)
本篇规范制定了代码基本元素的相关标准,以确保共享的PHP代码间具有较高程度的技术互通性。关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、“将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT")、“推荐”("RECOMMENDED")、“可转载 2016-04-11 16:41:40 · 980 阅读 · 0 评论 -
PHP PSR-2 代码风格规范 (中文版)
代码风格规范本篇规范是 PSR-1 基本代码规范的继承与扩展。本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。当多名程序员在多个项目中合作时,就需要一个共同的编码规范,而本文中的风格规范源自于多个不同项目代码风格的共同特性,因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。关键词 “必须转载 2016-04-11 16:43:15 · 870 阅读 · 0 评论 -
PHP PSR-3 日志接口规范 (中文版)
日志接口规范本文制定了日志类库的通用接口规范。本规范的主要目的,是为了让日志类库以简单通用的方式,通过接收一个 Psr\Log\LoggerInterface 对象,来记录日志信息。框架以及CMS内容管理系统如有需要,可以对此接口进行扩展,但需遵循本规范,这才能保证在使用第三方的类库文件时,日志接口仍能正常对接。关键词 “必须”("MUST")、“一定不可/一定不能转载 2016-04-11 16:44:56 · 2010 阅读 · 0 评论 -
PHP PSR-4 Autoloader 自动加载(中文版)
Autoloader关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、“将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT")、“推荐”("RECOMMENDED")、“可以”("MAY")和”可选“("OPTIONAL")的详细描述可参见 [转载 2016-04-11 16:47:24 · 956 阅读 · 0 评论 -
PHP实现四种基本排序算法
[导读] 许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法还是应该掌握的,它是程序开发的必备工具。这里介绍冒泡排序,插入排序,选择排序,快速排序四种基本算法,分析一下算法的思路。许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法还转载 2016-05-16 13:39:58 · 611 阅读 · 0 评论 -
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
以下是对PHP生成验证码时“图像因其本身有错无法显示”的解决方法进行了详细的分析介绍,需要的朋友可以过来参考下今天使用代码进行PHP生成校验码功能的实现,发现firefox一直提示“图像.......因其本身有错无法显示”的问题,作者也提示了说“如果浏览器显示“图像XXX因其本身有错无法显示”,可尽量去掉文中空格”,但把代码中所有空格都去掉了还是不能显示检验图片。于是深度googl原创 2015-08-30 22:12:03 · 762 阅读 · 0 评论 -
PHP超时处理全面总结
【 概述 】 在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景: 1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现 2. 为了保证Web服务器不会因为当个页面处理性能差而导致无法访问其他页面,则会对某些页面操作设置 3. 对于某些上传或者不确定处理时间的场合,则需要对整个流程中所有超时设置为无限,否则转载 2015-08-12 13:21:00 · 1704 阅读 · 0 评论 -
Nginx+PHP+Swfupload 上传大文件
环境:LNMP,上传插件Swfupload, 当需要上传大文件的时候,我们需要做一些设置,因为Nginx php,swfupload的默认上传大小都比较小。下面按照访问顺序设置大小1.Swfupload 配置, 修改 file_size_limit : "100 MB", //允许上传文件大小 file_types : "*.*", // 上传文件类型 file_types_d原创 2015-07-29 16:26:28 · 1576 阅读 · 0 评论 -
PHP通用的分页组件(分页加绑定数据)
最近整理了一下项目中用到的一些分页组件,将其封装起来(可以说1.0版本),希望大侠们多提提意见,来,先看一下运行效果样式可能不是太美观,不过我已将样式与功能分离,这样大家就可以根据自己的需要的风格定义样式了,先说下我这个组件的优点:1.将分页与数据绑定合在一个文件输出2.灵活性高:不局限于某一个表,我们可以通过传表名来获取不同的结果,表内字段名完全自动识别3.可以按照条原创 2012-03-11 21:14:10 · 4949 阅读 · 1 评论 -
PHP数据类型总结
PHP共有8中数据类型: 类型名称 类型表示 取值 bool 布尔型 true,false integer 整型-2147483647-2147483648 string 字符串型 字符串长度取决于机器内存 float 浮点型 最大值1.8e308 object 对象通原创 2012-05-02 16:48:41 · 7371 阅读 · 4 评论 -
PHP常用魔术方法总结
常用的魔术方法有:__Tostring () __Call() __autoLoad() __ clone() __GET() __SET() __isset() __unset() 1.__Tostring() 用于定义输出对象引用时调用 常用于打印一些对象的信息必须有返回值eg:有一个persion类Persion per =new pers原创 2012-05-02 17:29:50 · 5049 阅读 · 1 评论 -
PHP中的面向对象总结
抽象方法:没有方法体,和{}且被abstract修饰的方法抽象类:至少包含一个抽象方法的类抽象类的用途:用于定义一种规范,继承该类必须将该抽象类中的抽象法方全部都实现 接口中只能能包含方法的定义接口只能包含常量继承接口必须将接口中的方法全部实现,也用于一种规范 接口和抽象类的区别Abstractclass class1{可以包含成员属性可以包含原创 2012-05-04 17:22:51 · 1384 阅读 · 0 评论 -
PHP对象的串行化与反串行化
什么时候使用串行化?在网络中传输对象的时候向数据库中保存文件的时候 今天我们要提到四个函数全部串行化1.serialize(对象名) 将指定的类对象串行化 $str=serialize($per) //将per对象串行化,结果返回给$str2.unserialize(串行化后的返回值) 返回结果是对象 $per=unserialize($str);局部原创 2012-05-04 17:24:16 · 6240 阅读 · 0 评论 -
PHP环境(apache,PHP,Mysql)详细配置方法
安装前的准备:下载PHP,apache,mysql安装包,可以到相关官网上下载,下面是安装步骤1.安装Apache ,直接运行安装即可,我们将其安装到D:/PHP/Apache/ 目录下2.将PHP压缩包解压内容放到指定PHP目录(自己指定这里是D:/PHP/,并重命名为PHP5,将PHP5目录中的PHP.iniDevelopment重命名为php.ini)3.修改Apache原创 2012-05-04 08:19:54 · 60924 阅读 · 5 评论 -
构建高性能的web站点学习笔记四------浏览器缓存
1.为什么使用浏览器缓存 以前了解的动态脚本加速,或者动态内容缓存之类,他们的原理都是避免服务器重复计算,结果仍保留在服务器端,这样获取数据还得从服务器检索然后传送到用户浏览器,如果我们把这些结果放在浏览器中,就省去了服务器的查找和网络传输,浏览器缓存很好的实现了这个功能2.浏览器缓存存放在哪浏览器一般会在用户主机中创建一个目录,用来保存缓存文件,有的浏览器会将部分缓存放在内存中原创 2012-04-17 17:34:02 · 2372 阅读 · 0 评论 -
PHP Smarty环境配置
Smaty优点:1.代码分离 2.缓存技术使用步骤:1.下载Smaty模板2.将模板中那个lib文件夹复制到项目中(一般为根目录,并且重命名在此命名为Smarty),3.配置PHP1.新建一个Smarty_inc.php文件2.输入Include_once("Smarty/Smarty.class.php");//包含Smarty类$smarty=new Sma原创 2012-05-04 17:21:25 · 4805 阅读 · 0 评论 -
Linux 下安装phpredis
phpredis 是 php 的redis 扩展,只有安装了phpredis, php代码才可以操作redis数据库。下面只介绍安装phpredis 的方法。1.下载phpredis ,直接从官方git 下载到本地目录(~/soft/)git clone https://github.com/jiangtong1125/phpredis.git (没有安装git,也可以打包下载下来)原创 2015-07-29 16:27:04 · 1146 阅读 · 0 评论 -
PHP之Traits
1、Traits基础 2、优先级:当前类中的方法会覆盖 Trait 方法,而Trait方法覆盖了基类中的方法。 3、多个Traits,使用use声明列出多个Traits。 4、冲突的解决:为了解决两个 Traits 在同一个类中的命名冲突,需要使用 insteadof 操作符来明确指定冲突方法中的一个。由于这仅允许排除一个方法,as 操作符可转载 2015-08-11 14:39:15 · 882 阅读 · 0 评论 -
composer 报 zlib_decode(): data error
使用composer 安装lumen 项目,执行composer create-project laravel/lumen --prefer-dist,命令报 [ErrorException] zlib_decode(): data error 错。 解决办法:执行 composer self-update 即可原创 2015-07-29 16:30:13 · 39227 阅读 · 2 评论