Хватит нас позорить
Многие успели посмотреть сериал "Теория большого взрыва" в котором рассказывается о жизни о четырёх друзьях-учёных, который не повезло жить по соседству с прекрасной, но не шибко умной блондинкой-официанткой. Все наслаждались, смотрели, но не тут то было. На сцену вылезли наши кинорижесёры, которые решили содрать идею и сделать его на белорусский манер.
К сожалению, слова "Сделано в Беларуси" уже давно вызывают позывы ко рвоте. Есть парочка достойных продуктов, но их очень мало, а кино уж точно не входит в данный круг. Многие с ужасом вспоминают про клонирование "Наша Раша", да упокоятся души не выдержавших просмотра сего безобразия. И вот враги государства, решили своровать идею у тупых американцев. Название "Теория большого взрыва", заменили на более привычное и не отпугивающее наших умов с двумя и более высшими образованиями - "Теоретики".
Ну и получилось в лучших традициях современной белорусской науки творения уровня не хуже достижения наших "теоретиков". Да ладно ещё о позоре, люди разбегались виде сего безобразия. Но, но, но..... Слухи дошли до Чак Лорре, который высказал что об этом думает, вылив ведро несправедливых помоев на страну. Теперь мы кроме того, что пираты, так ещё и выращиваем скот годный только для одёжных щёток. Спасибо Вам, наши режисёрыща, Вы сумели втоптать страну ещё ниже, в этом году у вас есть шанс обойти наших теоретиков с интеграла с их наклейками.
Самое обидное, что в этом поучаствовали ребята из прекрасной команды ЧП, которая славилась своим качественным юмором в КВН. Зачем было лезть в воровство, когда сами могли придумать не хуже.
Письмо можно посмотреть здесь.
И главное, что им за это ничего не будет, а то и премию дадут.
Так как никаких других возможностей у меня нет, я надеюсь, что это письмо прочитают те милые люди, которые делают «Теоретиков», и что они, страдая от угрызений совести, отправят нам партию фетровых шляп.
Пример использования ArrayAccess
Мне недавно в блоге задали вопрос о применении ArrayAccess. Просто как замену массивам - глупо, тем более теряется производительность. Итак, для этого у нас две основные причины - set/get должны как-то влиять на значение переменных, вторая - объект может использовать данные помещённые в нём для других методов.
Рассмотрим примеры. У нас есть класс для работы с таблице из базы данных как с объектом.
Я сменил работу.
В середине декабря 2009 года, после разговора с директором было решено, что нужно менять работу. До этого я работал на пол ставки и меня это устраивало, т.к. было много времени для самообразования, которым я активно занимался. В прошлой компании был замечательный коллектив, адекватный руководитель, но проекты и менеджмент сильно напрягали, да и денег после перезда в более дорогую квартиру стало хватать в притык. Вот так, под бой курантов я попрощался и с работой.
Моя реализация ЧПУ
Нашёл на одном из блогов реализацию ЧПУ и решил внести свою лепту. ЧПУ - человеко понятный урл. На аглийском наиболее популярное название User Friendly URL. С какого-то перепугу разработчики решили, что стандартный урл с гет переменными непонятен и покатилось. Сначала сравним варианты для вывода списка новостей категории test отсортированного по date:
news.php?category=test&sort=date - стандартный подход, вроде всё понятно ключ=значение
news/category/test/sort/date/ - если убрать выделение, то не понятно где ключ, а где значение
news/test/date/ кратко, но довольно путано, обязательный порадок, трудно изменять
news/category:test/sort:date/ - этот вариант хорош, так же нагляден как класика и даже чуть короче
news.test.date - краткий, но не информативный, есть один плюс - такие страницы без тайтла сохраняются с нормальным названием.
Работа с формами
Когда новички спрашивают что бы им написать посерьёзнее, обычно советуют гостевую книгу. Вариант хороший, в нём много разных путей реализации, можно повесить авторизацию, работу с деревьями, но самое главное - формы. Самое удивительное, что я встречал огромное количество (количество пишется с одним "л", когда уже избавлюсь от этой ошибки) "профессионалов", которые так и не научились делать удобные формы. Совет заказчикам при оценке партфолио всегда проверяйте форму обратной связи или регистрации-авторизации.
Смешиваем singleton и registry
Основное достоинство Одиночки одновременно является и его недостатком. Допустим у нас есть класс для работы с базой данных реализованный на singleton (о ужОс, нужно было хотя бы фабрику). Всё замечательно работает, пока в один непогожий день мы не придумываем держать данные в разных базах на разных серверах. Ну и этого геморроя нам мало, поэтому от возможностей мускула мы отказываемся. И приплыли... Соединение у нас то ОДНО. Отказываться от singleton и перелопачивать тонны кода тоже не с руки, значим поставим костыль.
Паттерн: Singleton
Продолжая тему паттернов бегло расскажу что это за зверь singleton. На русский язык он переводится как "одиночка", относится к порождающим паттернам и позволяет нам плодить объекты, вернее всего один. Singleton гарантирует, что будет создан только один экземпляр класса. Для этого конструктор делается приватным и создаётся статический метод, который проверяет создан ли уже объект и возвращает нам этот объект.
Обустраиваем Zend Studio
В Zend Strudio 7 нет парочки очень нужных вещей для php разработчика. Сперва прикрутим поддержку самого популярного шаблонизатора - Smarty. Затем добавим поддержку так же очень популярного формата yaml, который для меня похоронил xml конфиги.
Беларуский сайт для фрилансеров.
Недавно открылся сайт free-lance.by, посвящённый беларуским фрилансерам. Это не аналог российской версии, а скорее место общения белорусского фриланс комьюнити. Общайтесь, задавайте вопросы, отвечате на них, обменивайтесь опытом.