Я хочу перегрузить два метода в модели структуры Yii.
Здесь я хочу сказать, что, как и в Java, у нас есть метод перегрузки метода, метод метода имеет одно и то же имя, но отличается количеством параметров, передаваемых этому методу. Таким образом, подобная концепция может применяться в классе модели PHP Yii. В классе модели Yii я хочу создать два метода, например,
public function test(){ //method logic } public function test(int parameters){ //method logic }
Можно ли создать подобное? Я получаю ошибку, как «не могу определить одну и ту же функцию».
То, о чем вы говорите, не поддерживается в PHP. Вы можете попробовать использовать значения по умолчанию в аргументах функции . Напр.
function foo($int_param = 0) // do something
Вы также можете использовать func_get_args . Вы определяете свою функцию, чтобы не принимать параметры, а затем получать аргументы с помощью func_get_args ().
Эти подходы подходят, если между функциями, которые вы пытаетесь реализовать, нет большой разницы.