本文转自: http://www.phpv.net/html/292.html

综述

Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。

一般来说,在网站上某一个页面中的变量(指服务器端变量,下同)是不能在下一页中用的,有了session就好办了。session中注册的变量可以作为全局变量使用。这样我们就可以将session用于用户身份认证,程序状态记录,页面之间参数传递。
继续阅读

1。用途:
该扩展分析php程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。
Reflection可以说是对php库函数:“Classes/Objects 类/对象函数”的一个扩展。
主要用在通过程序检测现有php程序内部关于类、方法等信息,并做出处理。

2。API概览:

class Reflection { }
interface Reflector { }
class ReflectionException extends Exception { }
class ReflectionFunction implements Reflector { }
class ReflectionParameter implements Reflector { }
class ReflectionMethod extends ReflectionFunction { }
class ReflectionClass implements Reflector { }
class ReflectionObject extends ReflectionClass { }
class ReflectionProperty implements Reflector { }
class ReflectionExtension implements Reflector { }

继续阅读

php函数 class_exists 和 interface_exists, 前者是用来检查类是否存在,后者是用来检查接口是否存在。如果你在写程序,使用自定义的__autoload时,要判断加载的文件是否附合要加载的类或接口的时候可以用到。注意一点的是,class_exists或interface_exists会自动调用__autoload来加载类或接口。如果不想用它自动调用__autoload,在第二个参数中,指定false.

class_exists — 检查类是否已定义

说明

bool class_exists ( string $class_name [, bool $autoload] )
继续阅读

作者:Louis Simoneau
原文链接:http://www.sitepoint.com/blogs/2010/02/09/debug-php-firebug-firephp


如果你和我一样,你会在开发网页项目时候完全无法离开FireBug。这个小巧的”臭虫”是一个神奇而有用的HTML/CSS/JavaScript/Ajax调试器。但是你也许不知道这个还可以用来调试PHP,没错,它可以,感谢一款名为FirePHP的FireFox插件。

通过一个小小的服务端库,和这款在Firebug上的插件,你的PHP脚本能够发送调试信息到浏览器,轻易的通过HTTP相应头编码。一旦你设置,你可以在Fiirebug的控制台获得PHP脚本警告和错误,就感觉像直接调试JavaScript一样
继续阅读

本次记录的是Linux平台下Xdebug的编译安装方法,Windows平台的安装较简单就不赘述了。此处Linux平台以web服务常用OS的Centos6.0为例(其他版本基本一致,其他发行版根据OS的特性流程类似)。

首先下载Xdebug源代码,截至今日最新发布版本为Xdebug_2.2.1。源代码的编译需要使用到gcc、autoconfig、automake和make等工具,所以先确保一下这些工具已经安装。前面提到了Xdebug是以PHP模块的形式加载和被使用,那么我们应该把它安装为PHP的模块,怎么安装为PHP的模块呢,当然是使用phpize了,没有安装phpize的可以扩展php-devel模块。下面我们开始编译(代码中得php-config路径根据PHP环境的实际路径做调整,phpize也是),编译的步骤如下:
继续阅读

get_magic_quotes_gpc会将Get/Post/Cookie中所有的 ‘ (单引号), ” (双引号), \ (反斜线) and 空字符加上反斜杠转义。

get_magic_quotes_runtime设置为on的时候会将数据库中取出来的 ‘ (单引号), ” (双引号), \ (反斜线)这些字符加上反斜杠转义。

get_magic_quotes_gpc并不能通过程序来关闭 ,get_magic_quotes_runtime可以通过程序来关闭,set_magic_quotes_runtime(0)并不就是关闭了魔法引用,Get/Post/Cookie中的数据还是会被转义的(如果gpc开着在的话),设置这个是取数据的时候强制关闭着,防止取出的时候被再次转义。

如果get_magic_quotes_gpc开着就不要在mysql_escape_string 或者mysql_real_escape_string或者addslashes了,防止多次转义,但是对于用户的输入转义是必须要使用的,无论你是addslashes还是mysql_escape_string还是get_magic_quotes_gpc自动处理甚至是使用str_replace或正则替换都行。但一次就够了,
继续阅读

FirePHP功能就是将调试信息输出到http头信息上,不影响页面显示;
这样就特别适用ajax的调试,也适用线上产品不停止运行的调试。

  • firefox下安装firebug
  • 再安装firephp
  • 再把FirePHPCore的php类导入到你的程序中

FirePHPCore的lib包里有四个文件,后缀为php4的明显是适用php4的。
继续阅读

本篇先介绍一下php的MVC实现原理,我们框架的MVC部分也是基于此原理实现的,但是今天的代码并不是框架内的代码,仅仅为说明原理。
一、文件结构

建立3个文件夹
controller文件夹存放控制器文件
view文件夹存放视图文件
model文件夹存放数据文件
建立1个index.php 作为唯一入口
继续阅读