0
バンドル内のクラスのほとんどが同じ名前を持っています。 CRMFirstSecondExternalまたはCRMSecondThirdExternalなどがあります。今私は$変数にFirstSecondまたはSecondThirdを格納し、クラス名の間でその$変数を使用して、そのクラスへの適切な呼び出しを行う必要があります。名前の間に変数を使用してクラスを動的にします。
use Escalon\Bundle\Admin\CRMBundle\Helper\CRMTravelExpenseExternal;
private function deletePreviousSchedule($params)
{
$queryParams = array();
$em = $this->getDoctrine()->getManager();
if($params['bundleAndTableName'] == 'EscalonAdminCRMBundle:ClientServiceTe')
{
$helper = 'TravelExpense';
}
//$helper = preg_replace("/[^a-zA-Z]/", "", $helper);
$crmEntityObject = new CRM.$helper.External;
$crmEntityObject -> deletePreviousScheduleExternal($params);
}
エラー:致命的なエラー:不明なエラー:クラスのEscalon \バンドル\管理\ CRMBundle \コントローラ\ CRMは「中には見られない
こんにちは友人感謝を行うことが可能です。その働き。しかし、私の場合、条件に応じて他のクラスにもアクセスする必要があります。だから私は私が私の質問に記載されているようにクラス名の間に変数を連結することができますソリューションスローが必要です。 – Undefined
条件に応じて異なるクラスにアクセスするための最初のソリューションを使用できない理由はわかりませんが、別のソリューションを追加しました。また、namespaceでクラスを指定するときに、最初の行に 'use Escalon \ Bundle \ Admin \ CRMBundle \ Helper \ CRMTravelExpenseExternal;'は必要ありません。 –
私はあなたの助けに感謝します。 – Undefined