Мировые новости за последнее время

Поставил себе, наконец, php5.3, буду мучать. Как модуль так и не осилил, поставил как CGI. Для тех кому интересно и кто забыл уже, как ставить пых цэгеигом, рассказываю. Создал виртуальный хост 53.loc и в конфиге:

<VirtualHost 127.0.0.1>
	ServerName   53.loc
	...
	AddType application/x-httpd-php53 php
	<Directory "c:/vasac/web/php53">
		Options ExecCGI 
	</Directory>
	ScriptAlias "/php53_dir/" "c:/vasac/web/php53/" 
	Action application/x-httpd-php53 "/php53_dir/php-cgi.exe"	
</VirtualHost>

Теперь у меня везде старый добрый 5.2.x, как модуль, а в http://php53.loc/ 5.3.0 для опытов.

Вышел firebug 1.4.0 и firefox 3.5.1, а GoogleWave до сих пор не завоевало мир.

Открылся суперпроект kinsburg.ru, но там ничего нет.

Знакомый устроил редизайн своей домашней странички, просил попиарить. Я всё забывал, теперь кидаю ссылку: sport-express.ru.

Дизайнер Асанов побрился налысо и продолжает песать хуйню.

Старый Мавр хуячит кубики. Один за одним.

В Одессе +35 и это пиздец. У Ghost’а спиздили на почте футболку и варежки.

Паника насчёт того что проебали домен pyha.ru оказалась беспочвенной. Пока ещё не проебали.

А мегапортал blgo.ru продолжает развиваться стремительными темпами. Количество подписчиков на RSS уже достигло 12 штук.

goPaginator: отрисовка пагинатора

Начинаю раздел goLibs с выкладыванием простеньких вспомогательных классиков. Первым на очереди идёт goPaginator. Можно просмотреть исходный код или скачать ZIP.

Основная задача библиотеки — отрисовка пагинатора и помощь в выборки данных для текущей страницы. Простейший пример (более развёрнутый пример можно пощупать здесь):

/* Общее количество элементов в списке, разбиваемым на страницы */
$countElements = query('SELECT COUNT(*) FROM `table`');
if ($countElements == 0) {
	echo 'Список пуст';
	return;
}
 
$pager = new goPaginator($countElements); // Создаём объект пагинатора
 
echo $pager; // Выводим пагинатор сверху
 
/* Выборка и вывод элементов для текущей страницы */
$sql = 'SELECT * FROM `table` ORDER BY `id` ASC LIMIT '.$pager->getSqlLimits();
$elements = query($sql);
foreach ($elements as $element) { /* Выводим элементы */ }
 
echo $pager; // Пагинатор снизу

Остальной текст под катом

Автолоад без __autoload

Функция __autoload(), как все знают, очень полезна. Её появление в PHP5 значительно упростило всем жизнь. А появление spl_autoload_register() упростило ещё больше.

Однако, не всё с ней здорово. При достаточно разветвлённой системе классов, приходится создавать весьма сложные алгоритмы поиска файлов, которые к тому же существенно замедляют работу. Однако, во многих случаях можно сделать автоподгрузку описаний классов и без __autoload().

Остальной текст под катом

Решалка судоку

От нефег делать сделал решалку судоку.

На данный момент немного глючит под Firefox и совершенно не работает под всем остальным.

Для примера нажмите справа ссылку «вариант раз», а затем кнопку «запустить считалку».

Умность считалки будет повышена (а кроссбраузерность добавлена) в следующий нефег делать.

Залетел

Вчера злобный бот проник в мою уютную дняфку и понаставил везде своих богомерзких iframe’ов с говном каким-то.

Благодаря качественной работе службы безопастности моего портала, ифреймы были оперативно выпилены, пароли сменены, а за злоумышленниками уже едут.

А потому что нефег было пользовать cuteftp на чужом компьютере. Да и вообще, как говорят эксперты, протокол FTP такая же дыра, как и антивирус NOD32. И всех спасёт SFTP, потому что это круто.