2017-11-11 8 views
0

別のクラスメソッドで配列にアクセスしようとしています。それを返すことで(配列を持つ変数)、別のメソッドでその配列にアクセスするか、var_dump関数でそれを使用すると、私のブラウザにNULLが表示されます。クラスのコードは次のとおりです。別のクラスメソッドで配列にアクセスする方法は?

class Rsl_Icon_For_Title {  
    public $myposts;  
    public function rsl_settings_page_get_data($myposts) { 
     $my_posts = new WP_Query;  
     $this->myposts = $my_posts->query(array('post_type' => 'post')); 
     return $this->myposts;    
    } 

    public function rsl_settings_page_render() {       
     var_dump($this->my_posts);     
    } 
} 

誰でも私のコードを修正して動作させるにはどうすればよいですか?ありがとうございました。

+0

これはあなた自身で書いてありますか? – Akintunde007

+0

@Akintunde私はこのクラスからかなりのものが欠けているので、私ははいと言うでしょう。たとえばコンストラクタと同じです。そして 'new WP_Query'はどこから来ていますか?私は他のファイルへの要求やインクルードを見ていません。自動ロード機能かもしれませんが、私はそのコードのレベルを考慮することは非常に疑問です。 – icecub

+0

これらのメソッド名!なぜなら、 'setPosts($ posts)'や 'getPosts()'のような単純な名前を付けてみましょう。あなたがパブリックメソッド名のためにラクダの大文字小文字を使用すべきであることを賢明に説明していますが、それは意見の問題です。通常、私はPSR-2コード標準に固執しようとします。 http://www.php-fig.org/psr/psr-2/ – ArtisticPhoenix

答えて

0

rsl_settings_page_get_data(); rsl_settings_page_renderで関数は() function.andは、my_posts

 <?php 
class Rsl_Icon_For_Title { 

    public $myposts; 

    public function rsl_settings_page_get_data($myposts) { 
     $my_posts = new WP_Query; 
     $this->myposts = $my_posts->query(array('post_type' => 'post')); 
     return $this->myposts; 

    } 
    public function rsl_settings_page_render() { 

     $this->rsl_settings_page_get_data(); 
     var_dump($this->my_posts); 


    } 
} 
+0

はい、彼がコンストラクタを定義している場合は、.rsl_settings_page_get_data関数が最初に実行されます.heはコンストラクタがありません.forは、myposts配列のrsl_settings_page_get_data関数を呼び出す必要があります。私に同意する?? –

0

あなたはの$ this - > mypostsを設定します$ this-> my_postsを戻ってきているを印刷します。

関連する問題