2016-03-29 7 views
0

私はPHP.INIにエラーと警告を含めました。最後の2つのエラーは解決されました。 "空の値からデフォルトオブジェクトを作成する"どこから始めたらいいのか分かりません。PHP警告:空の値からデフォルトオブジェクトを作成する - 混乱しました

現行から拡張されたパブリッククラスが存在し、インスタンス化されたオブジェクトを持っていたので、!isset条件でインスタンスをネストしていたので、それは簡単でした。しかし、ここで

public function forward($forward) 
{ 
    $this->viewBean->_forward = $forward; 
} 

エラーは、この$に向いています。 オブジェクトのインスタンス化はありません。上記のメソッドは、抽象クラスの一部です。BaseController抽象クラスからオブジェクトをインスタンス化できないため、このPHP警告のデバッグ方法はまったく分かりません。

私はこのようにPHPに戻っ

+0

どうすればこのコードを表示しますか? –

+0

抽象クラスオブジェクトを作成できません..... – WisdmLabs

+1

これはできません。私は 'viewBean'がインスタンスを返し、' _forward'が変数ですオブジェクトの内部に書き込もうとしていますか?これは実際にどこに保存されているので、メモリに保存されませんか? (手がかり:あなたはいない) – KDOT

答えて

1

抽象クラスがサポートされていないコメントます、すべての情報が間違っている場合は私に知らせてください。

オブジェクトをローカル変数として保存して、そのデータを「記憶」する必要があります。使い方の

class Example 
{ 
    public $abstract; 
    public function forwards($forwards) 
    { 
     $this->abstract = $this->viewBean; 
     $this->abstract->_forwards = $forwards; 
    } 
    public function viewBean() 
    { 
     return new OtherClass; 
    } 
} 

// TODO: Add your other class with its Public variable 

例:

// <-- for newer supported php versions --> 
$exampleClass = (new Example)->forwards("add me!"); 
echo $exampleClass->abstract->_forwards; 

// <-- for depreciated php versions --> 
$exampleClass = new Example; 
$exampleClass->forwards("add me!"); 
echo $exampleClass->abstract->_forwards; 

これはあなたの問題を修正しますが、あなたは変数を転送したいと思いますなぜ、私が表示されないのですか? extendsを使用すると、コンテキスト内に保持されているプロパティとメソッドを継承する子クラスを作成できます。

いつも利用できる方法はcallbackです。

関連する問題