gpt4 book ai didi

php - 是否可以在 PHP 中创建静态类(如在 C# 中)?

转载 作者:IT老高 更新时间:2023-10-28 11:45:05 27 4
gpt4 key购买 nike

我想在 PHP 中创建一个静态类,并让它像在 C# 中一样,所以

  1. 第一次调用类时会自动调用构造函数
  2. 无需实例化

这种东西……

static class Hello {
private static $greeting = 'Hello';

private __construct() {
$greeting .= ' There!';
}

public static greet(){
echo $greeting;
}
}

Hello::greet(); // Hello There!

最佳答案

您可以在 PHP 中使用静态类,但它们不会自动调用构造函数(如果您尝试调用 self::__construct(),则会收到错误消息)。

因此,您必须创建一个 initialize() 函数并在每个方法中调用它:

<?php

class Hello
{
private static $greeting = 'Hello';
private static $initialized = false;

private static function initialize()
{
if (self::$initialized)
return;

self::$greeting .= ' There!';
self::$initialized = true;
}

public static function greet()
{
self::initialize();
echo self::$greeting;
}
}

Hello::greet(); // Hello There!


?>

关于php - 是否可以在 PHP 中创建静态类(如在 C# 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/468642/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com