2013-09-24 4 views
0

У меня есть скрипт с переменными в классе ($ slug).Как исправить ошибку Создание объекта по умолчанию из пустого значения

Когда я запускаю этот скрипт, он работает, но я получаю предупреждение: Предупреждение: создание объекта по умолчанию из пустого значения. Я знаю, я могу скрыть эти предупреждения в своем php.ini, но как можно исправить это предупреждение?

$test = new myclass(); 
class myclass { 
    private $order; 

    public function __construct() { 
     $this->order = (object) NULL; 
    } 
    public function setVars($slug, $number) { 
     $this -> order -> $slug -> number = $number; 
    } 

    public function getVars($slug) { 
     echo $this -> order -> $slug -> number; 
    } 
} 
$test -> setVars($slug="hello", $number=5); 
$test -> getVars($slug="hello"); 
+0

1) Вы instanciating OBJ ect перед определением класса. 2) Измените значение по умолчанию для метода: function setVars ($ slug, $ number = 5); – rogeriolino

+0

@rogeriolino, извините: это не исправляет мою проблему ... – user2753885

ответ

0

Просто определите объект заказа, как stdClass

public function __construct() { 
    $this->order = new stdClass(); 
} 


посмотреть: Creating default object from empty value in PHP?

также это: http://www.php.net/manual/en/language.oop5.basic.php

+0

извините: это не исправляет мою проблему ... новый stdClass() == (object) NULL – user2753885

+0

попробуйте это тоже: http: // stackoverflow .com/вопросы/13323993/PHP-5-4-отключить предупреждения создающей-умолчанию-объект-из-пустому стоимости –

Смежные вопросы