メソッドsaveToTable($ table)を持つクラスバーがありますが、$ tableのデフォルト値が必要ですが、その値は動的である必要があります。動的値は、バーが拡張されているクラスの名前にする必要があります。PHPでクラス名を取得し、文字列に変換して変数に格納する方法はありますか?
class Bar {
public function saveToTable($table) {
}
}
class Foo extends Bar {
}
$bar = new Foo;
$bar->saveToTable(); // in which case saveToTable() would have a param of 'foo' i.e. saveToTable('foo');
現時点で私が使用しています解決策は、明示的にバーを拡張し、それをそれらのクラスの名前の文字列値を割り当てるすべてのクラス内の$表のプロパティを指定しているが、これは私のアプリを作るの目的を台無しにしてしまいます動的であり、それはかなり面倒でエラーになりやすいでしょう。
これは本当に悪いデザインですが、削除する必要があります。クラスの名前のような実装の詳細とビジネスロジックを混在させないでください。 –
大丈夫、そうです、それであなたは何をお勧めしますか? – Alex