11.12.2010, 11:49
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
Цитата:
|
А если брать файлы с официального сайта, то там столько папок что всё равно не пойму как это добавлять на сайт.
|
Первое что нужно сделать это настроить автозагрузчик, чтобы не гемороиться с инклюдами.
Как уже писал: допустим ZF в папке /php/Zend/. Теперь туда нужно положить файлы из ZF:
1. Exception.php
2. Loader.php
3. Папку Loader
Всё, больше ни каких файлов и папочек пока не надо. В папке Zend, кроме перечсленных файлов больше ни чего нет. Теперь можно подключать автозагрузчик. Тут самое главное это set_include_path($_SERVER['DOCUMENT_ROOT'] . '/php/'); Т.к. Loader будет пытаться подключить скрипты из дирректории Zend/ а мы договорились что она у нас спрятана в php/.
Допусти нам понадобился класс для работы с кэшем:
Ложим в папку php/Zend/ следующие штуки из ZF:
1. Cache.php
2. Cache/
Всё, терерь можно писать код:
$cache = Zend_Cache::factory('Core', 'File',
array(
'lifetime' => 60, // Время жизни кэша
'automatic_serialization' => true // Автоматическая сериализация
),
array(
'cache_dir' => $_SERVER['DOCUMENT_ROOT'] . '/files/cache/'
)
);
// Если не удалось загрузить из кэша
if(!$CONTENT = $cache->load('content') ) {
// .. например обращение к БД
// Запись результата в кэш
$cache->save($CONTENT, 'content');
}
print $CONTENT;
Цитата:
|
Огромное спасибо, ещё раз что стараешься помочь.
|
Да не за что, когда скука наваливается это даже интересно.
P.S.: Я тоже долго с этим разбирался.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
11.12.2010, 11:52
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
Цитата:
|
Loader будет пытаться подключить скрипты из дирректории Zend/ а мы договорились что
|
Вот это важно! папка Zend должна быть
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
11.12.2010, 12:24
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,578
|
|
Сообщение от mycoding
|
Спасибо Tim, но я отказался от идеи использовать Zend.
Пишу свои классы.
|
Есть такое понятие как микрофреймворк. Может проще тебе с этого начать.
Вообще плюсы фреймворков видны только тем, кто именно хорошо умеет с ними работать. А тут разобраться может будет даже сложнее чем просто с php.
Я лично - друпалом занимаюсь. Хотя это CMS/CMF все таки, а не просто php фреймворк.
Сообщение от mycoding
|
А вообще он даром не нужен и всё на серверной стороне я могу и хочу написать сам.
|
ты сам все не напишешь. Можешь конечно начинать потихоньку ...
Tim, а ты друпалом продолжаешь заниматься?
|
|
11.12.2010, 12:57
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
по поводу использования фреймворков... я ориентируюсь в первую очередь на ясность кода, читабельность и по возможности максимально упрощаю себе задачу. Поэтому я использую фреймворки. Вместо того, чтобы оптимизировать все, что движется, я оптимизирую только узкие места. Поэтому я не пишу фреймворки
если принято решение отказаться от использования фреймворков, в результате потребуется изобрести свой фреймворк. Т.е. должно быть как минимум 2 уровня: ядро и прикладной. Писать весь код, как будто это ядро... я себе не желаю такой участи
|
|
11.12.2010, 13:44
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 02.02.2011 в 15:26.
|
|
11.12.2010, 14:36
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Gozar
|
Иногда люди в попытках подогнать всё под то, что есть заходят так далеко, что забывают первоначальную цель.
Первоначальная цель - разработка работающего приложения.
|
не забывают. Просто в задачах чуть более сложных, чем "Hello, world!" в любом случае есть низкоуровневый код (ядро) и высокоуровневый (прикладной уровень). Даже если такое разделение в коде явно не присутствует. Требования к производительности ядра, очевидно, выше. Поэтому там приходится пренебрегать ясностью кода. В прикладном уровне это не так критично, поэтому можно "пренебрегать производительностью". Для меня ясность важна потому, что она позволяет писать код быстрее, совершая меньше ошибок и мне потом легче вносить изменения в этот код. Разве я отошел от цели?
Разница между использованием и неиспользованием ФК в том, что при отказе от ФК нужно изобрести свой. Потому что нельзя писать понятный и оптимизированный код. Надо выбрать что-то одно. Ты, похоже, выбрал оптимизацию. Ну что ж, наверное, тебе не нужен framework
|
|
11.12.2010, 16:19
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 02.02.2011 в 15:26.
|
|
11.12.2010, 16:23
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 02.02.2011 в 15:26.
|
|
11.12.2010, 16:42
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
micscr,
Да всё времени не было. Буду обязательно с ним разбираться.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
11.12.2010, 18:49
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Gozar
|
Я считаю что всё что работает на сервере должно работать максимально быстро.
|
что значит максимально быстро? Выигрыш в 1 мкс при загрузке страницы имеет значение? Ты прилагаешь усилия, не зная насколько они оправданы. Конечно, ты можешь сказать, что никаких усилий не прилагаешь. Может просто потому что ты привык? Я же предпочитаю простоту и хочу знать, зачем я что-то делаю
Сообщение от Gozar
|
Опишите задачу в которой требуется использовать ФК и на решение этой задачи без использования ФК уйдет намного больше времени иначе наш разговор не имеет смысла.
|
на самом деле да, без конкретных примеров все это очень абстрактно и можно очень долго спорить. Кроме того, я не очень понимаю, что такое код без использования ФК. phpbb что ли? О скорости и меньшем количестве ошибок я сужу в первую очередь по этому опыту. Перейдя от первого ко второму я заметил, что допускаю меньше ошибок и работаю быстрее. Но фреймворк - это нечто подобное, он поднимает уровень абстракции
Сообщение от Gozar
|
Я не спорю что ФК нужны или нет, мне без разницы. Я упоминал что для того чтобы использовать ФК нужно только ответить на вопрос - зачем?
|
потому что за меня написали часть сайта. Низкоуровневую. И я могу сосредоточиться на реализации функционала
Сообщение от Gozar
|
Есть ещё один нюанс, без знания этого ФК, другой разработчик не сможет продолжить разработку, совместная продуктивная разработка возможно только если разработчики пишут на одном ФК.
|
сможет, если захочет. Тем более, что это не начинать разработку сайта с нуля на фреймворке. В случае необходимости можно посмотреть на реализацию существующего функционала. Ну и распространенность фреймворка в общем-то да, имеет значение, по-крайней мере для работодателя. Но ведь с ЯП та же ситуация, если сайт написан на Erlang у последующих программистов будут проблемы с поддержкой. Причем, "выучить ЯП" != "выучить фреймворк"
Сообщение от x-yuri
|
Разница между использованием и неиспользованием ФК в том, что при отказе от ФК нужно изобрести свой. Потому что нельзя писать понятный и оптимизированный код. Надо выбрать что-то одно.
|
Сообщение от Gozar
|
Вывод который следует ниоткуда, вернее ничем не подтвержден.
|
если не использовать фреймворк, надо самому придумать правила, в соответствии с которыми будет строиться приложение. Про ясность и оптимизацию - вроде тоже очевидно. Чем больше оптимизируешь, тем сложнее код. Вроде бы об этом пишут все, кому не лень. Где я не прав?
Сообщение от Gozar
|
Опять получается холивар.
|
ну слюной пока вроде никто не брызгает и хорошо и я не хочу доказать свою правоту во что бы то ни стало. Мне больше хочется узнать для себя что-то новое. Но пока что, мне кажется, что дело в том, что у нас разные приоритеты. И со своей стороны, я тоже не вижу, зачем их менять
|
|
|
|