![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2001
Адрес: Москва
Сообщений: 166
|
все привыкли повторяющийся кусок текста выносить в отдельный файл и просто инклюдить, а повторяющийся элемент кода выносить в ф-цию(кот. тоже можно вынести в отдельный файл) и потом вставлять собственно ф-цию. Как сделать ф-цию, которая будет передавать управление другой наперед не известной ф-ции? На многих сайтах используются сессии для передачи информации о пользователе (например) от одной страницы сайта другой. Т.е. мы имеем нечто вроде:
if(session_is_registered("valid_user"))
{
//какой-то набор действий
}
else
{
echo"идите регистрируйтесь";
}
я веду к тому, что нельзя ли сделать что-то вроде (считаем что $valid_user - глобальная переменная): Не то чтобы это сильно повлияло на скорость, но читабельность по-моему должна возрасти.
__________________
Если что-то может случиться... оно обязательно произойдет |
|
|||||
|
Мне кажется, стоит попробовать так:
class A { function doOne() { } } class B { function doOne() { } } То есть функция одна, но для разных классов. Потом делаешь: $a=new A; $b=new B; function SIR($obj) { if(session_is_registered("valid_user")) { $obj->doOne(); } else { echo"идите регистрируйтесь"; } } И вызываешь свою функцию SIR для разных объектов: SIR($a); SIR($b); Вот и все дела. Мне кажется, должно раюотать. ------- Гы, а вот сишные конструкции типа void (*mysig(int sig, void(*hndlr)(int)))(int) в пхп невозможны, если я не ошибаюсь .
__________________
suum quique |
|
|||||
|
Регистрация: Jun 2001
Адрес: Москва
Сообщений: 166
|
единственное что, не нравится мне идея использоватьдля такой малой феньки объекты, они же каждый раз будут новую копию в памяти создавать, а это... ну тупо это и некрасиво, и упераемся мы опять в тоже самое, ссылка на объект)))
я так думаю, мы же можем передавать ссылку на переменную получим 2 при том что получим 1 особенно это имеет смысл для переменных с большими значениями, например для массивов вот надо будет попробовать так же с ф-циями поступить, может прокатит, а если не прокатит, то только твой вариант остается, но просто тогда кажись овчинка выделки не стоит
__________________
Если что-то может случиться... оно обязательно произойдет |
|
|||||
Нувы блин даете ... Если ныжно передать "контроль" наперед неизвестной функции напиши Что может быть проще ![]() |
|
|||||
|
Регистрация: Jun 2001
Адрес: Москва
Сообщений: 166
|
снимаю шляпу, опробовал, все прокатило, уважение отцу
__________________
Если что-то может случиться... оно обязательно произойдет |
![]() |
Часовой пояс GMT +4, время: 23:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|