Спасибо @everyone .. Я наконец получил ответ на этот вопрос.Так что причина, по которой я отдаю это @Dragos, заключается в том, что телефонный завод кажется лучшим подходом к этому.Итак, все, что я сделал, это создал два класса.Одним из них является Сельское хозяйство, у которого есть метод для получения свойств того, что было вызвано с использованием «getAll ()», а другим является HandleAgric, который также имеет «getAll ()».HandleAgric имеет свой собственный setClass, который является статическим, и каждый раз, когда он вызывается, он создает новое Сельское хозяйство со своим параметром по умолчанию.Итак, оба класса будут иметь setClass () и getAll () в качестве метода.Примерно так
<?php
class HandleAgric{
private static $Agriculture;
public function __construct(){
self::setClass();
}
function __call($method,$args){
$self = new self;
if(method_exists($self::$Agriculture, $method)){
$call = call_user_func(array($self::$Agriculture, $method));
return $call;
}
return trigger_error("Error Found!!! Aborting");
}
public static function setClass($class=null){
self::$Agriculture = new Agriculture;
$call = self::$Agriculture->setClass($class);
return $call;
}
}
//Example of usage
$Agric = new HandleAgric();
$Plant = $Agric::setClass("plant");
$Animal = $Agric::setClass("animal");
$Plant->setProperties($arrayList);
$Animal->setProperties($arrayList);
@ $Plant->getAll() //return plants properties in array;
@ $Animal->getAll() //return Animal properties in array;
@ $Agric->getAll() //return Agric (both plant and animal) properties in array;
?>
Я считаю, что это намного лучше.