Привет, у меня есть небольшая коллекция классов, некоторые из которых должны быть доступны по всему миру. Я нашел что-то подобное в Zend_Registry, но, читая его код, я не могу понять, как вызов статической функции может вернуть инициализированный экземпляр класса … мне нужно сделать что-то вроде: <?php //index.php $obj = new myUsefulObject(); $obj->loadCfg("myFile.xml"); $req = new […]
Возможный дубликат: Передать ссылку на $ this в конструкторе PHP Я работаю над простой PHP-инфраструктурой в качестве учебного проекта. У меня есть объект запроса с методом _execute() . В этом методе я (между прочим) создаю объект, называемый pageController, вызываю метод на нем и удаляю объект, используя следующий код: $controller = new $this->_controllerName($this); call_user_func(array($controller, $this->_methodName)); unset($controller); […]
У меня 3 класса (3 файла): a.class.php b.class.php c.class.php Я хочу расширить классы a и b в классе c (файл 3): Как я мог это сделать? Я хочу использовать обе функции класса a + b в моем новом классе C
Я создал класс «validate» для проверки двух полей, т.е. «firstname» и «lastname». Он не работает нормально, он показывает ошибку, когда поле пуст, но когда я отправляю форму с непустыми полями, ошибка все еще существует. Как это выполнить при отправке формы? <?php class validation { public $firstName, $lastName, $errorFirstName = '', $errorLastName = ''; function __constructor($fName, […]
На этом я много разбираюсь, но чем больше я читаю, тем больше меня путают (извините!). Мой приоритет – держать его простым и эффективным. Создайте одно соединение MySql и поделитесь им несколькими объектами PHP. // open a db connection $dbc = new PDO(…….); // allow multiple objects to use the same connection $object_1 = new class_1($dbc); […]
Недавно я экспериментировал с Laravel 4 и стараюсь, чтобы пользовательский класс проверки работал. Проверка-класс <?php class CountdownEventValidator extends Validator { public function validateNotFalse($attribute, $value, $parameters) { return $value != false; } public function validateTimezone($attribute, $value, $parameters) { return !empty(Timezones::$timezones[$value]); } } Мои правила настроены следующим образом: protected $rules = [ 'title' => 'required', 'timezone' => […]
Я пробую здесь очень просто, но, похоже, это не работает. Взгляните на этот код: include 'custom/mainclass.php'; $child = new childClass(); class childClass extends mainClass { } По-видимому, childClass () не может быть найден (согласно php). Я на 100% уверен, что делаю что-то очень глупое, чтобы заказать мой код. Я уже искал в Интернете, но из […]
У меня есть специальная логика, которую мне нужно вставить в классы CDbCommand, CDbTransaction и CActiveRecord, которые поставляются с фреймворком Yii. Я не могу их заменить, потому что я использую те же файлы фреймворка для других проектов. Большинство моих моделей уже созданы и расширены из CActiveRecord. Я знаю, что могу легко переключить их на собственный собственный […]
Мне нужно ловить ошибки libxml. Но я хочу использовать свой класс для этого. Я знаю о libxml_get_errors и других функциях. Но мне нужно что-то вроде libxml_set_erroc_class("myclass") и во всех случаях ошибка вызовет мой класс. Я не хочу в каждом случае после использования $dom->load(…) создавать некоторую конструкцию, например foreach(libxml_get_errors as $error) {….} . Вы можете мне […]
Я разрабатываю прослушиватель сокетов, который должен обрабатывать данные с помощью класса CommandService. CommandService.php <?php namespace Application\Service; use Zend\ServiceManager\ServiceLocatorAwareInterface; use Zend\ServiceManager\ServiceLocatorAwareTrait; class CommandService implements ServiceLocatorAwareInterface { use ServiceLocatorAwareTrait; } custom.php <?php include('../module/Application/src/Application/Service/CommandService.php'); ?> И когда я бегу на консоли php custom.php Я получаю сообщение об ошибке: Неустранимая ошибка: интерфейс «Zend \ ServiceManager \ ServiceLocatorAwareInterface» не найден […]