Описание тега late-static-binding

In PHP, a Late Static Binding is a way for a static parent class method or variable to refer to the current class that is being executed via the static:: scope resolutor
7 ответов

Что такое поздние статические привязки в PHP?

Что такое поздние статические привязки в PHP?
16 дек '09 в 07:17
1 ответ

Добавление статической переменной в SQL-запрос

Я пытаюсь использовать концепцию позднего статического связывания во время вставки, но я получаю синтаксическую ошибку при написании этого утверждения: я использую php версии 5.3.8 $resultArray = $this->connection->query("insert into " static:…
1 ответ

PHP 5.2 Эквивалент позднего статического связывания (новый статический)?

Я пытаюсь сделать скрипт, который построен для PHP 5.3 работает на сервере PHP 5.2. Скрипт использует много поздних статических привязок, таких как: return new static($options); Что эквивалентно этому в php 5.2? будет ли это как-то новым собой? Или …
04 мар '11 в 16:24
2 ответа

Создать два одинаковых статических класса в PHP

Я пытаюсь расширить статический класс в PHP. Я сталкиваюсь с тем, что как только я изменяю переменную в одном из классов расширения, все остальные классы также становятся изменениями. Вот что я пытаюсь сделать: class Fruit{ private static $name = Nu…
05 апр '14 в 20:52
1 ответ

Свойство static::$ в признаке возвращает данные, привязанные к признаку вместо класса

Мне было интересно, что static ключевое слово возвращается в черту? Кажется, что это связано с чертой, а не с классом, который его использует. Например: trait Example { public static $returned; public static function method() { if (!eval('\\'.get_ca…
1 ответ

Есть ли середина между собой и статичным?

Я ищу золотую середину между SELF и STATIC, без неожиданного поведения позднего статического связывания. Ниже мой код с результатами практики и ожидаемыми результатами: <?php class A { public function get_self() { return new self(); } public func…
26 сен '13 в 21:40
1 ответ

Как я могу задержать статическое связывание в унаследованном классе с переменными переменными PHP

Дело в том, что у нас есть три класса A, B и C. B и C наследуются от A. <?php class A{ public static function update(){ static::$id = 1; } } class B extends A{ public static $id_B; } class C extends A{ public static $id_C; } A::update(); ?> По…
1 ответ

Взлом get_called_class не работает с eval-кодом

Я использую ge_called_class Взломать за позднюю статическую привязку в php версии 5.2 ( здесь). У меня есть следующее в моем коде: # db_record.php $ac = "ForumThread"; $objects = $ac::find("all"); Это не будет работать в PHP 5.2 по какой-то причине,…
13 июн '10 в 23:05
5 ответов

Забудьте о поздней статической привязке, мне нужна поздняя статическая __FILE__

Я ищу get_called_class() эквивалент для __FILE__... может быть что-то вроде get_included_file()? У меня есть набор классов, которые хотели бы знать, в каком каталоге они существуют. Примерно так: <?php class A { protected $baseDir; public functio…
27 апр '10 в 04:53
3 ответа

Запрос разъяснений о процедуре ООП в PHP

Я пытаюсь написать следующий код на PHP class A { protected static $comment = "I am A" ; public static function getComment () { return self :: $comment; } } class B extends A { protected static $comment = "I am B" ; } echo B::getComment () ; // echo…
28 фев '13 в 11:46
1 ответ

Установить обработчик кэша на уровне объекта?

Скажем, у меня есть базовый объект, CacheObject: abstract class CacheObject { protected static $handler = null; public static function setCacheHandler($handler) { static::$handler = $handler; } public static function getCacheHandler($handler) { retu…
08 ноя '13 в 04:47
1 ответ

static:: vs. self:: - есть ли минусы?

В этом вопросе Stackru я узнал, что self:: не был осведомлен о наследовании где static:: был (в PHP). Когда дело доходит до определения группы констант в классе, если вы хотите переопределить эти константы в подклассе, чтобы изменить "поведение" по …
05 ноя '14 в 15:02
4 ответа

Почему некоторые языки предпочитают статическое связывание методов, а не динамическое?

Почему в C++, C# и Ada 95 по умолчанию принято решение использовать статическую привязку метода, а не динамическую привязку метода? Означает ли выигрыш в скорости реализации потерю абстракции и возможности повторного использования?
18 апр '11 в 06:43
1 ответ

Как получить имя дочернего класса из родительского класса

Я пытаюсь сделать это, не требуя функции на дочернем классе... это возможно? У меня есть ощущение, что это не так, но я действительно хочу быть уверен... <?php class A { public static function who() { echo __CLASS__; } public static function test…
06 мар '12 в 04:40
1 ответ

Поздняя статическая привязка | без изменения родительского класса с ключевым словом `static`

У меня есть следующий родительский и дочерний класс. class Parent_class { protected static function method_one() { echo "I am in Parent_class in method_one"; } protected function execute() { static::method_one(); } public function start() { $this-&g…
11 янв '13 в 06:42
1 ответ

Присвоение переменной класса из подкласса без конструктора

Я создаю облегченный слой Model для доступа к базе данных моего проекта. Я хотел бы, чтобы это было в духе Ruby on Rails. Вместо создания нового объекта Model я хочу использовать одноэлементный подход. Вот текущая проблема, с которой я сталкиваюсь: …
24 янв '12 в 15:55
2 ответа

Доступ к некорректному статическому свойству из не статического метода в PHP

Я испытываю что-то в PHP, что кажется очень странным. Я пытаюсь получить доступ к статическому свойству из нестатического метода. Мне нужно использовать ключевое слово static для доступа к этому свойству, так как оно может иметь разные значения в ка…
17 дек '13 в 19:27
1 ответ

Почему я не могу напрямую использовать возвращаемые значения функций в качестве динамических имен классов в PHP?

Начиная с PHP 5.3, в качестве имени класса можно использовать переменную не только для создания экземпляра объекта, но даже для статических методов: $className = 'My\Name\Spaced\Thing'; $thing = $className::foo('hello world'); Однако, если я пытаюсь…
14 авг '16 в 01:09
0 ответов

Поздняя статическая привязка php и вызовы self

Я видел тему об этом, и я понимаю, как это работает. Но разве это не очень запутанно? С помощью self::someMethod() мы намерены остановить полиморфное поведение и ожидаем, что больше не будем зависеть от возможных переопределений в дочерних классах. …
15 янв '17 в 02:37
1 ответ

Наследование приватного метода и позднего статического связывания в php

Итак, я читал официальную документацию PHP по поздним статическим привязкам и наткнулся на запутанный пример: <?php class A { private function foo() { echo "success!\n"; } public function test() { $this->foo(); static::foo(); } } class B exten…