2016-10-17 18 views
-2

私のスクリーンショットでは、かなり徹底的なルーチンを実行する関数のリストがあります。変数を複数の関数に渡す方法

これまで、私はこのルーチンを複数のクラスで繰り返していましたが、今では、これらの複数のクラスを1つのクラスに統合し、その関数に変数を渡して返す出力を決定します。

私は変数を "one"関数に渡す方法を知っていますが、変数($ this_id)を以下の複数の関数にどのように渡すことができますか?基本的には、このthis_idがget_output($ this_id)から何であっても;同じ変数値を他の$ this_id関数に引き継がれたいのです。スクリーンショットを参照してください...

私はオンラインで検索し、私が見たすべての答えは非静的な方法でこれを行う方法を示していますが、私は物事を静的に呼び出すことに慣れています。私はobj方法を試みたが、それを働かせることができなかった。

例、実行...

$header = 'CustomTheme_output'; 
$header::get_output('header'); 

(コードは、私がこれまでに複数の方法を試してから持っているもので、任意の失うのコードを無視してください。プライベートの$ idと__constructがオンラインソリューションからです私は試しています)

私はこれを正しく達成する方法について私に手がかりを与えてください。私はすべての反復コード、フォルダ、ファイルを取り除くことができてうれしいです! - ありがとう!

public function foo($this_id) { 
    $this->bar($this_id); 
} 

それとも、それクラス属性行い、単に様々な方法からアクセス:

enter image description here

+1

決してスクリーンショットを投稿するコードをコピーして貼り付けるので、入力する必要はありません。 –

+0

私のコードは私がSOの投稿で見たコードより長いので、私はしませんでした。これは1500行近くのコードになります。私は、実際の目的/質問とはまったく関係のないコードを読む必要なしに、別の開発者が理解できる達成する必要があると言っていることの本質を捉えたと感じます。私はどのようにこれに答えるべきかを私に教えるのに必要ではないと判断しました(私は思います)。私はどのようにして誰かが同じものを投稿したことを知っていれば、私の質問がよりよく言われるべきだと思うなら、私に知らせてください。 –

+0

ちょうどまた止まる。私はdevsがコードを実際に入力していることを知らなかった。申し訳ありませんが私は最初の応答でそれを逃した。それに言及してくれてありがとう。しましょう。ありがとう! –

答えて

1

どちらのあなたは、各メソッド呼び出しに直接渡す

public function foo($this_id) { 
    $this->id = $this_id; 
    $this->bar(); 
} 

public function bar() { 
    do_something($this->id); 
} 
+0

ありがとうございます。だから、この非静的なやり方は、私が新しいので少し混乱しています。私はあなたのスクリーンショットから関数の例を提供することができますので、私はよく理解できますか?私の出力関数のそれぞれについて、public関数UniqueName_output($ this_id){$ this-> get_output($ this_id)Then my code ...}を実行する必要があると言っているようです。 –

関連する問題