Range parser in php

无忌哥哥
Release: 2023-04-01 21:06:02
Original
1535 people have browsed it

* Scope parser::

* 1. Purpose

* 1. Call static members (outside the class)

* 2. Call class constants

* 3. Call class members (properties/methods) covered by subclasses

* 2. Scenario

* 1. Outside the class: Only access to the class through the class name is allowed Member

* 2. Inside the class: only the following are allowed: self, parent, static

* 3. Special: Class name variables are allowed to be used to reference the class name (php5.3)

class Demo1 
{
    const HOME = '合肥';
    public static function test1()
    {
        return __METHOD__;
    }
    public static function test2()
    {
        //延迟静态绑定:后面会说到
        //static::根据上下文来决定使用哪个类来调用
        return static::test1();
    }
}
class Demo2 extends Demo1
{
    public static $name = '朱老师';
    public static function test1()
    {
        //调用本类静态成员: self::
        $res = self::$name.&#39;<br>&#39;;
        //调用父类静态成员属性: parent::
        $res .= parent::HOME.&#39;<br>&#39;;
        //调用父类静态成员方法
        $res .= parent::test1().&#39;<br>&#39;;
        $res .= __METHOD__;
        return $res;
    }
    
}
Copy after login

//1. Call static members of the class from outside the class

echo Demo1::HOME,&#39;<br>&#39;;
echo Demo1::test1();
echo &#39;<hr>&#39;;
echo Demo2::test1();
echo &#39;<hr>&#39;;
Copy after login

//Pay attention to the difference between Demo1 calling test2() and Demo2 calling test2()

//Demo1::test( ) Returns the running result of test1() in Demo1

echo Demo1::test2();
echo &#39;<hr>&#39;;
Copy after login

//Demo2::test2() Returns the running result of test1() in Demo2

echo Demo2::test2();
echo &#39;<hr>&#39;;
Copy after login

//php5.3, allows the use of classes Variable to call

$class = &#39;Demo2&#39;;
echo $class::test2();
Copy after login

The above is the detailed content of Range parser in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template