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);
}
오류 : 치명적인 오류 : catch되지 않은 오류 :.에서 찾을 수 없습니다
안녕 친구 덕분 할 수도 있습니다. 그 일. 하지만 제 경우에는 조건에 따라 다른 클래스에 액세스해야합니다. 그래서 나는 내 질문에 언급 한 클래스 이름 사이에 변수를 연결할 수있는 솔루션 던져 필요합니다. – Undefined
조건에 따라 다른 클래스에 액세스하는 첫 번째 솔루션을 사용할 수없는 이유는 확실치 않지만 다른 솔루션을 추가했습니다. 또한 네임 스페이스를 사용하여 클래스를 지정할 때 첫 줄에'use Escalon \ Bundle \ Admin \ CRMBundle \ Helper \ CRMTravelExpenseExternal; '이 필요 없습니다. –
도와 주셔서 감사합니다. – Undefined