随笔分类 -  PHP

延迟静态绑定
摘要:延迟静态绑定 PHP的继承模型中有个存在已久的问题,那就是在父类中引用扩展类的最终状态比较困难. 上例中,render()方法中使用了self关键字,这是指ParentBase类而不是指Descendant类.在ParentBase::render()方法中没法访问$property的最终值.为了解 阅读全文
posted @ 2016-10-16 02:06 gimin 阅读(528) 评论(0) 推荐(0)
单例模式和工厂模式
摘要:职责和单例模式 单例模式被认为是职责模式,这是因为它将创建对象的控制权委托到一个单一的访问点上.在任何时候,应用程序中都只有这个类仅有的一个实例存在. 所有的单例类至少拥有以下三种公共元素: 1.它们必须拥有一个构造函数,并且必须被标记为private. 2.它们拥有一个保存类的实例的静态成员变量. 阅读全文
posted @ 2016-10-12 23:59 gimin 阅读(3922) 评论(0) 推荐(0)
静态变量、成员和方法
摘要:静态变量 静态变量是只存在于函数作用域的变量,不过,在函数执行完成以后,这种变量的值不会丢失,也就是说,在下一次调用这个函数时,变量仍然会记得原来的值. 要将某个变量定义为静态的,只需要在变量前面加上static关键字即可. 值得注意的是,变量的初始默认值为1,而这一赋值操作只会在变量第一次被初始化 阅读全文
posted @ 2016-10-11 23:36 gimin 阅读(542) 评论(0) 推荐(0)
抽象类,接口,instanceof 操作符
摘要:抽象类 定义一个公共的基类(base class),而将特定的细节留给继承者来实现. 由于抽象类没有为它所声明的所有方法都定义实现,所以使用new操作符是不可以直接创建它的实例的.要创建实例,就必须创建另一个扩展抽象类的类,并重写所有之前声明的抽象方法原型.通过扩展类,我们就可以创建特殊的对象,而且 阅读全文
posted @ 2016-10-09 23:42 gimin 阅读(343) 评论(0) 推荐(0)
PHP 数组Array
摘要:直接赋值声明数组 1.一个数组中存的是多个内容,数组中的内容叫做"元素" 2.每个元素都是由键和值组成的 key/value,key下标value对应的值 3.通过key使用值 下标有两种类型:一种是整数(索引数组),一种是字符串(关联数组) 4.[]来操作下标,也可以使用{}进行互换,建议用[]来 阅读全文
posted @ 2016-09-19 22:17 gimin 阅读(474) 评论(0) 推荐(0)
PHP设置session详解(过期,失效,有效期)
摘要:在php中设置session有很多方面给session设置值或直接设置过期,失效和有效期,下面来给大家给各位朋友介绍怎么使用。 我们先来看看在php.ini中session怎么设置,打开 php.ini,查找Session设置部分中以下一项,代码如下: 这项设置提供给我们可以给session存放目录 阅读全文
posted @ 2015-06-28 20:27 gimin 阅读(2632) 评论(0) 推荐(0)
PHP 运行方式
摘要:SAPI:Server Application Programming Interface 服务器端应用编程端口。它就是PHP与其它应用交互的接口,PHP脚本要执行有很多种方式,通过Web服务器,或者直接在命令行下,也可以嵌入在其他程序中。SAPI提供了一个和外部通信的接口,常见的SAPI有:cgi 阅读全文
posted @ 2015-06-14 11:08 gimin 阅读(147) 评论(0) 推荐(0)
session与cookie的区别
摘要:Session cookie 的区别: 数据保存位置不同 生存周期 安全性 请求时 携带的数据量不同 1、cookie数据存放在客户的浏览器上,不能看到session,session数据放在服务器上,能看到cookie。2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cooki 阅读全文
posted @ 2015-06-13 15:54 gimin 阅读(422) 评论(0) 推荐(0)
PHP防sql注入
摘要:1.首先将magic_quotes_gpc设置为On,display_errors设置为Off.2.项目正式上线后,调用 mysql_query 等 mysql 函数时,前面应该加上 @,即 @mysql_query(...) ,这样 mysql 错误不会被输出。同理以免让攻击者分析出有用的信息。3 阅读全文
posted @ 2015-06-13 15:45 gimin 阅读(354) 评论(0) 推荐(0)