以图明志

PHP服务器脚本

一次对HTTPS页面抓取的报错发现过程

定位错误的思路
今天发现系统后台的某个抓取页面突然失效了,Google了一下,大概意思就是,在主线程里使用同步的ajax请求对用户体验有影响,所以不让用了。先是把async: false注释掉,发现抓取依然是不行。照理这个是警告,不会阻止程序的运行才对的。于是加上$.ajax的error选项,发现jqXHR.status输出 200,就是网络是通的。而jqXHR.responseText返回了一处PHP报错,定位到错误处,发现$array file_get_contents($url); 报错了。

PHP服务器脚本

Codeigniter的一些优秀实践

使用规范总结
最近准备接手改进一个别人用Codeigniter写的项目,虽然之前也有用过CI,但是是完全按着自己的意思写的,没按CI的一些套路。用在公众的项目,最好还是按框架规范来,所以还是总结一下,免得以后别人再接手的时候贻笑大方。首先是 MVC,一条实践准则是把更少的东西放进 Controller ,记住 DRY 准则:不要重复造轮子。当在超过一个地方编写相同的代码时,应该根据它的类型来尝试编写一个 library, helper,或 model。

PHP服务器脚本

PHP转义Json里的特殊字符的函数

常用方法
在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON。数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。如果 PHP 版本 > 5.2,json_encode 自带转义。如果是旧版本的 PHP 则可以用下面的函数。

PHP服务器脚本

了解PHP中Stream(流)的概念与用法

强大好用的流
Stream是PHP开发里最容易被忽视的函数系列(SPL系列,Stream系列,pack函数,封装协议)之一,但其是个很有用也很重要的函数。Stream可以翻译为“流”,在Java里,流是一个很重要的概念。流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。

PHP服务器脚本

PHP CodeBase: 判断用户是否手机访问

分享两个小函数
随着移动设备的普及,网站也会迎来越来越多移动设备的访问。用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面。这里就介绍一下,如何判断用户是否用手机访问。

PHP服务器脚本

PHP CodeBase: 生成N个不重复的随机数

随机数的生成函数
有25幅作品拿去投票,一次投票需要选16幅,单个作品一次投票只能选择一次。前面有个程序员捅了漏子,忘了把投票入库,有200个用户产生的投票序列为空。那么你会如何填补这个漏子?当然向上级反映情况。但是我们这里讨论的是技术,就是需要生成1-25之间的16个不重复的随机数,去填补。

PHP服务器脚本

PHP为什么会被认为是草根语言?

摆脱对MySQL的依赖
从PHP诞生之日起,PHP就开始在Web应用方面为广大的程序员服务。同时,作为针对Web开发量身定制的脚本语言,PHP一直秉承简单、开源的思想,这也使得PHP得以快速的发展,并且大力地推动Web2.0的出现与发展。但是,长期以来,PHPer(PHP Programmers)被认为是处于草根阶层的程序员,被认为是技术含量少,层次低的程序员。这点在国内尤其突出。

PHP服务器脚本

PHP调试利器XDebug的安装与使用

XDebug的简单介绍
在我们平时的php开发中,一个大的项目经过长时间的积累以后你会发现性能越来越慢,而性能到底消耗在了什么地方,常常是一个令人头疼的问题,function a()调用了多少次,function b()又消耗了多少时间,我们到底怎么查找是哪个蛀虫拉慢了我们的程序运行速度呢?在这里给大家介绍一款工具xdebug,相信很多人已经听说过了,希望借助这个工具我们可以起到简单分析php程序性能瓶颈的问题。

PHP服务器脚本

CodeIgniter自带的数据库类使用介绍

笔记一下,方便查阅
在 CodeIgniter 中,使用数据库是非常频繁的事情。你可以使用框架自带的数据库类,就能便捷地进行数据库操作。依据你的数据库配置载入并初始化数据库类:$this->load->database(); 被载入之后你可以在任何地方使用它。CodeIgniter 有一个配置文件让你存放数据库连接值(username:用户名,password:密码,database name:数据库名,等等..)

PHP服务器脚本

PHP ORM框架与简单代码实现

让OOP与关系数据库更融洽
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。

PHP服务器脚本

PHP Predefined Interfaces 预定义接口

6个迭代器接口介绍
SPL提供了6个迭代器接口:Traversable,遍历接口(检测一个类是否可以使用 foreach 进行遍历的接口)。Iterator,迭代器接口(可在内部迭代自己的外部迭代器或类的接口)。IteratorAggregate,聚合式迭代器接口(创建外部迭代器的接口)。

PHP服务器脚本

PHP数据结构预热:PHP的迭代器

迭代器是很重要的设计模式
迭代器有时又称光标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如list或vector)上遍访的接口,设计人员无需关心容器物件的内容。PHP5开始支持了接口, 并且内置了Iterator接口, 所以如果你定义了一个类,并实现了Iterator接口,那么你的这个类对象就是ZEND_ITER_OBJECT,否则就是ZEND_ITER_PLAIN_OBJECT.

PHP服务器脚本

PHP使用SOAP调用.net的WebService问题

处理WebService asmx的经验
项目的需求,需要和一个.net系统进行数据交换,合作方提供了一个WebService接口。这个与一般的PHP POST或GET传值再查库拿数据的思路有点不一样,需要用到SOAP模块,处理方法也很简单,就是有一些需要注意的事情。首先确认你的PHP.ini开启了.SOAP,就是 extension=php_soap.dll 这前面的分号去咯。

PHP服务器脚本

PHP SPL,被遗落的宝石

PHP5内置的标准库
SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。似乎众多的 PHP 开发人员基本没有使用它,甚至闻所未闻。究其原因,可以追述到它那阳春白雪般的说明文档,使你忽略了「它的存在」。

PHP服务器脚本

用PHP迭代器来实现一个斐波纳契数列

关键是重写next()方法
斐波纳契数列通常做法是用递归实现,当然还有其它的方法。这里现学现卖,用PHP的迭代器来实现一个斐波纳契数列,几乎没有什么难度,只是把类里的next()方法重写了一次。注释已经写到代码中,也是相当好理解的。

PHP服务器脚本

看看PHP迭代器的内部执行过程

实现一个自定义的迭代器
下面我们来了解如何实现一个自定义的迭代器,然后再开始慢慢理解迭代器的内部工作原理。一般的迭代器内部需要下面的方法:Return the current element 返回当前元素,Return the key of the current element 返回当前元素的键……如果不是很清楚迭代器的内容工作流程,可以查看下面的迭代器对数组的遍历过程。
1 / 34 首页 < Prev 1 2 3 4 5 Next > 尾页 页码: