Articles of статические

Строгие стандарты: нестатический метод

Я запускаю Ubuntu + PHP 5.4 и получил такую ​​ошибку: Строгие стандарты: нестатический метод XTemplate :: I () не следует называть статическим, предполагая $ this из несовместимого контекста в … на строке 339 И этот метод выглядит так: interface ITemplate { public function I(); } class XTemplate implements ITemplate { public function I() { … […]

(php oop) статический метод vs нет статического метода

Ниже приведены примеры кода класса php, который является статическим методом и нестационарным методом. Пример 1: class A{ //None Static method function foo(){ if (isset($this)) { echo '$this is defined ('; echo get_class($this); echo ")<br>"; } else { echo "\$this is not defined.<br>"; } } } $a = new A(); $a->foo(); A::foo(); //result $this is defined […]

isset по атрибутам статического класса

class A { public static $foo = 42; } $class = 'A'; $attribute = 'foo'; var_dump(isset($class::$attribute)); //gives bool(false) Как я могу проверить этот атрибут static в этом классе?

static :: vs. self :: – есть ли недостатки?

В этом вопросе StackOverflow я узнал, что self:: не было наследованием, когда static:: was (в PHP). Когда дело доходит до определения группы констант внутри класса, если вы хотите переопределить эти константы в подклассе для изменения по умолчанию «поведения», становится необходимо использовать static:: так, чтобы метод родительского класса, который ссылается на константу , чтит «переопределение». В […]

Как проверить, является ли метод статическим в PHP?

Мне нужно знать, объявлен ли метод как статический, учитывая его имя и имя класса, содержащего его. method_exists предоставляет true как для статических, так и для нестатических методов.

PHP избегает статических классов, чтобы избежать зависимостей, но мне нужно использовать глобальные везде

Много раз я слышал, чтобы избежать статических классов, потому что они будут вставлять зависимости, которые сделают ваш код непригодным для использования в других проектах и ​​не позволят ему его протестировать . Допустим, у нас есть типичная class DB для доступа к базе данных, если такой класс является static мы могли бы называть его везде в […]

Изучение OO-кодирования с помощью PHP, статические! = Выражения, но в руководстве PHP говорится, что все, что имеет значение, является выражением, смущенным

Я начал изучать OO несколько дней назад, я вполне уверен в процедурной кодировке, но, очевидно, этого недостаточно, и я хочу стать хорошо разбирающимся кодером с большим опытом и знаниями, поэтому первое, что нужно полностью изучить, должно быть OO я думаю, правильные шаблоны дизайна. Во всяком случае, у меня есть одна вещь, где я застрял, и […]

Вызов статической функции из экземпляра

Я пытаюсь вызвать статическую магическую функцию ( __callStatic ) из члена своего дочернего класса. Проблема заключается в том, что вместо этого она переходит на нестатический __call . <?php ini_set("display_errors", true); class a { function __call($method, $params) { echo "instance"; } static function __callStatic($method, $params) { echo "static"; } } class b extends a { function […]

Получение статического свойства из класса с динамическим именем класса в PHP

У меня есть это: одна строковая переменная, которая содержит имя класса ( $classname ) одна строковая переменная с именем свойства ( $propertyname ) Я хочу получить это свойство из этого класса, проблема в том, что свойство является статическим, и я не знаю, как это сделать. Если свойство не было статическим, это было бы: $classname->$propertyname; если […]

Статические переменные PHP в двойных кавычках

Как я могу заставить PHP оценивать статическую переменную в двойных кавычках? Я хочу сделать что-то вроде этого: log("self::$CLASS $METHOD entering"); Я пробовал всевозможные {} комбо, чтобы получить значение переменной self :: $ CLASS, но ничего не сработало. Я в настоящее время соглашался с конкатенацией строк, но больно печатать: log(self::$CLASS . " $METHOD entering");

Intereting Posts
Как настроить объект (доктрину) для представления базы данных в Symfony 2 Лучший способ удалить «столбец» из многомерного массива Неустранимая ошибка: Uncaught CurlException: 7: не удалось подключиться к хосту, заброшенному в … src / base_facebook.php в строке 887 Локализация с Laravel5 без domain.com/language/ PHP – получить данные от db до JSON получение пустых результатов массива с использованием preg_match_all для значений, которые не соответствуют PHP: если в записи есть отображение HTML, иначе ничего не показывать Второй аргумент функции copy () не может быть каталогом Тема электронной почты, сокращенная в CodeIgniter Ковариация типов параметров в специализациях Кодификатор странного шифрования пароля Использование Backstretch для разных изображений для отдельных страниц Если в модели или контроллере выбираются зависимые строки? Эффективная перезагрузка данных / передача данных с сервера на клиент Декодирование сетевых символов (HTML5 Websocket)