|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 13 Aug 2002 11:45:07 To : Bulat Ziganshin Subject : Re: my $var -------------------------------------------------------------------------------- Здравствуй, Bulat Ziganshin. VM>>>>> Hо иногда приходится передавать большую кучу данных. Если можно VM>>>>> с тем же успехом брать их снаружи, зачем усложнять? AC>>>> Я в таких случаях передаю объект. Hа худой конец просто ссылку AC>>>> на хэш. Ибо использование глобальных переменных при скрипте AC>>>> длиннее пяти экранов обычно усложняет задачу. VM>>> Звучит солидно. А можно простой пример передачи объекта? С хешем VM>>> понятно. AC>> Hичем не отличается. func($object). Так, к примеру, в задаче AC>> вебовского движка есть объект "запрос". Который внутри себя таскает AC>> открытый хендл к базе данных (и отдает его методом dbh), объект CGI (и AC>> отдает его методом cgi), текущее состояние аутентификации (метод AC>> auth), умеет выставлять куки (метод set_cookie) и т.д. и т.п. Работа с AC>> ним внутри функции ведется соответственно: BZ> о, вот это другое дело. но объект - он и есть объект. а скажем опции BZ> порграммы, даже одним объектом, передавать везде и всюду - некузяво. мало BZ> ли на какой глубине потребуется узнать, case-sensitive у нас сортировка BZ> имён файлов или нет А они в том объекте не одни... Там и хендл к дазе банных бегает, и многое другое. Потом, когда это опции программы из командной строки, еще можно пережить my %opts уровня файла. А когда это вебовский движок из немалого количества перловых модулей - облом-с. Вот там и гуляет объект запроса из функции в функцию. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/144546c93d534.html, оценка из 5, голосов 10
|