Архив метки: php

PHP это джинн…

… а джинн не должен покидать лампы.

Всякое использование PHP вне LAMP — это попытка устроить грузчика на работу в детский сад воспитателем. Или наоборот.

Метки: ,

Не phpMyAdmin-ом единым…

Кто не знает phpMyAdmin? Наверное, только тот, кому не приходилось работать с SQL. Многие предпочитают этот веб-интерфейс даже «настольным» приложениям — официальным и не очень, бесплатным или «ломанным». Секрет этого продукта в том, что его достаточно «вылить» в любую директорию сервера и… и все. Вводите логин-пароль — и делаете все, что нужно.

На самом деле, он может гораздо больше и множество дополнительных возможностей требует настройки конфигурационных файлов. Но нам-то — кому требуется по-быстрому создать нужную структуру, выполнить запрос или исправить одну-две строки в таблице — всего это не требуется. Полностью настроенный интерфейс со всеми возможностями может быть востребован — и в большинстве случаев используется! — хостинг-провайдерами, которые предоставляют своим клиентам базы mySQL. Остальным же функционал в 17 мегабайт (в архиве 3,5) сильно избыточен. Что же делать?

Например, использовать Adminer. Один-единственный php-файл размером от 158 (английская версия для mySQL) до 381 (многоязычная версия для mySQL, Postgres, SQLite, MS SQL и Oracle) килобайт. Который может… ну, в общем, мне не потребовались функции, которыми не обладает этот продукт. Есть еще рекордно малый (30 килобайт) PHP Mini Admin for MySQL, но сильно проще — не умеет редактировать записи прямо на странице и работает только с mySQL. Продукт либо не завершен и будет еще активно дорабатываться, либо отражает отношение создателя, для которого возможности выполнять запрос достаточно, а всякие «интерфейсные красивости» избыточны и бесполезны.

В общем, остановился на Adminer. Лаконичный, удобный и достаточный инструмент. «Must have!»

Метки: , , ,

JSON_encode своими силами

Вот все упрекают php-шников в «велосипедостроении». А что, блин, делать-то? Чтобы добиться нормальной работы json_encode с обратной косой чертой и одиночной кавычкой, провозился целый день. И так и не добился. Потом за полчаса написал свою функцию, которая еще и не переводит unicode-символы в мнемоники и структурно форматирует текст.

[sourcecode language=»php»]
<?php
function encodeJSON ($data, $level = 0) {
if (is_scalar($data))
return """.addslashes ($data).""";
$token = array();
$indent = str_repeat(‘ ‘, $level);
if (is_array($data) && (array_values($data) === $data)) {
foreach ($data as $val)
$token[] = encodeJSON ($val, $level + 1);
return "[n {$indent}". implode(",n {$indent}", $token)."n{$indent}]";
}
if (is_array($data) || is_object($data)) {
foreach ($data as $key => $val)
$token[] = encodeJSON ($key)." : ".encodeJSON ($val, $level + 1);
return "{n {$indent}". implode(",n {$indent}", $token)."n{$indent}}";
}
}
?>
[/sourcecode]
PHP ненавижу…

Метки: ,