Articles of traits

PHP-черты: как разрешить конфликт имен свойств?

Как разрешить конфликт имен свойств, когда класс использует две черты с одноименными свойствами ? Пример: <?php trait Video { public $name = 'v'; } trait Audio { public $name = 'a'; } class Media { use Audio, Video; } $media = new Media(); $media->name; Я попытался использовать вместо ( Video :: name вместо Audio ) […]

Как изменить пустую строку на нуль, используя Laravel 5.1?

При использовании Laravel 5.1 я пытаюсь проверить каждое значение до его сохранения в базе данных с помощью Eloquent ORM. Моя логика заключается в том, что сначала выровняйте значение, если значение представляет собой пустую строку "" , а затем преобразует ее в null вместо пустой строки. Мне было рекомендовано создать Trait, который будет переопределять метод setAttribute […]

Как использовать черты в Laravel 5.4.18?

Мне нужен пример того, где именно создать файл, написать ему и как использовать функции, объявленные в этом признаке. Я использую Laravel Framework 5.4.18 -Я не изменил ни одной папки в фреймворке, все там, где это соответствует, От уже спасибо.

как получить привычные черты в php-классе?

Есть ли какая-либо функция в PHP (5.4), чтобы использовать используемые черты как массив или подобное: class myClass extends movingThings { use bikes, tanks; __construct() { echo 'I\'m using the two traits:' . ????; // bikes, tanks } }

Каковы возможные сценарии использования для Traits в PHP?

Возможный дубликат: черты в php – примеры реальных примеров / лучших практик? В каких ситуациях можно использовать черты в PHP? У меня есть довольно хорошая общая идея, но я не могу представить, как использовать их в приложении, которое я написал, но это может быть потому, что в то время ему не нужны черты. Один из […]

Расширять черты с классами в PHP?

Почему нам не разрешено расширять черты с помощью классов в PHP? Например: Trait T { } Class C use T {} /* or */ Class C extends T {} Есть ли какой-либо потенциальный конфликт для такого синтаксиса? Я так не думаю.

Как сделать переменную приватной для черты?

Я хотел бы повторно использовать функциональность несколько раз в одном классе. Эта функция зависит от частной переменной: trait Address { private $address; public function getAddress() { return $this->address; } public function setAddress($address) { $this->address = $address; } } Единственный способ, с помощью которого я дважды использовал эту черту , заключается в следующем: class User { […]

PHP-черты – определение общих констант

Каков наилучший способ определения констант, которые могут использоваться рядом классов в пространстве имен? Я стараюсь избегать слишком большого наследования, поэтому расширение базовых классов не является идеальным решением, и я изо всех сил пытаюсь найти хорошее решение, используя черты. Является ли это любым возможным способом в PHP 5.4 или должен быть принят другой подход? У меня […]