Я новичок в пхп , перешол с джава .. Наткнулся на трудности работы с Reflection в пхп ..
Пытаюсь получить имя объекта как строку , который будет передан в параметр дата для
validate()
функции ..
validate()
передаст на проверку типов и относительно проверки типов вызовится метод .
Проблема в том что
getShortName();
выдаёт имя в массиве и я не могу сравнить с тем именем который указал в строке .. Как я могу получить имя того типа класса который будет передан вовремя выполнения в виде строки ?
class Validator {
private $regData;
private $loginData;
private $contactData;
private $errors = [];
private function getRegData():RegistrationData{
return $this->regData;
}
private function getLoginData():LoginData {
return $this->loginData;
}
private function getContactData():ContactData{
return $this->contactData;
}
public function __construct(){}
public function validate($data):Validator{
$this->checkClassType($data);
return $this;
}
private function checkClassType($data){
$type = new ReflectionClass($data); // Need to be passed name of Class as string .
$type->getShortName();
if("RegistrationData" == $type) {
$this->regData = $data;
$this->RegistrationValidator();
}elseif("LoginData" == $type) {
$this->loginData = $data;
$this->LoginValidator();
}elseif("ContactData" == $type) {
$this->contactData = $data;
$this->ContactValidator();
}
}