Я пытаюсь написать функцию, которая форматирует каждый (строковый) элемент / переменную в объекте, например, с функцией обратного вызова. Имена переменных мне неизвестны, поэтому они должны работать с объектами всех классов. Как я могу достичь чего-то похожего на array_map или array_walk с объектами?
Я делаю кодирование в oops для загрузки изображения в PHP. Но после отправки изображения, оно дает предупреждение «Заголовок может содержать не более одного заголовка, обнаружена новая строка» Ниже приведена моя функция, при которой ее ошибка public function ft_redirect($query = '') { if (REQUEST_URI) { $_SERVER['REQUEST_URI'] = REQUEST_URI; } $protocol = 'http://'; if (HTTPS) { $protocol […]
У меня есть этот код: class A { var $arr = array(); function __construct($para) { echo 'Not called'; } } class B extends A { function __construct() { $arr[] = 'new Item'; } } И так как B имеет свою конструкцию конструктора ($ para) A, никогда не будет вызвана. Теперь я мог бы вызвать parent […]
Это должно быть очевидно, но я немного запутался в области переменных PHP. У меня есть переменная внутри конструктора, которую я хочу использовать позже в функции в том же классе. Мой текущий метод: <?php class Log(){ function Log(){ $_ENV['access'] = true; } function test(){ $access = $ENV['access']; } } ?> Есть ли лучший способ сделать это, […]
Кажется, что мой конструктор класса PHP не вызывает вызов при запуске класса. Вот как выглядит мой конструктор: public function __contruct() { $GLOBALS['page_content'] .= "<p>Constructor entered.</p>\r\n"; try { $this->ConstructorBase(); } catch ( Exception $e ) { throw new Exception( "Error in ".__FILE__."(".__LINE__."): Constructor failed.", CLoginError::ERROR_CANNOT_INSTANTIATE, $e ); } } Позже в том же файле, в глобальной […]
поэтому я пытаюсь решить проблему, которая у меня возникает при разработке классов PHP. Я создал базовый класс и назначил частные переменные. У меня есть дочерние классы, расширяющие этот базовый класс, которые делают ссылку и изменяются этими частными переменными через функции базового класса. Вот пример, имейте в виду, я все еще смущен различием между private и […]
У меня есть набор классов, которые имеют привычку многократно вызываться с теми же аргументами. Эти методы обычно запускают запросы к базе данных и строят массивы объектов и т. Д., И поэтому, чтобы вырезать это дублирование, я разработал несколько методов кэширования для оптимизации. Они используются так: Перед применением кеширования: public function method($arg1, $arg2) { $result = […]
Допустим, у вас есть абстрактный класс: abstract class PersonAbstract { private $name = "Stack Overflow"; } Является ли законным объявлять атрибут как частный в абстрактном классе? Или тот факт, что этот класс должен быть расширен, минимальная видимость защищена ?
Этот вопрос кажется достаточно простым, но я не могу найти ответ нигде … В начале моего php-скрипта / файла я хочу создать переменную. $variable = 'this is my variable'; Я хочу, чтобы эта переменная была доступна в пределах всего скрипта, так что все классы, методы, функции, включая скрипты и т. Д., Могут просто вызвать эту […]
Если у меня есть экземпляр в PHP, то какой самый простой способ получить статическое свойство («переменная класса») этого экземпляра? Эта $classvars=get_class_vars(get_class($thing)); $property=$classvars['property']; Звук действительно преувеличен. Я бы ожидал $thing::property или $thing->property