![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Markup/Записи в блоге |
Markup
Голосов: 5 Адрес блога: http://lusever.livejournal.com/ Добавлен: 2007-12-23 12:13:17 блограйдером lusever |
|
CodeIgniter + Zend Framework + Doctrine
2009-01-09 05:33:48 (читать в оригинале)Последний раз вплотную на php я что-то делал два года назад. За это время технологии прилично продвинулись вперед. Тогда вообщем-то было все тоже самое, но валилось из-за сырости, требовало постоянное ковырения в php.ini, конфиге апача и phpMyAdmin. А самое плохое – были завязаны сами на себе.
Сейчас же можно смотреть вебдванольненькие документации, с хорошим поиском и хоть каким-то количеством готовых решений.
А еще, не нужно лезть в phpMyAdmin, с помощью Doctrine можно запросто написать всю структуру в YAML файлах. А она сама запишет в БД со всеми зависимостями и индексами, да еще модели сгенерирует в специальную папочку.
CodeIgniter задаст легкую структуру приложения, не нужно выдумывать расположение файлов, шаблонные движки, писать тыщуодну MVC. А модели будут из Доктрины, он не против.
А если нужна авторизация, OpenId и еще что-нибуть такое стандартное, но хочется отлаженное и без копания в чужом коде – берем Zend Framework с его коллекцией классов. Он вообще изначально проектировался так, чтобы все компоненты не зависели друг от друга, а интегрировались.
На самом деле, самым без проблемным оказался CodeIgniter. Убрал везде index.html, перенес все в директорию cgi-bin и наслаждаюсь.
Потом добавил Doctrine. И час искал тот метод, который генерит таблички без использования консоли.
Doctrine::createTablesFromModels(APPPATH . 'models');
И тут как раз оказалось, что ей нужен PDO. Он был установлен у хостера. Установлен сам по себе, без драйверов :) Пришлось лезть в консоль. Собрал. Т.е. собрал все модули которые нужны. Переписал php.ini. Заработало. Очень понравилось. Единственное, в типах столбцов всегда нужно указывать что они NOT NULL.
---
Articles:
columns:
id:
primary: true
autoincrement: true
type: integer(4)
notnull: true
url: { type: string(255), notnull: true }
text: { type: string, notnull: true }
А вот Zend'а, моя сборочка встретила холодно.
Zend_Loader::registerAutoload('Zend_Loader');
Тут php бросался варнингами. Оказалось где-то в самом конце CodeIgniter проверял if (class_exists('CI_DB') AND isset($CI->db))
, что вызывало у зенда стойкое желание подгрузить класс CI_DB. В сообществе об этом знают, но не используют. Убрал автолоад и стал подгружать вручную, на четыре строчки оказалось больше.
И нужно мне подсоединить OpenId. Там проблемы возникли у всех. CodeIgniter ругался на роутинг (у него инеграция с PHP4, но специфичная форма роутинга, которую удалось запустить только созданием хука), Zend отказывается принимать жж. А Доктрину не понятно как сюда вообще вписывать.
Вывод: эти технологии рассчитаны на будущее. Когда у каждого будет свой выделенный сервер с PHP7. И YAML будут проходить в школе.
Завтра 18:00, ну я надеюсь...
2008-12-14 23:49:15 (читать в оригинале)http://www.clienttech.ru/
Я тут мониторчик взял
2008-12-10 13:22:43 (читать в оригинале)Из-за неправильной цветопередачи, мой старый монитор отдается родственникам в поволжье, и на сцену выходит тридцати дюймовый красавчик:
ClientSide'2008 по другому никак
2008-10-29 22:32:26 (читать в оригинале)12seconds.tv – сервис видео микроблогинга:
ClientSide 2008
Вот вечно они приглашают кого-нибудь, но ведь кого надо либо подает сам заявки, либо овсянкой не заманишь.
Сейчас, соберутся клиентские разработчики (сразу представляем четыре браузера), а у нас экспертный совет состоящий из дизайнера и юзабилиста (фотошоп + бумажка). Это у них на сайте, большими буквами так и написано.
Sizzle в клочья
2008-10-09 14:48:44 (читать в оригинале)Вечером во время общения по аське, JSman обнаружил, что sizzle кэширует результаты запросов. А сам движок не шибко чем отличается от текущей реализации в jQuery.
Так как тестирование css селекторов происходит в 5 итераций с последующим вычислением среднего, то у этого движка была значительная фора относительно не таких хитрых движков. Результаты и правда, не особо отличаются:
Еще добавил после выборки цикл, чтобы уравновесить по скорости массивы и коллекции.


![]() | ||
+327 |
339 |
dandr |
+326 |
357 |
Красота абиссинской кошки |
+326 |
344 |
Блог о недвижимости в Болгарии |
+290 |
338 |
Notebook with traces of spilled coffee |
+290 |
336 |
Эстетическая гимнастика в Воронеже |
![]() | ||
-1 |
3 |
Gatekeeper |
-1 |
6 |
Футбол – это жизнь |
-4 |
12 |
Fitne.Ru |
-16 |
25 |
Лента новостей сайта bestfighters.ru |
-21 |
35 |
Список диет |

Загрузка...

взяты из открытых общедоступных источников и являются собственностью их авторов.