У меня есть пользовательский тип продукта WooComerce, и мне нужно получить доступ к URL-адресу корзины из него. Казалось бы, достаточно просто: class WC_Product_My_Product extends WC_Product_Simple { public function some_method() { global $woocommerce; $href = $woocommerce->cart->get_cart_url(); } } Однако: Fatal error: Call to a member function get_cart_url() on a non-object Что может быть неправильным? Является $woocommerce […]
class User{ public $company_name; } class Employer extends User{ public $fname; public $sname; } это test.php, который я создал. Я включил файл класса. $employer = new Employer(); $user = new User(); $employer->company_name = "Company name is "; echo $user->company_name; Когда я печатаю имя, ничего не происходит, сообщите мне, что случилось с моим кодом.
по каким-то причинам наша хостинговая компания использовала PHP 5.2 и даже не предустанавливала предустановки mysqli и PDO. У меня нет выбора, кроме как переписать часть моего кода, чтобы сделать его совместимым с 5.2. Вот мой вопрос: В PHP 5.2 Анонимная функция не поддерживается, поэтому я сделал следующий тест, чтобы убедиться, что я правильно меняю код: […]
У меня есть метод «getter», например function getStuff($stuff){ return 'something'; } если я проверил его с empty($this->stuff) , я всегда получаю FALSE , но я знаю, что $this->stuff возвращает данные, потому что он работает с echo. и если я проверю его с помощью !isset($this->stuff) я получаю правильное значение, и условие никогда не выполняется … вот […]
Я пытаюсь динамически добавлять методы из внешних файлов. Прямо сейчас у меня есть метод __call в моем классе, поэтому, когда я вызываю метод, который я хочу, __call включает его для меня; проблема в том, что я хочу вызвать загруженную функцию, используя мой класс, и я не хочу загружать функцию вне класса; Class myClass { function__call($name, […]
Я пытаюсь создать виджет в WordPress, и я столкнулся с проблемой создания объекта SimpleXMLElement. Вот код: namespace GenieKnows_Search; class GenieKnows_Search_Widget extends \WP_Widget { //Constructor function __construct() { parent::__construct('genieknows_search_widget', 'GenieKnows_Search_Widget'); } //Irrelevant Code. Removed for readability. //Return the XML function retrieve_gk_xml() { $xml = new SimpleXMLElement($this->create_gk_xml(), 0, true); //Line 114 return $xml->xpath('/feed/results/sponsored/listing'); } } Вот ошибка: […]
Я столкнулся с ситуацией, в которой мне нужно вызвать __destruct если условие истинно в __construct ! как вызвать деструктор в конструкторе? есть ли способ для этого? Я могу сделать это с помощью трюка, но мне нужно сделать это внутри моего класса, цель состоит в том, чтобы уничтожить класс, если он не соответствует моим критериям. РЕДАКТИРОВАТЬ […]
Я изучаю OO и классы, у меня есть пара вопросов об OO и классах PHP Насколько я понимаю, класс, который расширяет другой класс, просто означает, что класс, который расширяет другой класс, имеет доступ к переменным / свойствам и функциям / методам класса, из которого он распространяется. Это верно? Я знаю, что статический метод или свойство […]
Я пытаюсь запустить запрос в базу данных MySQL из класса, и он почему-то не работает. У меня есть класс в отдельном файле, с которым я связываюсь с функцией require_once() . вот как выглядит главный .php-файл: <?php require_once("connect.php"); require_once("theClass.php"); $a = new theClass; $a->runQuery(); } connect.php: <?php //connect to mySQL database $mysqli = new mysqli("host", "user", […]
Я решил этот вопрос своим. Имя файла было неправильным. Всем привет! Я создаю CMS, например Drupal и Joomla. Я работаю над функцией модуля (плагинами), и я получил следующую ошибку: Fatal error: Class 'settings' not found in C:\wamp\www\SYSTEM\view.php on line 22 Вот мой код: start.php <?php //First of all, start with some advertisement header("X-Powered-By:ZOMFG CMS, and […]