войти зарегистрироваться

ПрограммированиеТёмная сторона в программировании для новичков, в том числе и на php из песочницы

По прошествии шести лет программирования видишь свои ошибки. Конечно ошибки чисто свои, но сделаны они по не знанию. И к сожалению незнание берётся вместе со знанием.

Самый простой способ это проверить прочитать про любые парадигмы, паттерны и так далее. Когда Вы будете изучать что-либо, то будет два или более лагерей: «за», «против», «ни за это и то» и так далее.
Давайте возьмём такую частность как венгерская нотация:
Суть венгерской нотации сводится к тому, что имена идентификаторов предваряются заранее оговорёнными префиксами, состоящими из одного или нескольких символов.

В книгах по программированию я читал, что нужно использовать венгерскую нотацию и префиксы формировать по типу данных: int iData;.
Но тут есть минус: при изменении типа потребуется изменять имя переменной.

symfony frameworkВышла финальная версия Symfony2. Ура!

image

Оставив позади 12 превью релизов, 5 бета версий и 6 релиз кандидатов, наконец-то вышла финальная версия Symfony2 — претендента на звание самого лучшего на сегодня фреймворка, написанного на языке PHP.

На данный момент, Symfony2 — самый популярный проект на Github в разделе PHP и занимает 12 место по популярности на всей платформе Github.

Всего лишь за 4 месяца, еще до выхода финальной версии, только на одном Github было создано больше 400 бандлов (расширений) для Symfony2. Количество разработчиков на момент релиза составило около 250 и продолжает расти.

Поздравляю всех фанатов Symfony2 с таким значительным событием и желаю всем, кто взял участие в разработке, не останавливаться и продолжать радовать PHP-мир качественными продуктами!

Новость на сайте Symfony2

PHPООП-обертка для PHP lib_curl

Пару лет назад я сделал небольшой персональный проект под названием «Аггрегатор комиксов». Суть проекта в том, что есть куча сайтов с комиксами, на которых нет RSS-лент. И мне было откровенно лень ходить по этим сайтам вручную и проверять апдейты.

Посему был написан примитивный «паучок», обходящий сайты по расписанию, разбирающий содержимое страниц и по разным алгоритмам выковыривающий информацию об апдейтах и складывающий эту информацию в базу, откуда уже другой скрипт, вьюер, генерировал РСС, Атом или Хтмл.

PHPВам нравится писать на PHP?

Проголосовало 2355 человек. Воздержалось 773 человека.

PHPПрекращение поддержки расширения MySQL в PHP

Да, вы совершенно правильно прочитали этот заголовок: в прошлые выходные Филип Олсон отправил в список рассылки php-internals предложение о начале постепенного ухода от расширения mysql в будущих версиях php. Это, однако, не означает, что mysql уже не будет в PHP 5.4, но с версии 5.5 уже начнётся работа по обновлению документации и добавлению E_DEPRECATED ошибок к функциям mysql.

В качестве замены текущему нативному расширению предпологается использовать расширение mysqli или PDO, а возможно mysqlnd.

В результате, в будущих версиях PHP5 (начиная с 5.5 или 5.6) вызовы таких функций, как mysql_pconnect, mysql_query и так далее будут пораждать весьма неприятные уведомления E_DEPRECATED, а уже в версии PHP 6 код этих функций будет, скорей всего, полностью удалён из PHP.

PHPZend PHP 5 Certification Practice Test

Не так давно, а именно в октябре 2010 года, компания Zend немного обновила систему сертификации PHP5 инженеров. Так, если раньше тестирование проводилось по версии 5.1, то теперь проводится по 5.3 (привет namespaces, late static bindings и замыкания). Были переформированы темы тестирования — вместо 12ти прежних, теперь их 10. И что самое главное, из Zend маркета убрали подготовительные тесты. Раньше их можно было приобрести в количестве 1, 5 или 10 штук за относительно скромные деньги (10 стоили порядка 22$). Сейчас же вместо них за довольно-таки нехилую сумму в 1000$ можно приобрести так называемый Test Prep: Zend PHP 5.3 Certification Training (подготовительный online-треннинг для продвинутых php-программистов) и ваучер на прохождение тестирования. Кстати, о ваучере… если для версии 5.1 он стоил 125$, то теперь цену подняли до 195$.

PHPУстановка расширений OCI8 и PDO_OCI для PHP5 из песочницы

В настоящее время я работаю в компании, которая очень любит использовать в проектах на PHP СУБД Oracle, причем иногда версии 11g.

Большая часть разработчиков этой компании работает под ОС Windows. За последний месяц несколько из них решили приобщиться к Linux и поставили себе Ubuntu. По прошествии нескольких дней после установки самой ОС, ребята столкнулись с задачей установки драйверов PHP для работы с СУБД Oracle — OCI8 и PDO_OCI на базе Oracle instant client 11.2, которую не смогли решить самостоятельно.

Я не нашел подробного, полностью рабочего мануала на русском, по которому новичок в Linux смог бы выполнить все манипуляции сам. В результате мне пришлось несколько раз проделать серию одних и тех же действий на их машинах и написать мануал, который я вам и представляю.

Мануал написан для пользователей Ubuntu Linux, но с некоторыми изменениями подойдет для пользователей большинства Linux'ов.

Персональные блоги Библиотека генерации пользовательских картинок для сайта

Не так давно возникла у меня необходимость в подключении к проекту псевдослучайных пользовательских картинок (юзерпиков), настройки для которых привязываются к некоторой персональной пользовательской информации (логин, пароль, e-mail, whatever). Я знаю о существовании Gravatar и подобных проектов, но очень не хотелось обращаться к сторонним сервисам за такой мелочью, так что я стал искать нужный мне класс в Интернете.

Поиски продолжались минут 30, за которые я не нашёл ничего приемлемого, из разряда «подключил — заработало», а потому на скорую руку набросал на PHP небольшой класс, который делает то, что мне нужно и отвечает указанному выше принципу. Собственно, пока я искал нужное мне решение, обнаружилось, что в подобных поисках я не одинок, потому решил этот класс выложить в публичный доступ: мало ли, кому потребуется.

Класс называется Avatarco.
Для полноценной работы необходим PHP5 >= 5.3.0, но изменив одну строку можно заставить работать на PHP5 ниже, чем 5.3.0.
Описание работы класса и его исходный код доступны по адресу code.google.com/p/avatarco

Вот случайный пример его работы (или пройдите по ссылке и пообновляйте):
image

Надеюсь, пригодится не только мне.
С удовольствием выслушаю комментарии об ошибках и необходимых улучшениях/доработках.

PHPScalar type hints в PHP

Johannes Schlüter опубликовал в своем блоге информацию о том что в trunk (PHP) появилась поддержка scalar type hints. Многие из нас очень давно этого ждали.

Выглядит это приблизительно так:
<?php
function check_counter( int $counter)
{
return;
}
?>


Если попытаться передать в такую функцию не int, получим Catchable fatal error.

PHPЛовля бага #52001 в PHP 5.3: указатели и неициализированные переменные

По следам недавно найденного tvv'ом бага.

При выполнении следующего кода в PHP версий 5.3.0-5.3.2 результат превосходил все ожидания.

<?php
f(0, $$var);
$x = 1;
$y = 2;
echo $x;
function f($a, $b) {};


В результате выводилось '2'. Мне удалось найти багу и поправить её: #52001. Коротко: затирался указатель на специльную переменную-затычку для неинициализированных переменных, через которую и создаются все CV переменные в PHP.