Rename function

Dio

Новичок
Rename function

Можно ли динамически переименовать или удалить функцию из объявления...
Скажем приблизительно так...

function foo() {

}

unregister_function("foo");

function foo() {

}

Просмотрел мануал от и до (и Reflection API тоже). Не могу найти такого.
 

Dio

Новичок
Я хочу создать что-то наподбие свойств как в C#. Что бы было приблизительно такая строка...

Код:
class Pr extends Property {
/**
* @property
*/
public $a;
publc function set_get_a() {
 function set($value) {
 }
 function get() {
  return $value;
 }
}
}
 

Dio

Новичок
Да всё верно класс Property от которого идёт наследование и занимается тем что обрабатывает __set и __get но ИМХО очень не разборчива получается. Поэтому я и думаю о записи которую бы и зенд видел как перменную. Потом через Reflection ищем атрибут в коментарии @property и если установлен то делаем unset перменной. А когда срабатывает на неё __set или __get запускаем соответсвенно нужную функцию... Но делить это на две функции set_a() и get_a() не удобно.. Хотелось бы что бы была функция a() в которой была бы констукция на подобие C#
 

Кром

Новичок
По-моему, твое решение слишком надуманно. Переносить специфические конструкции одного языка в другой, далеко не всегда оправдано.

>занимается тем что обрабатывает __set и __get но ИМХО очень не разборчива получается

Почему не разборчиво? Потому что не так как в C#?

>Но делить это на две функции set_a() и get_a() не удобно..

Почему не удобно? Потому что не так как в C#? :)

Почему нельзя сделать одну функцию, которая когда принимает один параметр, используется как get, а если два парамерта, то как set? И назвать ее a(). Хотя в этом случае можно обойтись 0 или 1 параметром.
 

Dio

Новичок
Блин потому что когда у тебя будет непонятная таблица внутри __set и __get это неразборчиво.. ИМХО.

Почему надумано.. Хочешь сказать если бы в PHP юзалась бы конструкция как в C# ты гнал бы всё равно через функции __get и __set.

Я просто пытаюсь добится большей читаемости кода!

-~{}~ 24.03.06 14:43:

Кстати на счёт set_a() и get_a() в принципе юзать моно. Но лучше бы без них... Какя-то конструкция типа

если бы были макросы как в C++ уххх.. сила была бы..
 

Andreika

"PHP for nubies" reader
>если бы были макросы как в C++ уххх.. сила была бы..
точно! и 10проходной интерпретатор! мощщщ!
 

Кром

Новичок
Я не понимаю тебя, если честно. И не понимаю при чем тут "непонятная таблица", C#, get/set и читаемость кода.
В php достаточно возможностей, чтобы все было понятно и читаемо.

Если мне нужно делать get/set в одной функции я могу написать примерно так:
function GetSetFunc($var = '', $par = '')
{
if ($par)
$this->$var = $par;
else
return $this->$var;
}

Делов-то.
 
Сверху