Я видел, что это часто используется, особенно с SimpleXML. Это: $row->unixtime просто так же, как это делать ??? $row[unixtime] Что это называется, почему / как его использовать?
Я довольно новичок в OOP PHP и по мере того, как я строю свой первый проект, я сталкиваюсь с некоторыми сложными дилеммами. Я пытаюсь создать форум. Да, я знаю, что там много свободных, я просто хочу иметь тот, который я могу построить в соответствии со своими собственными потребностями :). Плюс, это весело кодировать. Я создал […]
У меня есть интерфейс iIncident который определяет единственный метод, when() . when() должен возвращать объект DateTime . Я пытаюсь решить, что делать, если $object->when() не имеет DateTime для возврата, как может быть, сразу после создания объекта и перед установкой всех его свойств. Мой выбор: return false бросить какое-то Exception вернуть значение по умолчанию DateTime например […]
Ниже приведены примеры кода класса 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 […]
Я искал ответ весь день, но я не могу найти его. Извините, если я не имею никакого смысла, я теряю рассудок по этому поводу. Вот что я пытаюсь сделать: abstract class Parent { abstract public function Test(); } class Child1 extends Parent { abstract public function Test() { echo "Test!"; } } class Child2 extends […]
поэтому я пишу класс DataBase который будет слоем инкапсуляции между PHP Controller и MySQL View . interface iDataBase { public function drug($action, $drug); public function company($action, $company); public function activeIngredient($action, $activeIngredient); } Сначала я думал о том, чтобы сделать все сеттеры и геттеры отдельными, как getAllDrugs (), updateDrug (), removeDrug (), getForUpdate (), getDrug () […]
вот что у меня есть: class Entry { public $id; public $name; public $seoName; public $timeCreated; public function someFunction() { } } class EntryMapper { protected $db; public function __construct(PDO $db) { $this->db = $db; } public function saveEntry(Entry &$entry) { if($entry->id){ $sql = ""; } else { $sql = "INSERT INTO tbl_entry (name, seo_name, […]
Сегодня у меня есть PHP-проект с очень странной структурой классов. Как это: db_base `– db_base_ext extends db_base +– module_1 extends db_base_ext +– module_2 extends db_base_ext . … +– module_N extends db_base_ext `– db_user extends db_base_ext class_1 `– submodule_1_1 extends class_1 db_base подключается к db в __construct() и имеет некоторые вспомогательные методы. пример выполнения: $db = […]
Абстрактный класс может иметь и не иметь абстрактных методов, но интерфейс имеет только реализованные методы. Итак, какова разница и преимущество использования интерфейса, если мой абстрактный класс имеет все его методы, помеченные как абстрактные?
Как разрешить конфликт имен свойств, когда класс использует две черты с одноименными свойствами ? Пример: <?php trait Video { public $name = 'v'; } trait Audio { public $name = 'a'; } class Media { use Audio, Video; } $media = new Media(); $media->name; Я попытался использовать вместо ( Video :: name вместо Audio ) […]