Вызов приватного метода из статического метода в PHP

Внимание! Работает режим премодерации. Все сообщения публикуются после проверки!
Страницы: 1
Ответить
RSS
Вызов приватного метода из статического метода в PHP
Вызов приватной функции внутри статической функции в пределах класса

В PHP вы не можете напрямую вызывать приватные методы внутри статических  методов, поскольку статические методы не имеют контекста экземпляра  класса и не могут использовать $this. Однако вы можете создать экземпляр  класса внутри статического метода и затем вызвать приватный метод через  этот экземпляр. Вот как это сделать
Изменено: Валерий Макеев - 29.09.2025 13:59:01
Этот код определяет класс Calculator с приватным методом умножения и статическим методом, который возводит число в квадрат, создавая экземпляр класса для вызова приватного метода.
Код
<?php

class Calculator {
    private function multiply($a, $b) {
        return $a * $b;
    }

    public static function square($x) {
        $calc = new self();
        return $calc->multiply($x, $x);
    }
}

echo Calculator::square(5); // Вывод: 25
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Перенос сайтов на «1С-Битрикс»

сайты на платформе «1С-Битрикс» — это удобство, надежность и высокая посещаемость

от 12 000 рублей
Перенос сайтов с любых CMS и статичных страниц на платформу «1С-Битрикс», с учетом дизайна, верстки и урл-адресов. С сохранением всей информации и структуры сайта.

* зависит от объема выполняемых работ.

Техническая поддержка

сайтов на CMS 1C-Битрикс

от 20 000 рублей/месяц
Оптимизация производительности действующих интернет-проектов, наполнение и сопровождение, полная техническая поддержка и продвижение в поисковых сетях.

* стоимость зависит от объема и сложности выполняемых работ

Модули и компоненты для «1С-Битрикс»

оценка производится на основе предоставленного Технического Задания

от 20 000 рублей
Разработка дополнительных модулей для 1С-Битрикс, расширение функционала, внедрение любых решений, требующихся для выполнения ваших бизнес-задач.

* стоимость зависит от конкретной задачи, ее объема и сложности выполняемых работ.