教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php中self与$this的区别

php中self与$this的区别

发布时间:2016-11-22   编辑:jiaochengji.com
本文介绍下,php中有关self与$this在用法上的不同,有需要的朋友参考下。

学习php中self与$this的区别。

先来看下parent与self的例子:

<?php
/*
 * parent与self的区别
 * by www.jbxue.com
 */
 class A{
  function __construct(){
   echo "基类A的构造方法<br />";
  }
 }
 class B extends A{
  function __construct(){
   parent::__construct();
   echo "子类B的构造方法<br />";
   self::myFun();
  }
  function myfun(){
   echo "一个普通方法myFun()<br />";
  }
 }

$obj=new A();
$obj=new B();
?>

说明:
self与$this的功能极其相似,但二者又不相同。
注意:
$this不能引用静态成员和常量。
self更像类本身,而$this更像是实例本身。

变量$PHP_SELF是php的内置变量,是PHP中一个很方便的指针,其变量值就是当前页面的URL地址。

【语法】$php_self?变量1=值&变量2=值&变量3=值
使用$PHP_SELF变量而不使用页面的实际地址,是因为通过使用$PHP_SELF变量,可以方便对编写的页面代码进行修改和移动,而不必担心在每次改动之后重新输入新的页面地址。

另外,在使用$PHP_SELF变量时,可以采用如下方式:
global $PHP_SELF;
$PHP_SELF变量为全局变量。

注意:
PHP中任何的函数变量都是局部变量。
这就意味着任何函数变量的作用 域都只局限于包括该变量的函数本身。
即使函数外存在同名变量,变量的值也不相同。
因此,如果没有在代码中以显式方式声明函数变量$PHP_SELF为全局变量具有全局唯一值的话,用户就会发现函数中的变量$PHP_SELF的值将会为空,而非预先所期望的当前页面的URL地址。

您可能感兴趣的文章:
php中self与$this的用法区别
PHP中self与this关键字的区别
详解PHP的self关键字
php中self与$this的区别
分分钟搞定PHP的self关键字
关于PHP中self关键字的用法详解
了解PHP中self关键字的相关知识
解析PHP的self关键字
php this、self、parent有什么区别?
实例详解php中self、parent、this的区别

[关闭]
~ ~