Articles of класса

php Установить анонимную функцию в экземпляре

Я только начинаю с PHP, и мне интересно, есть ли способ добавить анонимную функцию к экземпляру класса. Например, скажем … class A{ public B; } $c = new A(); //This is where I am getting a little confused… //The following wont work $c->B = function(){echo('HelloWorld');}; $c->B(); Я надеюсь, что это повторное использование кода в большом […]

Можно ли заменить функцию в классе PHP?

Это на самом деле происходит из конкретной проблемы WordPress, но есть более общий PHP-элемент, за который мне интересно узнать ответ. Класс WordPress выполняется следующим образом: class Tribe_Image_Widget extends WP_Widget { function example_function(){ // do something useful } } Есть ли способ PHP в том, что я могу заменить example_function() извне класса? Причина, по которой я […]

почему нам все еще нужен родительский конструктор, когда класс контроллера расширяет родительский контроллер?

Я новичок в CodeIgniter и OOP. Здесь я читал страницу учебника CI. Я нашел что-то, что поставило под вопрос. Посмотрите на этот код: <?php class News extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('news_model'); } Я думаю, что если бы мы создали класс, который расширяет CI_Controller, мы предполагаем, что он должен иметь все методы […]

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

Мне было интересно, можно ли создать функцию и передать ей имя класса. Затем функция проверяет, существует ли экземпляр класса в данный момент, если он не создает экземпляр класса. Кроме того, если возможно, сделайте эту переменную глобальной и потребуйте ее возврата. Я понимаю, что возвращение может быть единственным вариантом. function ($class_name) { // Check if Exists […]

PHP – расширение метода, например, расширение класса

У меня 2 класса: class animal{ public function walk(){ walk; } } class human extends animal{ public function walk(){ with2legs; } } Таким образом, если я вызываю human-> walk (), он работает только с2legs; Но я хочу, чтобы прогуливалась прогулка родителя; слишком. Я знаю, что могу изменить его так: class human extends animal{ public function […]

Как ссылаться на статическую константу-членную переменную в PHP

У меня есть класс с переменными-членами. Каков синтаксис PHP для доступа к переменным-членам из класса, когда класс вызывается из статического контекста? В основном я хочу вызвать метод класса (но не создать новый объект), но когда вызывается метод класса, я хочу, чтобы была инициализирована небольшая часть статических постоянных переменных, которые должны быть разделены между различными методами […]

PHP неправильно обрабатывает мой статический вызов

Я havinh проблема на PHP 5.3. Мне нужно вызвать метод с помощью __callStatic , но если я использую его в объекте __call , PHP вызовет __call . Выше примера реальной жизни: <?php class A { function __call($method, $args){ // Note: $this is defined! echo "Ops! Don't works. {$this->c}"; } static function __callStatic($method, $args){ echo 'Fine!'; […]

PHP проверяет, например, DateTime?

Это единственный способ проверить, является ли объект экземпляром класса, в моем случае класса DateTime? $cls = ReflectionClass("DateTime"); if (! $cls->isInstance( (object) $var ) ) { // is not an instance } Мне это немного тяжело.

Почему функция как элемент массива в php-классе не работает

Например, у меня есть такой код: <?php $A = array( 'echoSmth' => function(){ echo 'Smth'; } ); $A['echoSmth'](); // 'Smth' ?> Он отлично работает! Но если $ A – это не просто переменная, но метод класса – чем это не работает: <?php class AA { public $A = array( 'echoSmth' => function(){ // Parse Error […]

PHP – расширенный __конструкция

Я был удивлен, если бы вы могли мне помочь. У меня есть два класса, один расширяет другой. Класс B будет расширяться различными объектами и использоваться для общих взаимодействий с базой данных. Теперь я хотел бы, чтобы класс B обрабатывал свои соединения и разъединения без направления из класса A или любого внешнего входа. , Проблема в […]