я вот знаю что в Delphi например есть возможность переопределения процедур, например
procedure init(val: string) overload;
procedure init(val1: string; val2: integer) overload;
можно ли сделать подобное в php?
Примечание:
обидно, классы есть, ооп есть, а переопределения нетю(((
Примечание:
PiONeeR >> а способы работы с этой функцией знаете? можете пример привести?
none7 >> не совсем понятна идея, можно по подробнее?
Примечание:
Ленивец >> разнообразие функций у которых назначение одинаковое но в зависимости от аргументов несколько иной код делает огромное нагромождение функций со схожими именами, а хочется красиво)
Примечание:
про include не знабыл конечно же, но если будет так, кому приятно:
new_func(val)
new_func_1(val1, val2)
new_func_2(val1,val2,val3)
new_func_3(val1,val2,val3,val4)
new_func_4(val1,val2,val3,val4,val5)
даже если давать разные имена все равно их много, а енто не красиво
Примечание:
так я и хотел сделать переопределение, что бы вызывать одно имя функции но с разными параметрами, в зависимости от которых будет выполнятся та или иная процедура
Примечание:
есть некий модуль, он выполняет запросы(модуль изначально был написан не мной, оптимизирую), так вот, в нем есть несколько типов процедур:
executeSqlFromPool($sqlName, $moduleName, $is_limit, $start, $len, $parameters = array(),$replaceParametrs=array(), $new_params=array())
executeSqlFromPoolSimple($sqlName, $moduleName, $is_limit, $start, $len, $parameters = array(), $replaceParametrs=array())
executeSqlFromPoolSmall($sqlName, $parameters = array(), $moduleName, $replaceParametrs = array())
суть у них одна, но различные действия, не много, вот что бы такого хренового разнообразия не было, я хотел сделать что-то типа
executeSqlFromPool($sqlName, $moduleName, $is_limit, $start, $len, $parameters = array(), $replaceParametrs=array(), $new_params=array())
executeSqlFromPool($sqlName, $moduleName, $is_limit, $start, $len, $parameters = array(), $replaceParametrs=array())
executeSqlFromPool($sqlName, $parameters = array(), $moduleName, $replaceParametrs = array())
ты сколько указал переменных такая из них и выполнилась, и это еще не все процедуры, их там больше, вот...
Примечание:
вообще то есть, у делфи я такое видел
procedure init(val: string) overload;
procedure init(val1: string; val2: integer) overload;
а потом вызываешь
init("New") или
init("Other", 10)
Примечание:
>> Не плохо было бы сперва язык узнать, а потом уже "оптимизировать".
язык я знаю, просто не все тонкости, вот и хочу узнать, есть ли таковая возможность, я бы прислал реальный пример из дельфи, но исходники дома, я делал подобные вещи там
Примечание:
опишу по подробнее
procedure sql(var tableName : string) overload;
begin
// выполняем обычный SELECT запрос из таблицы tableName который ни чем не ограничен
// выводим таблицу с результатом
end;
procedure sql(var tableName: string; Limit : Integer) overload;
begin
// выполняем запрос SELECT из таблицы tableName который ограничен по количеству записей на число указанное в Limit
// выводим таблицу с результатом
end;
теперь если нам надо выполнить запрос с ограничением мы пишем sql("users",10); например нам надо 10 пользователей, а вот когда надо всех, то мы пишем sql("users");
компилятор сам определяет какая функция нам нужна, с ограничением или без .в зависимости от того сколько параметров мы передаем
Примечание:
это пример на дельфи, вот хочу вытворить такое же на php, вот и интересуюсь, имеется ли возможность)))