За последние 24 часа нас посетили 17624 программиста и 1593 робота. Сейчас ищут 1545 программистов ...

__autoload для функций

Тема в разделе "Решения, алгоритмы", создана пользователем armadillo, 11 фев 2009.

  1. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    чтобы неиспользуемое НЕ подгружалось, когда не надо.
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Хе. Открыл америку. Знаю я это, мог бы фыркать.

    Фишка в другом. Твой вопрос появился из-за того, что архитектура программы, которую ты унаследовал, предельно убога. Вот и приходиться тебе извращаться.
     
  3. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
  4. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Не, ничего. Просто ты как-то на мой первый пост отреагировал резко. Надо же было чего-то ответить :)
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    jQuery же работает в обертках, и норм ;-)

    P.S. Вах, какой эффективный некропостинг получился! ;-)
     
  6. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    [vs]
    jQuery в обёртках? т.е. в классах, сделанных программистом? Ну так это нормально, зачем писать сложный код на каждой странице, если можно оформить в виде класса и выполнить нужное в виде пары вызовов? Другое дело, что jQuery сильно уменьшает это кол-во кода, а jQueryUI вообще охренительная штука. Главное не писать jQuery по второму разу :)

    armadillo
    Очень просто - как правило модули (считай классы, если это ООП) реализуют какой-то элемент - а это как правило вывод, модификация, добавление, удаление. Так вот, при выводе может использоваться несколько дополнительных объектов.
    К примеру:
    Вывод - парсер BBcode, вывод рейтинга (у меня это вынесено в статичный класс Html, в котором реализуются подобные вещи со сложной логикой, что бы в шаблонах небыло каши).
    Добавление и Модификация: Всё тот же парсер BBcode, чистящий всю лишную хрень, стрипающий HTML и.т.д. (либо HTML2BBcode парсер, если стоит WYSIWYG), загрузка фоток (как по прямой загрузке, так и по линку).

    Это простейший вариант и загружать при каждом вызове все 3 объекта смысла нету, когда одновременно нужно максимум 2. Это в простейшем варианте. У меня есть одно место в проекте, где вывод данных зависит от категории, в которой находиться элемент. Щас у меня 12 категорий - каждая имеет свой набор полей и специфику вывода, но всё это делается через хелперы. Без autoload мне пришлось бы прописать 12 инклюдов весьма немаленьких файлов. Именно в этом проекте я понял прелесть __autoload, и к чёрту небольшие задержки при подгрузке - они пренебрежительно малы.
     
  7. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    я не понимаю. ты мне объясняешь что такое autoload?
    я знаю, и именно про это завел ветку. Сделать то же самое для функций.
     
  8. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    armadillo
    Ты же написал "объясняй что такое __autoload" выше в теме, вот и получил лекцию с примером. Сам виноват :) Буду отучать вас от этой идиотской привычки брать на понт.
     
  9. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    я написал для Hight, который предложил инклудить весь проект в начале. Ты написал, что так не стоит - видимо для него. У кого понт и что по теме?
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Я имел ввиду, что там в некоторых случаях используются похожие конструкции - тоже в качестве аргумента функции вписывается функция (не для выполнения в eval конечно, но всё же ;-))
     
  11. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Там есть лямбда функции, а в php только костыли.