Articles of oop

Как синтаксис метода «public function direct () {}» работает в PHP?

Я изучаю Zend Framework на данный момент и натолкнулся на следующий синтаксис. class Zend_Controller_Action_Helper_Redirector extends Zend_Controller_Action_Helper_Abstract { /** * Perform a redirect to an action/controller/module with params * * @param string $action * @param string $controller * @param string $module * @param array $params * @return void */ public function gotoSimple($action, $controller = null, $module […]

call_user_func (массив ($ this, $ method), $ par) из конструктора родителя?

class Parent { public function __construct($method) { call_user_func(array($this, $method), 1); } } class Child extends Parent { public function __construct($method) { parent::__construct($method); } protected function call_me_on_construct($par) { echo $par; } } Создание экземпляра $child = new Child("call_me_on_construct"); Мне нужно call_me_on_construct метод call_me_on_construct . Проблема заключается в том, что конструктор Parent ничего не знает об $this […]

PHP-мышление ООП: отправка и получение сообщения: я правильно понял?

См. «Обновления» в конце: Текущая база кода имеет 1.4k-строку чисто процедурного кода, который отправляет sms (имеет бизнес-логику, db-связь и все в одном гигантском, if условно вложенное бесчисленное множество, if s, никаких функций, полных литералов, подлинного кандидата DailyWTF? ). И я решил укусить пулю и переписать всю чертову с нуля. Дело в том, что это будет […]

Что такое переадресация вызовов и статические вызовы в PHP или в противном случае поздняя статическая привязка?

Один образец кода, который я получил с веб-сайта, но мне было сложно понять результат. Я использую код: class A { public static function foo() { static::who(); } public static function who() { echo __CLASS__."\n"; } } class B extends A { public static function test() { A::foo(); parent::foo(); self::foo(); } public static function who() { […]

Происхождение / Объяснение класса :: getInstance?

Я довольно новичок в классическом наследовании, поскольку в основном я занимаюсь ECMAScript и Python, хотя я делаю честный (содрогающийся) PHP. Я знаю, что это сильно зависит от Java и других классических языков, основанных на наследовании. Вопрос: Я заглянул в несколько классов в рамки и заметил, что ключевое слово «новое» не было вызвано (по крайней мере) […]

Доступ к константам класса из экземпляра, хранящегося в другом классе

У меня есть определенный класс, который имеет несколько констант, определенных через `const FIRST = 'something'; Я создал экземпляр класса как $class = new MyClass() то у меня есть другой класс, который принимает экземпляр MyClass как один из его конструкторов и сохраняет его как $this->model = $myClassInstance; Это прекрасно работает. Но мне интересно, как я могу […]

Во всяком случае, чтобы упростить это гнездо крыс петлей foreach?

Это работает, но уродливее, чем ад, в основном он выполняет итерацию через две отдельные части вспомогательного массива, видя, есть ли наибольший общий знаменатель, кроме 1 в значениях обоих подматриц, а если есть, умножая базовое значение на 1,5 Извините за неряшливый код раньше времени. error_reporting(E_ALL); ini_set('display_errors', '1'); class CSVParser { public $output = NULL; public $digits […]

Установление подключения к базе данных в php с использованием одноэлементного класса

Может кто-нибудь, пожалуйста, назовите меня пример кода, чтобы установить соединение с базой данных в php, используя одноэлементный класс.

Внедрение различных представлений уровня пользователя в php

Возможный дубликат: Реализация авторизации пользователей в PHP и Javascript У меня есть базовая система учета со следующими пользователями и уровнями пользователей, (Имя пользователя, пароль, уровень пользователя) A , 123, Admin B , 456, Бухгалтер C , 789, сотрудник D , 999, менеджер Мне нужно предоставить им различную выбранную информацию на основе их пользовательского уровня. Например, […]

PHP – call_user_function_array или класс Reflection передаются по ссылке?

Я пытаюсь отправить запрос в MVC. У меня есть объект маршрутизации, который соответствует текущему URI для определенных маршрутов. Если есть совпадение, он возвращает экземпляр объекта Route. Через этот объект Route я могу получить доступ к согласованным аргументам контроллера, метода и метода. Я могу использовать его так: $route->getClass(); name of controller class to instantiate $route->getMethod(); name […]