Ответы пользователя по тегу ООП
  • Как инициализировать из __construct в static?

    В статическом классе нет магического метода `__construct`. Но вы можете использовать функцию, к примеру `instance()`, в функции `instance()` будет всё то же самое, что и в `__construct`, за некоторыми исключениями.

    Пример кода:

    class WhatsApp
    {
        private static ?WhatsApp $instance = null;
        private static string $limit;
        private static string $url;
    
    
        public static function instance(string $limit = '', string $url = '', string $method = ''): WhatsApp
        {
            if (self::$instance === null) {
                self::$limit = $limit;
                self::$url = $url;
    
                self::$instance = new self();
            }
    
            return self::$instance;
        }
    
        public static function test(): string
            return self::$url;
        }
    }


    Обратите внимание на то, что `instance` возвращает экземпляр нашего класса, то есть `self` или же `WhatsApp`.
    Вызвать всё это чудо можно с помощью:
    WhatsApp::instance('0', '/page?15')->test();
    Ответ написан