Articles of oop

PHP – значение от переменной до постоянной

Я изучаю ООП в PHP, и я хочу поместить значение из переменной в константу класса. Как я могу это сделать? Это мой код (не работает!): class Dir { const ROOT = $_SERVER['DOCUMENT_ROOT']."project/"; function __construct() { } } Есть ли какое-либо решение, как взять значение из переменной, добавить строку и поместить ее в постоянную – в […]

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

Позволь мне объяснить: Я знаю, что на Java вы можете делать такие вещи: int myMethod(Burnable obj){ /*do stuff that's only applicable if the argument implements the Burnable *interface */ } Мне больше нравится программирование на PHP , и я не уверен , могу ли я это сделать и на PHP . Кроме того, я хотел […]

Функция get_status () возвращает 1 вместо true или false, почему?

В приведенном ниже коде метод get_status () в моем классе веб-класса возвращает 1 вместо true или false, как я этого хочу. Может ли кто-нибудь сказать мне, почему, пожалуйста? Я думаю, что это, наверное, ошибка в моем классе, я не уверен, является ли эта строка кода хорошей практикой в ​​методе get_status ()? $ httpcode = $ […]

Класс вызывает функцию в другом классе

У меня есть класс вроде: <?PHP abstract class dbCon { public function OpenConnection() { // Do Something; // On error: $this->ShowError(); } abstract function ShowError(); } class ErrorHandling extends dbCon { public function ShowError() { // Show error } } ?> В приведенном выше коде есть недостаток. Я хочу вызвать ShowError () из абстрактного класса, […]

PHP Создание модальной отдельной логики из html / view

Это моя первая попытка написать что-то с помощью ООП, обычно я использую код типа spagethi с множеством функций, но я хочу попробовать и улучшить свои навыки PHP, поэтому в настоящее время я изучаю и считаю себя новичком / новичком, поскольку вы, вероятно, можете см. в моем коде. Помните об этом при ответе / чтении. Поэтому […]

Сохранять переменные из MySQL лучше выбирать переменные класса PHP, когда имена полей таблицы идентичны именам переменных класса?

Я выбираю данные из базы данных. Имена полей базы данных точно такие же, как имена переменных класса. Есть ли способ хранить эти данные в переменных класса без указания каждого из них отдельно? //gets info about a specified file. //chosen based on a supplied $fileId function getFileInfo($fileId) { //select info from database $sql = "SELECT id, […]

Почему объект PHP принимает членов, которые упоминались только при вызове?

Я парадокс со следующим фрагментом кода, и я не уверен, как его назвать. Я определил очень простой класс, который пока не имеет переменной. Теперь в конструкторе я принимаю массив ключей и значений и назначая переменные «на лету», как это, используя цикл foreach: class Food{ function Food($construct){ foreach($construct as $key=>$value){ $this->$key = $value; } } } […]

Как обрезать свойства объекта в PHP?

У меня есть объект $obj as $obj->{' Property1'} = " value1"; $obj->{'Property2 '} = "value2 "; Я хочу получить этот объект $obj as $obj->{'Property1'} = "value1"; $obj->{'Property2'} = "value2"; Я могу обрезать все значения, используя foreach($obj as $prop => &$val) { $val = trim($val); } но делая это (ниже), вызывая ошибку foreach($obj as &$prop => […]

Использование $ this, если не в объектном контексте php

Я только начал изучать OOPS в php. Я написал простую программу для реализации наследования. Я получаю фатальную ошибку $ this, если не в контексте объекта. Может ли кто-нибудь объяснить мне эту ошибку, что это значит? вот мой код: <?php class human{ public $gender; public function _construct($gender) { $this->gender=$gender; echo $this->get_gender(); } public function get_gender() { […]

Невозможно выполнить функцию обратного вызова OOP для использования

Я прочитал несколько десятков обсуждений использования членов класса в качестве функций обратного вызова, но ни один из примеров не касается того, что кажется мне очевидным дизайном ООП, основанным на работе с другими языками ООП, такими как C ++ и Java. Я определил метод сравнения внутри класса: class TestClass { private $aField; // integer value function […]