PHP
PHP__廊外诗鸽
这个作者很懒,什么都没留下…
展开
-
安装Thinkphp6时,composer插件报错 Content-Length mismatch解决办法
[Composer\Downloader\TransportException] Content-Length mismatch, received 28935 bytes out of the expected 1871484require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-suggest] [...原创 2019-11-13 23:20:48 · 782 阅读 · 0 评论 -
php---魔术方法(__wakeup和__sleep)
先写一段代码?12345678classmyClass{ public$myContent; functionoutMycontent(){ //dosomething }}转载 2015-08-22 16:21:49 · 424 阅读 · 0 评论 -
php var_export与var_dump的区别
var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值。 for example: $var=arr原创 2015-08-22 21:37:53 · 2981 阅读 · 1 评论 -
php isset()函数
isset函数是检测变量是否设置。 返回值: 1:若变量不存在则返回 FALSE ; 2:若变量存在且其值为NULL,也返回 FALSE ; 3:若变量存在且值不为NULL,则返回 TURE ; 4:如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALS转载 2015-08-23 12:58:25 · 726 阅读 · 0 评论 -
php 函数method_exists()与is_callable()的区别
php函数method_exists() 与is_callable()的区别在哪?在php面相对象设计过程中,往往我们需要在调用某一个方法是否属于某一个类的时候做出判断,常用的方法有 method_exists()和is_callable(),相比之下,is_callable()函数要高级一些,它接受字符串变量形式的方法名作为 第一个参数,如果类方法存在并且可以调用,则返回true。如果要检测类中原创 2015-08-23 13:09:51 · 484 阅读 · 0 评论 -
php中的get_class
get_class 返回对象的类名; for example: class test{ public function project(){ echo "this is a test method"; } } $C=new test(); $t=get_class($C);原创 2015-08-23 15:07:58 · 351 阅读 · 0 评论 -
php get_class_vars函数
get_class_vars :返回由类的默认属性组成的数组 返回由类的默认公有属性组成的关联数组,此数组的元素以 varname => value 的形式存在。 class myclass { var $var1; // 此变量没有默认值…… var $var2 = "xyz"; var $var3 = 10原创 2015-08-23 15:33:03 · 880 阅读 · 1 评论 -
php get_object_vars()函数
get_object_vars :返回由对象属性组成的关联数组 For example: class Point2D{ public $x,$y; public $label; public function __construct($x,$y){ $this->x=$x;原创 2015-08-23 17:15:48 · 7098 阅读 · 0 评论 -
php set_error_handler() 重要用法
set_error_handler这个函数的作用是为了防止错误路径泄露 何为错误路径泄露呢?我们写程序,难免会有问题(是经常会遇到问题 ),而PHP遇到错误时,就会给出出错脚本的位置、行数和原因有很多人说,这并没有什么大不了。确实,在调试程序阶段,这确实是没啥的,而且我认为给出错误路径是必要的。但泄露了实际路径的后果是不堪设想的,对于某些入侵者,这个信息可转载 2015-08-23 18:30:07 · 1486 阅读 · 0 评论 -
解析php中die(),exit(),return的区别
die()停止程序运行,输出内容exit是停止程序运行,不输出内容return是返回值die是遇到错误才停止exit是直接停止,并且不运行后续代码,exit()可以显示内容。return就是纯粹的返回值了,但是也不会运行后续代码exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回转载 2015-08-23 18:40:39 · 374 阅读 · 0 评论 -
PHP 中this,self,parent的区别
{一}PHP中this,self,parent的区别之一this篇 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的。PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比P转载 2015-08-23 19:00:19 · 275 阅读 · 0 评论 -
什么是粗粒度与细粒度,它们的区别又是什么?
爱的原创 2015-08-14 18:42:01 · 31166 阅读 · 1 评论 -
echo print() print_r() var_dump()的区别
常见的输出语句echo()可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。print()函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和转载 2015-08-22 22:39:07 · 1128 阅读 · 0 评论 -
php 魔术方法 __call
__call PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。 For example: class Father{ public function test(){ echo "this is a test function"; }原创 2015-08-22 22:46:59 · 867 阅读 · 0 评论 -
php final关键字
1:PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承; 2:属性不能被定义为 final,只有类和方法才能被定义为 final;原创 2015-08-25 10:34:04 · 390 阅读 · 0 评论 -
PHP static静态局部变量和静态全局变量的特点总结
使用静态局部变量的原因是它不能被外部使用,但是它的值依然在没此使用后保留。虽然使用全局变量可以实现相同的功能,但是它经常会造成意外。 静态局部变量的特点: 1.不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值 2.静态局部变量只会初始化一次 3.静态属性只能被初始化转载 2015-08-25 10:53:40 · 768 阅读 · 0 评论 -
php 对象复制(克隆)clone()
对象克隆可以在对象前面加clone关键字来克隆对象,如下:1destinationObject = clone targetObject;给出了一个详细的对象克隆示例。这个例子使用一个名为Corporate_Drone的示例类,它包含两个成员(employeeid和tiecolor),并有相应的获取方法和设置方法。转载 2015-08-25 11:43:14 · 890 阅读 · 0 评论 -
php array_push()函数在clone()中的应用
for example: 在此我不再对array_push(),clone()两个函数做过多的描述,下面请看我的代码输出结果,通过结果我们再进行比对:One: class MyClass{ private $myArray=array(); function pushSomethingToArray($var){ array_push($this原创 2015-08-25 15:57:54 · 1118 阅读 · 0 评论 -
php clone()中的地址传递(&)
下面这个例子我将展示地址的传递: for example:class A{public $name; public function __construct(){$this->name=&$this->name;}}$a=new A;$a->name="George";$b=clone $a;$b->name="Somebody原创 2015-08-25 14:29:23 · 361 阅读 · 0 评论 -
php array_push()函数
array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。 for example: <?php$a=array("Dog","Cat");array_push($a,"Horse","Bird");print_r($a);?>输出:Array ( [0] => Dog [1] => Cat [2] => Horse [3]转载 2015-08-25 14:37:28 · 597 阅读 · 0 评论 -
php5中的对象比较
对象比较原则: 1:当使用比较运算符(==)比较两个对象变量##时,比较的原则是:如果两个对象的属性和属性值都相等,而且两个对象是同一个类的实例,那么这两个对象变量相等。 2:而如果使用全等运算符(===),这两个对象变量一定要指向某个类的同一个实例(即同一个对象)。 验证实例如下:<?phpfunction bool2str($bool){ if($bool===false转载 2015-08-26 12:47:03 · 399 阅读 · 0 评论 -
php 面向对象之反射
个人对反射定义的理解: 首先得说说什么叫反射。对于一个新手来说,反射这个概念常常给人一种似懂非懂的 感觉,不知道该如何下手操作。 反射是指:指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,同时也包括注释。这种动态获取的信息以及动态调用对象的方法 的功能称为反射API。反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮原创 2015-08-26 14:12:51 · 1771 阅读 · 1 评论 -
while循环数据与foreach循环数组
今天无意中发现了另外一种while对数组的循环方式. while(list(key,key,value) =each($array)) 这种循环方式是老一辈php程序员常用的一种方式,因为那个时候PHP还不支持foreach。 在此我想把while的这种循环方式与foreach进行一次对比。 比较实例如下: $arr=arra原创 2015-08-26 16:56:36 · 2676 阅读 · 0 评论 -
魔术变量 __CLASS__
class test{ private $width; private $height; private $length; public function __construct($L,$W,$H){ $this->length=$L;原创 2015-08-04 16:34:23 · 335 阅读 · 0 评论 -
PHP debug_backtrace() 函数
PHP debug_backtrace() 函数生成一个 backtrace 该函数返回一个关联数组。下面是可能返回的元素 function 字符串 当前的函数名 line 整数 当前的行号 file 字符串 当前的文件名 object 对象 当前对象 type 字符串 当前的调用类型,可能的调用: 返回: “->” - 方法调用返原创 2015-08-27 17:13:47 · 643 阅读 · 0 评论 -
PHP 类中的静态变量的继承
在此我首先运行一段小程序,先不去直接讲出静态变量的继承在PHP中语法规则,for example: class Base{ public $a; public static $b; } class Derived extends Base{ public function __construct(){原创 2015-08-13 12:00:26 · 3669 阅读 · 0 评论 -
php 中关于静态的继承
子类可以继承父类的静态方法!但是不能覆盖。因为静态方法是在编译时确定了,不能多态,也就是不能运行时绑定; 如若成员属性为static则子类和父类公用(如果子类重新声明了则不算公用),改变一个则子类父类都改变; class a{public final function v($vs = null){static $s = "find";翻译 2015-08-12 23:06:05 · 664 阅读 · 0 评论 -
php中static静态类与static 静态变量用法区别
static 是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本文章的相关实例后就见分晓了。1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态转载 2015-08-13 11:10:58 · 1027 阅读 · 0 评论 -
PHP trigger_error() 函数
trigger_errror 定义如下: trigger_error() 函数创建用户定义的错误消息。 trigger_error() 用于在用户指定的条件下触发一个错误消息。它与内建的错误处理器一同使用,也可以与由 set_error_handler() 函数创建的用户自定义函数使用。 如果指定了一个不合法的错误类型,该函数返回 false,否则返回 true。实例如下: fu原创 2015-08-28 11:45:15 · 521 阅读 · 0 评论 -
php中抽象类和抽象方法的特点
特点: 1:定义为抽象的类,不能被实例化; 2:任何类,如果它里面至少有一个方法被申明为抽象; 3:被定义为抽象的方法,只有方法体(包括参数),没有具体的实现过程; 4:当一个子类继承抽象的父类时,子类必须实现父类中所有的抽象方法,另外这个抽象方法的访问控制必须和父类一样,(或者更为宽松); For example:原创 2015-08-13 18:30:47 · 2376 阅读 · 0 评论 -
PHP set_error_handler() 函数与 trigger_error() 函数的配合使用
两个函数的定义如下: set_error_handler() 函数设置用户自定义的错误处理函数(注:是用户自定义的函数) trigger_error() 函数创建用户定义的错误消息。(注:自定义的错误消息)案例如下:<?phpfunction customError($errno, $errstr, $errfile,$errline){ return "<b>Custom E原创 2015-08-29 15:16:28 · 1140 阅读 · 0 评论 -
新浪微博图片
新浪微博图片原创 2015-08-30 18:56:55 · 523 阅读 · 0 评论 -
php 对象接口
对象接口特点: 1:使用接口,可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容; 2:接口是通过 interface关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的; 3:接口中定义的方法必须是共有的(public),这是接口的特性; 4:要实现一个接口,使用Impl原创 2015-08-14 16:14:46 · 610 阅读 · 0 评论 -
php 类中数组与静态方法的配合使用
在此我不讲理论,用实例说话。class Test{ public $arr=array('class'=>'Test'); public static function method(){ echo "this is a static method"; }}$T=new Test();$varchar=$T->arr['class'];var_dump($var原创 2015-08-31 18:12:24 · 900 阅读 · 0 评论 -
PHP eval()函数
eval() 函数把字符串按照 PHP 代码来计算。 该字符串必须是合法的 PHP 代码,且必须以分号结尾。 如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。For Example: class Pass{ private $var1; private $var2;原创 2015-08-31 21:49:41 · 505 阅读 · 0 评论 -
PHP 后期静态绑定之self::限制
在此我想讲一讲后期静态绑,我想讲self::与static进行比较说明。 官方文档上是这样定义的: 后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为”静态绑定”,因为它可以用于(但不限于)静态方法的调用。 在此我想用官方文档上的一个例子来说明self::限制:self:原创 2015-08-31 14:20:02 · 840 阅读 · 0 评论 -
php 静态绑定中的static::与修饰符private,public,protected之间的关系
对于静态绑定中的static::在此不多做解释,我想用实例来证明,这个例子是来自官方文档:For example one:class A{ private function foo(){ echo "this is a test function"."<br>"; } public function test(){ $this->foo();原创 2015-08-31 15:05:46 · 887 阅读 · 0 评论 -
php json_decode函数
json_decode — 对 JSON 格式的字符串进行编码 mixed json_decode ( string json[,booljson [, bool assoc ] ) 返回一个对象,如果assoc参数选项为true,将会返回一个关联数组。 $json = '{"a":1,"b":2,"c":3,"d":4,"e":5转载 2015-09-02 22:50:55 · 654 阅读 · 0 评论 -
PHP date_default_timezone_set()函数之中国时区设定
date_default_timezone_set() 函数设置用在脚本中所有日期/时间函数的默认时区。中国时区设定:将中国时区设为一下四个都没问题:date_default_timezone_set("Asia/Shanghai");date_default_timezone_set("Asia/Chongqing");date_Default_timezone_set("Asia/Harb原创 2015-09-03 01:36:02 · 1822 阅读 · 0 评论 -
php 相对路径中 ./ 与../的区别
./与../的区别 下面我用实例来说明以上二者的区别: 如图一: 1:首先我将以下程序写进如上图根目录下test的index.php文件中。 class Foo{ private $var; public function __construct(){ $this->var="HELLOWORLD"; } public fu原创 2015-09-08 19:07:57 · 822 阅读 · 0 评论