Articles of oop

Правильный порядок команд для получения num_rows после fetch_array (mysqli OOP)

У меня возникла проблема с получением num_row когда я получаю результаты в виде массива: $sql = "SELECT * FROM people WHERE peopleid=?"; if (!($stmt = $mysqli->prepare($sql))) { echo "stmt Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error; } if (!$stmt->bind_param("i", $_GET['peopleid'])) { echo "Binding parameters failed: (" . $stmt->errno . ") " . […]

Построение «фабрики» в PHP

Я создал класс File, который выполняет все операции с файлами, I / O и действует по-разному в зависимости от характера файлов. Я не доволен своей фактической структурой, которая выглядит так: class File { function __construct($id) { $bbnq = sprintf(" SELECT * FROM documents WHERE id = %u", $id); $req = bbnf_query($bbnq); $bbn = $req->fetch(); $this->file_type […]

объекты, бросающие исключения внутри объектов

Я работаю над объектом, который в какой-то момент создает экземпляр другого объекта. Этот внутренний объект может вызвать исключение. Я мог бы просто позволить этому пузырьку исключений, чтобы какой-либо код обрабатывал родительский объект, что я и хочу делать, следуя философии KISS. Или я мог бы выполнять некоторую обработку исключений в родительском объекте и, возможно, дать более […]

@param – что делает этот символ в объектно-ориентированном php

Мне было интересно, в чем смысл @access, @return и @param в классе PHP. Я полагаю, что было бы легко понять, мог ли кто-нибудь объяснить простыми словами. ура

Как проверить, существует ли активное соединение MySQLi в PHP?

Я расширил мои модели баз данных из класса mysqli , но я не хочу, чтобы он каждый раз соединялся, создавая новую модель, потому что это действительно замедляет весь скрипт. У меня есть класс Database простирающийся от mysqli и других классов моделей, простирающихся от Database . Мой класс Database выглядит следующим образом: class Database extends mysqli […]

Разница между классом и структурой в PHP и Java

Какова реальная разница между классом и структурой, когда вы имеете дело с объектно-ориентированным программированием. Этот вопрос задают много раз во время моих интервью для SE. Некоторые люди говорят, что существует только одно отличие: члены структуры являются общедоступными по умолчанию, а члены класса по умолчанию являются закрытыми. Некоторые говорят, что есть много различий. После прочтения многих […]

PHP Неустранимая ошибка: вызов функции-члена fetch_array () в boolean

Ниже приведена ошибка в строке 66. Строка 66 -> if ($result->fetch_array(MYSQLI_NUM) == NULL) { Кажется, что все работает в соответствии с документацией. Я пытаюсь гарантировать, что вставленный адрес электронной почты еще не существует. $_email= $connection-> real_escape_string($email); $checkSql='SELECT * FROM customer_registration WHERE EMAIL='.'"$email"'.';'; $result= $connection -> query($checkSql); //print_r($result); $sql="INSERT INTO customer_registration(CUSTOMER_FNAME, CUSTOMER_LNAME, CUSTOMER_DOB, APARTMENT, STREET, CITY, […]

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

Я создаю интерфейс для «PickupPoints». Каждая точка пикапа должна быть в состоянии вернуть все найденные точки срабатывания и данные точки пикапа и, возможно, в будущем получить дополнительную информацию. Это нормально с кодом ниже: <?php interface iPickupPoint { public function getPickupPoints($countryCode, $postalCode, $city); public function getPickupPointDetails($pickupPointId); } class PickupPoint1 implements iPickupPoint{ … } class PickupPoint2 implements […]

Когда использовать статические классы в PHP?

Возможный дубликат: Когда использовать статические и инстанцированные классы У меня есть небольшая проблема с пониманием преимуществ / недостатков статических vs «нормальных» классов в PHP, так как кажется, что я могу сделать то же самое с обоими. Если я могу иметь статические переменные в классах и легко получать / изменять их со статическими методами, зачем мне […]

Как вызвать метод обратного вызова для класса?

Помоги мне, пожалуйста: class xam{ public static function __callStatic($name, $arguments) { self::$name(); } static protected function mycallback(){ echo 'mycallback'; } } function doIt($callback) { $callback(); } Я пытаюсь: doIt(xam::mycallback); Ошибка: Неустранимая ошибка: неопределенная константа класса 'mycallback' Я знаю один вариант: doIt(function(){xam::mycallback();}); Но это может быть альтернатива? Спасибо за вашу помощь .