-
PHP register_globals 值为on与off的理解说明
本文为大家讲解的是PHP register_globals 值为on与off的理解说明,感兴趣的同学参考下. 从 PHP4.2.0版本开始,php.ini中的设置选项 register_globals 默认值变成了 off。所以,最好从现在就开始用Off的风格开始编程 register_globals的值可以设置为:On或者Off,我们举一段代码来分别描述它们的不同...
PHP 2014-12-24 20:42:04 -
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
本文为大家讲解的是PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态),感兴趣的同学参考下. 面象对向的三大特点:封装性、继承性、多态性 首先简单理解一下抽象: 我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和行为提取出来,形成一个物理模型(模版),这种研究问题的方法称为抽象 一、封装性 封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作。 php提供了三种访问控制修饰符 public 表示全局,本类内部,类外部,子类都可以访问 protected 表示受保护的,只有本类或子类可以访问 private 表示私有的,只有本类内部可以访问 以上三种修饰符既可以修饰方法也可以修饰属性(变量),方法如果没有访问修饰符则默认是public,成员属性必须指定访问修饰符,在PHP4中也有这种写法 var $name,表示公开属性,不推荐这种写法 例: <?php class Person{ public $name; protected $age; ...
PHP 2014-12-20 12:57:13 -
深入理解PHP之数组(遍历顺序)
本文为大家讲解的是深入理解PHP之数组(遍历顺序) ,感兴趣的同学参考下. 经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢? 比如: <?php $arr['laruence'] = 'huixinchen'; $arr['yahoo'] = 2007; $arr['baidu'] = 2008; foreach ($arr as $key => $val) { //结果是什么? } 又比如: <?php $arr[2] = 'huixinchen'; $arr[1] = 2007; $arr[0] = 2008; foreach ($arr as $key => $val) { //现在结果又是什么? } 要完全了解清楚这个问题, 我想首先应该要大家了解PHP数组的内部实现结构……… PHP的数组 在PHP中...
PHP 2014-12-19 09:48:08 -
深入理解PHP原理之Session Gc的一个小概率Notice
PHP Notice: session_start(): ps_files_cleanup_dir 如果在ubuntu/Debian下, 采用apt安装的PHP, 那么在使用Session的时候, 就可能会有小概率遇到这个提示. PHP Notice: session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13) in /home/laruence/www/htdocs/index...
PHP 2014-12-16 08:54:05 -
PHP 数组遍历顺序理解
经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢? 比如: <?php $arr['laruence'] = 'huixinchen'; $arr['yahoo'] = 2007; $arr['baidu'] = 2008; foreach ($arr as $key => $val) { //结果是什么? } 又比如: <?php $arr[2] = 'huixinchen'; $arr[1] = 2007; $arr[0] = 2008; foreach ($arr as $key => $val) { //现在结果又是什么? } 要完全了解清楚这个问题, 我想首先应该要大家了解PHP数组的内部实现结构……… PHP的数组 在PHP...
PHP 2014-12-10 09:48:12 -
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
本文为大家讲解的是Apache环境下PHP利用HTTP缓存协议原理解析及应用分析,感兴趣的同学参考下 http协议里控制浏览器缓存的头有三个Cache-Control,Expires,Last-Modified 对于静态页面还有Etag。 一、先来看第一种情况:apache 静态页面 apache发送给客户端的静态页面一般包含Last-Modified和Etag,这两个标签的值来自静态文件的修改时间和inode...
PHP 2014-12-09 08:18:03 -
php中理解print EOT分界符和echo EOT的用法区别小结
本文为大家讲解了php的中eot 用法,感兴趣的同学参考下。 这样可以输出大段的HTML 而且不用把里面的引号转义 就是不用 " 这样自动替换里面的变量...
PHP 2014-12-09 05:45:04 -
深入理解PHP原理之异常机制
本文为大家讲解的是PHP中的异常处理机制分析说明,感兴趣的同学参考下。 PHP的异常机制的原理是什么? 在PHP每一个可独立执行的op array最后的ZEND_HANDLE_EXCEPTION是用来干什么呢? 让我们从一个问题说起, 上周的时候, blue5tar提了一个问题:”对于下面的代码, onError明明执行了, 但是onException却没有执行, 为什么?”. <?php function onError($errCode, $errMesg, $errFile, $errLine) { echo "Error Occurredn"; throw new Exception($errMesg); } function onException($e) { echo $e->getMessage(); } set_error_handler("onError"); set_exception_handler("onException")...
PHP 2014-12-07 12:09:26 -
深入理解PHP原理之错误抑制与内嵌HTML分析
本文为大家讲解的是深入理解PHP原理之错误抑制与内嵌HTML分析,感兴趣的同学下。 PHP支持内嵌HTML的, 那么对于PHP文件中, PHP标签外的HTML会怎么处理呢? 它和直接输出HTML有什么区别么? PHP提供了一个错误抑制符'@', 它是通过什么方式来阻止错误输出呢? 我又该在什么时候使用它呢? 这是这俩天一些网友提到的共同问题, 今天就索性整体回答下, 备后来人翻阅. PHP文件内嵌HTML的处理方式 在PHP中, 所有在标签外的字符, 在词法分析过程中, 都会翻译成T_INLINE_HTML token, 在语法分析的时候, 所有的T_INLIE_HTML都会被分配ZEND_ECHO输出. 也就是说: <?php while($con) { ?> laruence <?php } ?> 会生成一条OPLINE: T_ECHO, 而操作数是”laruence”; 就结果来说, 上面的代码, 其实和下面的结果一样: <?php while($c...
PHP 2014-12-07 04:33:03 -
深入理解PHP之require/include顺序
本文为大家讲解的是php中的require/include顺序说明,感兴趣的同学参考下。 在大型的Web项目中, include_path是一个模块化设计的根本中的根本(当然,现在也有很多基于autoload的设计, 这个不影响本文的探讨), 但是正是因为include_path, 经常会让我们遇到一些因为没有找到正确的文件而导致的看似”诡异”的问题. 也就有了如下的疑问: include_path是怎么起作用的? 如果有多个include_path顺序是怎么样的? 什么情况下include_path不起作用? 今天, 我就全面的介绍下这个问题, 先从一个例子开始吧. 如下的目录结构: root ├ 1.php ├ 3.php └ subdir &nbs...
PHP 2014-12-07 01:27:04 -
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
本文为大家讲解的是PHP5.3的垃圾回收机制(动态存储分配方案)深入理解,感兴趣的同学参考下。 垃圾回收机制是一种动态存储分配方案,它会自动释放程序不再需要的已分配的内存块,PHP也在语言层实现了内存的动态管理.内存的动态管理将开发人员从繁琐的内存管理中解救出来 垃圾回收机制是一种动态存储分配方案...
PHP 2014-12-06 04:21:04 -
如何理解和管理Linux 上的MRTG监控中心
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载...
系统程序 2014-12-02 01:04:52