php中static怎么用

不及物动词 其他 143

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在PHP中,static关键字用于定义静态属性和静态方法。静态属性和静态方法不依赖于类的实例,可以在没有创建对象的情况下直接访问。

    1. 定义静态属性
    静态属性是类的属性,而不是实例的属性。它们用于存储在整个类的所有实例之间共享的数据。要定义一个静态属性,可以在属性前面加上static关键字。

    “`php
    class MyClass {
    static $myStaticProperty = 123;

    static function myStaticMethod() {

    }
    }
    “`

    2. 访问静态属性
    可以使用类名加双冒号(::)来访问静态属性。静态属性可以通过类名直接访问或通过类的实例访问。

    “`php
    echo MyClass::$myStaticProperty;
    $obj = new MyClass();
    echo $obj->myStaticProperty;
    “`

    3. 定义静态方法
    静态方法是类的方法,而不是实例的方法。它们可以直接通过类名调用,无需创建类的实例。要定义一个静态方法,可以在方法前加上static关键字。

    “`php
    class MyClass {
    static function myStaticMethod() {

    }
    }
    “`

    4. 调用静态方法
    可以使用类名加双冒号(::)来调用静态方法。静态方法可以通过类名直接调用或通过类的实例调用。

    “`php
    MyClass::myStaticMethod();
    $obj = new MyClass();
    $obj->myStaticMethod();
    “`

    5. 注意事项
    – 在静态方法内部不能使用$this关键字,因为$this代表实例对象,而不是类。
    – 静态属性和方法可以被继承,子类可以访问和重写父类的静态属性和方法。
    – 静态属性和方法可以在类的实例中访问,也可以在类的外部通过类名访问。

    总结:在PHP中,static关键字可以用于定义静态属性和静态方法。静态属性和方法不依赖于类的实例,可以在没有创建对象的情况下直接访问。静态属性和方法可以通过类名访问或通过类的实例访问。使用静态属性和方法时需要注意一些限制和特性。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,static是一个用于定义静态成员和静态方法的关键字。静态成员是指在类中共享的属性,而静态方法则是指可以在不创建类实例的情况下调用的方法。以下是在PHP中使用static的5种常见用法:

    1. 定义静态属性:使用static关键字可以将属性定义为静态属性,即使没有创建对象,也可以直接访问和修改。静态属性对于保存全局设置、共享计数器等非实例化相关的数据非常有用。

    示例代码:

    “`php
    class MyClass {
    public static $count = 0;

    public function __construct() {
    self::$count++;
    }
    }

    $obj1 = new MyClass();
    $obj2 = new MyClass();

    echo MyClass::$count; // 输出 2
    “`

    2. 访问静态属性和方法:可以使用类名后面紧跟两个冒号(::)来访问静态属性和方法。静态成员脱离了对象的限制,因此可以在任何地方调用。

    示例代码:

    “`php
    class MathUtils {
    public static function add($a, $b) {
    return $a + $b;
    }
    }

    echo MathUtils::add(2, 3); // 输出 5
    “`

    3. 在静态方法中访问非静态成员:虽然静态方法没有对象实例,但可以通过参数传递对象来访问非静态成员。

    示例代码:

    “`php
    class MyClass {
    public static function printName($obj) {
    echo $obj->name;
    }
    }

    $obj = new MyClass();
    $obj->name = “John”;

    MyClass::printName($obj); // 输出 John
    “`

    4. 使用静态方法作为工厂方法:静态方法还可以用作创建对象的工厂方法,即不需要使用new关键字来创建对象,而是通过静态方法返回一个新的对象实例。

    示例代码:

    “`php
    class MyClass {
    public static function create($name) {
    $obj = new self();
    $obj->name = $name;
    return $obj;
    }
    }

    $obj = MyClass::create(“John”);

    echo $obj->name; // 输出 John
    “`

    5. 静态方法的继承:子类可以继承父类的静态方法,并且可以使用parent关键字来调用父类的静态方法。

    示例代码:

    “`php
    class Animal {
    public static function sound() {
    echo “Animal makes a sound”;
    }
    }

    class Cat extends Animal {
    public static function sound() {
    echo “Cat makes a sound”;
    }

    public static function parentsound() {
    parent::sound();
    }
    }

    Cat::sound(); // 输出 Cat makes a sound
    Cat::parentsound(); // 输出 Animal makes a sound
    “`

    以上是在PHP中使用static关键字的常见用法。通过使用静态成员和静态方法,可以在不创建对象的情况下访问和修改共享数据,并且可以方便地创建工厂方法和继承方法。静态成员和方法在一些情况下非常有用,但在其他情况下可能会导致代码的可维护性和测试性受到影响,因此需要根据具体的需求合理地使用。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,static是一个关键字,用于声明静态方法、静态属性和静态变量。静态成员在类中所有的实例之间共享,不需要创建类的实例即可访问。在本文中,我们将重点讨论static关键字在方法中的使用。

    一、静态方法
    静态方法是指在类中定义的,可以在不创建类的实例的情况下直接调用的方法。静态方法通过在方法的前面加上static关键字来定义。定义静态方法的语法如下:
    “`
    访问修饰符 static function 方法名(参数列表) {
    // 方法体
    }
    “`
    下面是一个简单的示例,演示了如何在类中定义和使用静态方法:
    “`php
    class MyClass {
    public static function staticMethod() {
    echo “This is a static method.”;
    }
    }

    MyClass::staticMethod(); // 输出:This is a static method.
    “`
    需要注意的是,静态方法只能访问静态成员(包括静态属性和静态方法),而不能访问非静态成员。

    二、静态属性
    静态属性是指在类中定义的,用于存储类相关的数据的变量。静态属性通过在属性的前面加上static关键字来定义。定义静态属性的语法如下:
    “`
    访问修饰符 static $属性名;
    “`
    下面是一个简单的示例,演示了如何在类中定义和使用静态属性:
    “`php
    class MyClass {
    public static $staticProperty = “This is a static property.”;
    }

    echo MyClass::$staticProperty; // 输出:This is a static property.
    “`
    静态属性可以在类的内部和外部直接访问,也可以通过静态方法进行访问。

    三、静态变量
    静态变量是指在函数内部定义的,保持其值在函数多次调用时保持不变的变量。静态变量通过在变量的前面加上static关键字来定义。定义静态变量的语法如下:
    “`
    static $变量名 = 初始值;
    “`
    下面是一个简单的示例,演示了如何在函数中定义和使用静态变量:
    “`php
    function myFunction() {
    static $count = 0;
    $count++;
    echo “This function has been called $count times.”;
    }

    myFunction(); // 输出:This function has been called 1 times.
    myFunction(); // 输出:This function has been called 2 times.
    myFunction(); // 输出:This function has been called 3 times.
    “`
    需要注意的是,静态变量只在函数内部有效,且在函数的多次调用之间保持其值不变。

    总结:
    在PHP中,static关键字用于声明静态方法、静态属性和静态变量。静态方法可以在不创建类的实例的情况下直接调用,静态属性存储类相关的数据,静态变量在函数调用之间保持其值不变。通过使用static关键字,我们可以更灵活地设计和使用类的成员。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部