Виктор Павлович Гришко @Yeah
Пользователь
А мы пойдем другим путем. Перемещаем модель в базу данных
6 min
5.1KВ последнее время веб-разработка из наколенного поделия превратилась в серьезную инженерную дисциплину. Все это стало возможным стараниями легиона специалистов, которые разработали общие практики, которые позволяют писать веб-проекты, с использованием некой архитектуры, а не подобно исследователю, сбрасывающему ящик типографского шрифта с крыши небоскреба, в надежде, что тот чудесным образом сложится в первый том «Войны и Мира». Самой распространенной парадигмой веб-программирования является, вне всякого сомнения, MVC — Model-View-Controller. Говоря примитивно, эта парадигма предусматривает разделение кода приложения на слой управления (Controller), слой представления (View) и слой управления данными (Model). При этом MVC предусматривает, что Controller и View могут (но не обязаны) зависеть от Model, в то время как Model ни при каких условиях не должен зависеть от них.
Есть много различных подходов, как отделить бизнес-логику приложения от логики отображения и управления. Все они предусматривают, что модель является частью приложения и взаимодействует с БД, использую последнюю лишь в качестве хранилища данных. Мы же попытаемся пойти иным путем и по возможности максимально вынести бизнес-логику приложения на уровень БД.
Предупреждение: лицам с тонкой душевной организацией лучше не видеть того, что будет твориться под катом.
Есть много различных подходов, как отделить бизнес-логику приложения от логики отображения и управления. Все они предусматривают, что модель является частью приложения и взаимодействует с БД, использую последнюю лишь в качестве хранилища данных. Мы же попытаемся пойти иным путем и по возможности максимально вынести бизнес-логику приложения на уровень БД.
Предупреждение: лицам с тонкой душевной организацией лучше не видеть того, что будет твориться под катом.
+36
Битва с «сумрачным гением» или Microsoft-HTTPAPI/2.0 наносит первый удар
4 min
29KКак-то раз, вернувшись из отпуска, вдоволь натунеядствовавшись, решил я сваять что-то божественное на PHP. Открыл свой любимый Denwer и поразился неожиданной перемене: Apache напрочь отказался слушать 80-й порт, а значит, мои благородные намерения на этот вечер оказались под угрозой срыва. Ситуация, в общем-то, довольно банальная — сразу же в голове сработал заветный триггер: Skype! Однако к моему удивлению, Skype тут же объявил о своей непричастности к данному инциденту отсутствием галочки напротив соответствующей настройки. Чтобы окончательно проверить алиби зарубежного видеотелефона я решил посмотреть, кто же все-таки в данный момент слушает 80-й порт.
+72
Работа со сложными декораторами в Zend Framework
13 min
3.8KВведение
Zend Framework — замечательная система. Такое мнение у меня сложилось на протяжение долгого времени тесного «общения» с этой системой. И замечательная она не в силу каких-то сверхвозможностей, предоставляемых программисту, а в силу того, что система эта удивительным образом приглашает программиста к собственному усовершенствованию для его, программиста, блага, предлагая простой и в то же время мощный фундамент для собственных разработок.
Работая над проектом с использованием Zend Framework, решил попытаться по максимуму использовать его возможности и сразу же обратил внимание на компонент Zend_Form (я намеренно называю Zend_Form компонентом, а не классом, поскольку компонент Zend_Form состоит из класса Zend_Form и целого набора сопутствующих классов и интерфейсов). В документации сказано достаточно просто: «Zend_Form упрощает создание форм и управление ими в ваших веб-приложениях». В общем-то это так, но без предварительной подготовки с вас семь потов сойдёт прежде, чем вы сможете создать и отобразить одну более или менее сложную форму. Концептуально форма в Zend Framework состоит из:
- элементов
- декораторов
- фильтров
- валидаторов
Декоратор — это вся верстка, которая логически связана с элементом формы (окружает его), но не является его частью. Проще говоря, декоратор — оформление элемента формы.
+4
CSS-Transforms в Firefox??? Скоро!
2 min
1.1KКак известно, движки в современных браузерах развиваются довольно динамично, стараясь блеснуть перед всем честным народом какими-нибудь доселе неизвестными фишками и, тем самым, поразить будущих пользователей в самое сердце. В октябре 2007 года ребята из Apple анонсировали включение в движок WebKit средств для преобразования видимых элементов средствами CSS (т.н. CSS Transforms), а уже в апреле 2008 была готова более или менее полная спецификация новой технологии. Многие фанаты (и не только) Apple с восторгом восприняли данную новость, остальным же оставалось лишь покусывать локти в надежде, что и их «любимцы» обратят на новую технологию внимание.
И вот, нежданно-негаданно, пришла благая весть из стана «конкурирующей фирмы» — Mozilla.
И вот, нежданно-негаданно, пришла благая весть из стана «конкурирующей фирмы» — Mozilla.
+5
Google пошел на попятную
2 min
1.1KДумаю, что ни для кого не остался незамеченным резонанс, вызванный крайне неоднозначными формулировками одиннадцатого пункта лицензионного соглашения об авторских правах пользователя на информацию распространяемую через сервисы Google (в том числе, браузер Google Chrome).
+93
Обработка ошибок и исключений в PHP
6 min
38KЭта «небольшая» статейка является развитием темы затронутой в этой статье.
Как известно, PHP зародился довольно давно и уже тогда возник вопрос, что делать с возникающими ошибками. Perl, который является несомненным прародителем PHP по умолчанию не имел какой-либо системы обработки ошибок. При возникновении любой ошибки сервер выбрасывал 500-ю ошибку и на этом все заканчивалось. Поэтому Warnings, Fatal Errors и Notices были настоящим прорывом в облегчении и без того нелегкого труда программиста. Однако время шло, механизмы PHP не менялись, а технологии, как известно, на месте стоять не любят.
Как известно, PHP зародился довольно давно и уже тогда возник вопрос, что делать с возникающими ошибками. Perl, который является несомненным прародителем PHP по умолчанию не имел какой-либо системы обработки ошибок. При возникновении любой ошибки сервер выбрасывал 500-ю ошибку и на этом все заканчивалось. Поэтому Warnings, Fatal Errors и Notices были настоящим прорывом в облегчении и без того нелегкого труда программиста. Однако время шло, механизмы PHP не менялись, а технологии, как известно, на месте стоять не любят.
+1
Цепочки топиков на Хабре
1 min
844Идея состоит в следующем:
Наблюдая за Хабром на протяжении нескольких дней подряд, обратил внимание на то, что сообщество, затронутое какой-нибудь хорошей и интересной темой (например, coworking или тема ценообразования в веб-дизайне) начинает писать топики в узкой похожей тематике, описывая их (топики), как ответ (или даже пародию) на предыдущие.
Так вот, я считаю, что было бы неплохо иметь возможность связывать такие топики между собой. То есть я захожу в топик, и вижу внизу блок с ссылками на похожие топики (похожая фишка есть на Lenta.ru).
Подобный функционал можно реализовать следующим образом (на вскидку):
1. Автоматически по тегам (например, если совпадает 80% тегов к топикам)
2. Вручную автором (даже и не знаю, как это сделать лучше, но это было бы правильно идеологически)
3. Вручную пользователем
Предвосхищая возмущение пользователей о том, что похожие топики объединены в блоги хочу сказать:
1. Не всегда мне нужно смотреть на все топики в блоге. Есть блоги с гигантским количеством топиков, а в подборку можно включить от силы пару штук.
2. Не всегда топик включен в блог. Мало того, мне может понадобится включить в подборку отхабренный топик.
Этот топик больше подходит для блога Идеи для сайта.
UPD: Перенесен в блог Хабрахабр — Идеи для сайта
Наблюдая за Хабром на протяжении нескольких дней подряд, обратил внимание на то, что сообщество, затронутое какой-нибудь хорошей и интересной темой (например, coworking или тема ценообразования в веб-дизайне) начинает писать топики в узкой похожей тематике, описывая их (топики), как ответ (или даже пародию) на предыдущие.
Так вот, я считаю, что было бы неплохо иметь возможность связывать такие топики между собой. То есть я захожу в топик, и вижу внизу блок с ссылками на похожие топики (похожая фишка есть на Lenta.ru).
Подобный функционал можно реализовать следующим образом (на вскидку):
1. Автоматически по тегам (например, если совпадает 80% тегов к топикам)
2. Вручную автором (даже и не знаю, как это сделать лучше, но это было бы правильно идеологически)
3. Вручную пользователем
Предвосхищая возмущение пользователей о том, что похожие топики объединены в блоги хочу сказать:
1. Не всегда мне нужно смотреть на все топики в блоге. Есть блоги с гигантским количеством топиков, а в подборку можно включить от силы пару штук.
2. Не всегда топик включен в блог. Мало того, мне может понадобится включить в подборку отхабренный топик.
Этот топик больше подходит для блога Идеи для сайта.
UPD: Перенесен в блог Хабрахабр — Идеи для сайта
+48
Information
- Rating
- Does not participate
- Location
- Харьков, Харьковская обл., Украина
- Date of birth
- Registered
- Activity