【php中的parent、self、static关键字】教程文章相关的互联网学习教程文章

【高手请近】PHP【global引用传递】和【static静态变量】不起作用

两个单独的PHP文件: PhpGlobal.php 和 PhpStatic.php PhpGlobal.php全部内容: <?php/*$FileName : PhpGlobal.php$Output:>>>Parse error: syntax error, unexpected &, expecting T_VARIABLE or $ in D:\WebSite\MyHost\www.35dalu.com\public_html\test\PhpGlobal.PHP on line 10*/function censorCount(&$string){ global &$censorCount; $censorCount = (object)array(banned => 0,mod=> 0,filter => 0); if(pr...

php中静态方法static和非静态方法效率对比

今天在看这篇文章的时候http://jingyan.baidu.com/article/6b97984d7892d21ca2b0bfc2.html发现第一句是这个 如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 实践是检验代码执行效率的唯一标准,于是趁着下班回家有点时间,做了个小测试: 先上测试代码(如果有不对的地方,请大家指正哈): 测试环境: /test # php -vPHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15) Copyright (c) 1997-20...

关于static的讨论

之前我提问过static private和private的区别,老徐则说只是访问方式的区别,我接着说网上有人说static能提高性能,老徐抱有不同见解。 今天,我又再次看到有人这么说了:1、如果能将类的方法定义成 static,就尽量定义成 static,它的速度会提升将近 4 倍。 这个说法来自于: http://www.php100.com/html/it/focus/2014/0403/6746.html 不知道这个说法是真是假,作者又是怎么测试并肯定地提出这个说法的呢? 回复讨论(...

php面向对象类中的$this,static,final,const,self这几个关键字使用方法。

php中this,self,parent三个关键字的作用 this,self,parent三个关键字之间的区别,从字面上比较好理解,分别是指这、自己、父亲。我们先建立几个概念,这三个关键字分别是用在什么 地方呢?我们初步解释一下,this是指向当前对象的指针(姑且用C里面的指针来看吧),self是指向当前类的指针,parent是指向父类的指针。我 们这里频繁使用指针来描述,可能是因为没有更好的语言来表达。 // this是指向当前对象的指针class test_...

php中const和static的区别

class Test{ static $test_var = 10; const TEST_CONST = 5;}echo Test::$test_var; //返回 10echo Test::MY_CONST; // 返回 5Test::$test_var = 20; echo Test::$test_var; //返回20Test::TEST_CONST = 20; // 错误 实际上两者概念完全不同,但是有时候使用可能会混淆 static就是静态变量,遵循php变量命名规则,可以在类没有实例化的时候访问和修改。 而const是常量的意思,遵循常量命名规则(不可以使用$作为...

PHP中Global和Local范围以及Static变量

1. Local scope function update_counter() { $counter++;//此处$counter为局部变量,与函数外的$counter非同一个 } $counter = 10; update_counter(); echo $counter; //输出:10 2. Global scope function update_counter() { global $counter;//利用global关键字在函数内进行声明即可获取全局域的$counter $counter++; } $counter = 10; update_counter(); echo $counter; //输出: 11 function...

php中的parent、self、static关键字

1. parent关键字可以用于调用父类中被子类重写了的方法 2. self关键字可以用于访问类自身的成员方法,也可以用于访问自身的静态成员和类常量;不能用于访问类自身的属性;使用常量的时候不需要再属性面前加$符号 3. static关键字用于访问类自身定义的静态成员,防伪静态属性时需要在属性面前添加$符号 <?phpclass BaseClass{ public function test(){ echo "BaseClass::test called\n"; }...

static变量生命周期在php和java中的不同

通过浏览器连续访问,会分别输出:1,2,3,4,5,6,........   通过浏览器连续访问,会分别输出:1,1,1,1,1,1,........ 总结 1、java的static变量伴随着java虚拟机的退出而消亡,java虚拟机运行期间,static变量一直存在。 2、php的static变量只针对一次请求(一次php文件的执行),php文件执行完毕,该static变量也随机消亡,再次请求(再次执行该php文件),会重新创建该static变量。

php静态绑定之static::

对于静态绑定中的static::在此不多做解释,我想用实例来证明,这个例子是来自官方文档: For example one: class A{ private function foo(){ echo "this is a test function".""; } public function test(){ $this->foo(); static::foo(); }}$A=new A();$A->test(); 输出结果: this is a test function this is a test function For example Two: class A{ private function foo(){ ...

PHP的static与Java的static的对比

在Java中类的静态变量/静态方法又称之为类变量 /类方法,它们存在于内存栈中,只有一份,可以通过类和对象直接访问 public class MyStatic { public static String className = "MyStatic"; public static void getClassName() { //当然你直接写className也能访问到,但前提是此函数里没有局部变量名覆盖静态变量名 System.out.println(MyStatic.className); } public static void main(String[] ...

PHP-static

static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”。 static关键字可以用来修饰变量、方法,不经过实例化,就可以直接访问类中static的属性和static的方法。 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“::”调用。 static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法。因为静态属...

PHP的返回引用(方法名前加&)和局部静态变量(static)

先阅读手册==========从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用操作符 & : 例子 17-13. 由函数返回一个引用 有关引用的更多信息, 请查看引用的解释。 在来看一段很多开源代码喜欢用的单例注册模式 class a{} class b{} function & aa($name) { static $class = array(); //局部静态变量 不随方法的执行结束而消失 而是坚持到整个源程序结束时才结束生命周期 if(!$class[$nam...

报个错Parseerror:syntaxerror,unexpected'static'(T_STATIC),

<?phpclass ShopProduct{ private $id = 0; private $title; private $producerMainName; private $producerFirstName; protected $price; private $discount = 0; function __construct($title,$firstName,$mainName,$price){ $this->title = $title; $this->producerMainName = $mainName; $this->producerFirstName = $firstName; $this->price ...

PHP面向对象static和const的两段代码示例

getcount(); //3echo $c2->getcount(); //3echo $c3->getcount(); //3?> showvalue();}}echo myclass::VALUE;ECHO "";$class1=new myclass();echo $class1->getvalue();?>//dongdong11019//dongdong11019

为何STATIC位置不同,结果产生了不同解决方法

为何STATIC位置不同,结果产生了不同 function A( ){ STATIC $a=10; $a+=10; echo $a; } A( ); // 20 A( ); //20?>===================================================================== function A( ){ STATIC $a $a=10; $a+=10; echo $a; } A( ); //20 A( ); //30?>------解决方案--------------...