Месяц: Ноябрь 2008

Шаблоны и View

Я предлогая разделить эти две обсолютно разные вещи. Попытаюсь объяснить как я понимаю эти понятия.

Читать далее »

Flash сообщения 2

Как и обещал, вернулся к flash сообщениям. Переделаем его на статические методы. Итак, немножко теории. Статические методы могут вызываться без создания экземпляра класса (объекта), при объявлении метода указывается ключевое слово static. Точно так же объявляется и статический атрибут класса.

Читать далее »

Как найти BOM

Если Вы используете utf, то встречались с таким символом, как BOM (Метка порядка байтов).  Довольно бессмысленный символ при использовании utf-8, к которому неприемлим этот самый порядок. Всё бы ничего, но этот лишний символ в начале файла приносит много проблем, когда попадает в вывод скрипта и происходит бом на сайте: не работает js, проблемы с куками и сессиями, просто непонятный символ на экране…. А уж редакторов, любителей вставить сей злосный символ куда не надо, предостаточно. Всегда проклинал блокнотоподобные редакторы, но изредко для быстрой правки использую notepad++. Уже сотню раз собирался выбросить его из-за дурацкого автокомплита, который даже тег <?php не позволяет нормально писать. Но злосный BOM стал его окончательным преговором, надо же при редактировании плагина сей злосный символ попал в плагин контактной формы, а в итоге у меня отвалился javascript в редакторе, я долго не мог понять, пока не включил консоль ошибок в любимом Operaи не вычислил злоумышлинника. Даль любимый Total Commnder и поиск файлов с текстом \xEF\xBB\xBF , для этого нужно отметить RegEx (2). Asta la vista baby

Читать далее »

Новая версия Zend Framework — 1.7

Официальный список обновлений: Zend_Amf with support for AMF0 and AMF3 protocols Dojo Toolkit 1.2.1 Support for dijit editor available in the Dojo Toolkit Zend_Service_Twitter ZendX_JQuery in extras library Metadata API in Zend_Cache Google book search API in Zend_Gdata Preliminary support for GData Protocol v2 in Zend_Gdata Support for skip data processing in Zend_Search_Lucene Support for Open Office XML documents in Zend_Search_Lucene indexer Performance enhancements in Zend_Loader, Zend_Controller, and server components Zend_Mail_Storage_Writable_Maildir enhancements for mail delivery Zend_Tool in incubator Zend_Text_Table for formatting table using characters Zend_ProgressBar Zend_Config_Writer ZendX_Console_Unix_Process in the extras library Zend_Db_Table_Select support for Zend_Paginator Global parameters for routes Using Chain-Routes for Hostname-Routes via Zend_Config I18N improvements Application wide locale for all classes Data retrieving methods are now static Additional cache handling methods in all I18N classes Zend_Translate API simplified File transfer enhancements Support for file elements in subforms Support for multifile elements Support for MAX_FILES_SIZE in form Support for breaking validation chain Support for translation of failure ,messages New IsCompressed, IsImage, ExcludeMimeType, ExcludeExtension validators Support for FileInfo extension in MimeType validator Zend_Db_Table_Select adapater for Zend_Paginator Support for custom adapters in Zend_Paginator More flexible handling of complex types in Zend_Soap Радует появление ZendX_JQuery, неужели будет поддержка jQuery. Ну и обязательно попробую Zend_ProgressBar — прогрес бар для загрузки файлов, наверняка реализовано через apc, посмотрим что разработчикам насоветовали сами создатели php. Добавили поддержку пэйджинга в Zend_Table, ура товарищи, жаль что до этого так долго доходили. Фреймворк двигается, только неизвестно куда. Даже на сайте в шапке до сих пор висит 1.6, как всегда, на детали плевать 🙁

Читать далее »

Свой шаблонизатор 2

В первой части мы по всем правилам ООП создали шаблонизатор, теперь наростим его мощь, будем делать это двумя способами: Расширая класс Amdy_Templater С помощью классов-помощников.

Читать далее »

Свой шаблонизатор

Вы хотите отделить логику представления от остальных слоёв приложения? Вам нужен шаблонизатор, желательно простенкий. Ну чтоже, напишем свой. Обределимся с минимумом: Передать переменную в шаблонизатор Взять переменную из шаблонизатора Отобразить шаблон

Читать далее »

Кросбраузерная вёрстка

Я не верстальщик и никогда им не был, но периодически приходитсядобавлять разметку в существующую вёрстку. Есть катигория вёрсток, в которой добавления нового превращается в ад. А избежать этого в большинстве случаев очень легко. Каждый браузер обладает своими багами-фичами и норовит отобразить элемент по своему. Бороться с этим не так трудно, если всё нужное было сделано на первоначальном этапе. Как заставить отображать одинково и не использовать видеье браузера? Нужно запретить отображать по своему и сказать как. Итак запрещаем. ДЛя этого используем «ластик», который сбрасывает спорные моменты. В css прописываем: * {magin: 0px; padding:0px; } Так мы избавляемся от основной проблемы — разных отступов. img {border: none; } А так, фиксим отображение картинок. Теперь можно продолжать магию, но важно помнить, что довёрстывать возможно будет человек не знакомый с вашими планами. Прописывая стили нужно стараться как можно уже описать круг их применения. Например, p {padding-left:10px;}, вроде удобно, но если затем придётся вставлять абзац без отступа, то сложно догадаться, а почему это отступ слева появился. Куда нагляднее p.paddingLeft10 {padding-left:10px;} А ещё здорово помогают заготовки типо pl10 {padding-left:10px;} pr15{padding-right:15px;} <p class=»pl10 pr15″>text</p> Вот с таким минимумом куда приятнее иметь дело и скорость возрастает вразы.

Читать далее »

Flash сообщения

Часто бродя по сайтам и заполняя формы встречаю некоторые типичные недоработки при обработке форм. Например, после обработки забывают сделать редирект, в итоге при нажатии «Обновить», данные посылаются повторно, что очень неприятно. Поэтому, не забываем header(‘Location: ‘ . $url);

Читать далее »

Чёрный пиар. Сокрытие доходов и неуплата налогов гражданами белоруси.

Недавно на Хабре прочёл пост о девушке, которая решила бороться с незаконными доходами фрилансеров и предлагает сдавать сих бандитов. Естественно на блог ломанулись кучи народа в основном чтобы обидеть ангелочка. И практически сразу начали появляться ссылки, в том числе на фрилансерские сайты и на скачку фильмов. Плюс была интересная статья о единстенном «чесном» фрилансере, зайдя по ссылке полез посмотреть форму обратной связи, оказалось «обязательные» поля не такие уж и обязательные, о чём я оставил комментарий. Видимо я был не один и статью побыстренькому убрали. На этом этапе я убедился, что проект носит вовсе не моральный характер, а желание пропиариться. Не знаю, девушка это или группа людей, но акция явно удалась. Игра на нелюбви к государству и нежелании делиться сработала. В вопросе налогообложения блогерша явно не разбирается и привела компрометирующий пример с братом (Оплата налогов с суммы, полученной “оттуда”), который якобы делает переводы и при оплате через Wester Union у него снялись налоги и всё, он святой фрилансер. У меня был неприятный опыт с налоговой по данному вопросу. Пришлось покататься и пообщаться с работниками данного органа. Плюс была парочка замечательных комментариев на эту тему. Официально её брат не только не платит налоги, но и к тому же, незаконно занимается предпринимательской деятельностью. На этом пиарщица решила не останавливаться, ведь постепенно блог стал остывать, и она бросила новую кость. Как известно, белорусский президент, не смотря, на 87% голосов на выборах является непопулярным героем, вот Вам и новая статья – «Президента не смейте трогать!». Интересно, чего ждать дальше? И почему мы попадаемся на такие вещи, хотя и знаем, что это полный бред. Все, а мне пора заняться незаконным зарабатываением денег.

Читать далее »