私はこのクラスがオブジェクトにインスタンス化された後に__constructパラメータを渡すことはできますか?
class Search
{
public function search($for, $regEx, $flag) //I would like this to be the constructor
{
// logic here
return $this;
}
}
様なコードスニペットを有しそしてI有し試行は、オブジェクトを使用するために、後でより、そこからオブジェクトを作成する別のクラス。
class MyClass
{
public function start()
{
$this->search = new Search();
}
public function load()
{
$this->search($for, $regEx, $flag);
}
}
私の質問は、それはそれにパラメータを与えるTHEN最初のオブジェクトを作成することは可能ですか?
私はこの
$this->search($params);
// I have my methods chained, so I could use it in one line like
// $this->search($params)->hasResults();
if ($this->search->hasResults()) {
echo 'found stuff';
} else {
echo 'didn't find anything';
}
ように私はそれが、今設定した方法をオブジェクトを使用したいので、私はこのようにそれを使用する必要があり、私はこれを回避するいくつかの方法があります知っているが、私は唯一頼みます
$this->search->search($params);
if ($this->search->hasResults()) {
echo 'found stuff';
} else {
echo 'didn't find anything';
}
私はロジックを行いsearch()
というメソッドを持っている、と私は私の命名に冗長になりたくないも、私はメソッドの名前を変更したいです。
私は、私は自分自身を導入しようとしています。同時にとても
$search = $this->search->search($params);
その後、
$search->hasResults();
のような変数を渡すことができ、視覚的な魅力の正気を保つために別の方法を知っています新しいOOPの概念を学び、それらから学ぶ。物事を参考にする必要がありますか?いくつかの種類の魔方法を設定していますか?
私はコンストラクタを直接呼び出すことができます??? – Eli
上記のコードを実行して確認してください。それはPHPの5.3.xバージョンで動作します – neeraj
それはあなたのために働いたのですか? – neeraj