|
|
|
|
<?
class a {
function a($param) {
}
}
class b extends a {
function a($param, $param2) {
}
}
|
т.е. нужно переопределить функцию в дочернем классе но с другим набором аргументов, кровь износу нужно=)
пхп ругается что такая тема устарела.
В данный момент юзаю
func_get_args + list()
но считаю это кривым) | |
|
|
|
|
|
|
|
для: sl1p
(03.11.2010 в 14:50)
| | а если так вызывать
? | |
|
|
|
|
|
|
|
для: sl1p
(03.11.2010 в 14:50)
| | А там нельзя немного переделать родителя?
У меня такой вариант:
<?php
class a {
protected $param = array();//делаем массивом и приватным ресурсом
function a($this->param) {
}
}
class b extends a {
function a($this->param) {
}
}
|
а дальше уже запихиваем в массив сколько угодно элементов( $this->param[0],$this->param[1] ) | |
|
|
|
|
|
|
|
для: Лена
(03.11.2010 в 15:17)
| | так не приватный же ресурс :) | |
|
|
|
|
|
|
|
для: Лена
(03.11.2010 в 15:17)
| | мм можно но просто у меня таких классов куча, достались со старых библиотек..
дочерних классов "a" может быть очень много и у всех свои параметры.. так что переделывать родителя нет смысла.. | |
|
|
|
|
|
|
|
для: sl1p
(03.11.2010 в 15:31)
| | >дочерних классов "a" может быть очень много и у всех свои параметры.. так что переделывать родителя нет смысла..
можно попробовать чуть-чуть переделать :)
Другой вариант пришел на ум:
посмотреть, какое максимальное количество аргументов может быть в методе дочернего класса, в родительском классе в методе указать это количество аргументов:
<?php
class a {
function a($param1,$param2=null,$param3=null,$param4=null) {
}
}
|
| |
|
|
|
|
|
|
|
для: Лена
(03.11.2010 в 16:47)
| | кривее не придумать)
дочерние классы не известны, они могут подключаться как плагины.
помоему самый стильный вариант мой =) | |
|
|
|
|
|
|
|
для: sl1p
(03.11.2010 в 21:06)
| | >дочерние классы не известны, они могут подключаться как плагины.
Рассказывать надо подробней, чтобы понятно было, в чем дело. Телепатов здесь нет, вашей системы никто не знает, поэтому додумывать на голом месте за вас никто не будет.
>помоему самый стильный вариант мой =)
На здоровье. Идите и гордитесь собой. :) | |
|
|
|
|
|
|
|
для: Лена
(03.11.2010 в 21:19)
| | Вы только не обижайтесь :)
Я сказал то что есть=) он более гибок чем проставить 999 параметров смотря на какойто дочерний класс)
А зачем Вам знать мою систему?
Я сказал есть класс родитель, могут подключаться дочки(плагины) с разным кол-во параметров такой же функции. Помоему всё что надо я сказал. | |
|
|
|
|
|
|
|
для: sl1p
(03.11.2010 в 21:22)
| | > могут подключаться дочки(плагины) с разным кол-во параметров такой же функции.
А теперь перечитайте первый пост.
Там показаны две функции, не более. Логично предположить, что вы с этими двумя функциями и мучаетесь, не так ли? Или плагины - это логичнее? | |
|
|
|
|
|
|
|
для: neadekvat
(03.11.2010 в 21:52)
| | почитайте ниже первого поста, там какбы всё равно объснил. | |
|
|
|