Pull to refresh

PHP для нетребовательных. База Данных на коленке.

Reading time 2 min
Views 1.6K
Даже если у меня будет 1000 клиентов, для меня не будет острой необходимости в MySQL, а пока их значительно меньше… около 50, то это вообще не вопрос.
Автоматизация следующей задачи: необходимо хранить Логин и Время(регистрации) для каждого клиента.
Их 50, пусть 100.
Может потом еще пара параметров добавится.
Самый простой способ — хранить данные в файлах, ну не нравится мне SQL для таких простых задач. Поэтому решение называл — На коленке.

Формат файла?
Сначала хотел сделать для каждого пользователя отдельный PHP файл, который просто выполняешь при необходимости (как JSON)
Очень удобно, но его надо как-то генерить — неудобно.
В PHP есть функционал для работы с CSV форматом — тоже не нравится. Когда-то на Perl писал свою БД при помощи сериализации объектов.
т.е. берем хэш. Сериализуем его и пишем. Что там в файле — уже не важно, Желательно чтобы можно его было руками поправить легко.
Ну и все… В PHP есть такая же фигня.

В итоге Простецкая БД пишет так (PHP4):
$USER['timepaid']=$dt+2592000; //генерим хэш
$userdata=serialize($USER); //сериализуем
$handle = fopen ('папка-мамка/'.$u.'.txt',«w») or die('Моцарт');
fwrite($handle,$userdata); //пишем на коленке
fclose ($handle);

А читаем так:
$userdata=file_get_contents('папка-мамка/'.$u.'.txt'); //читаем файло
$USER=unserialize($userdata); // распаковывает
if ($dt_<$USER['timepaid']){} //и работаем с готовым хэшем

Преимущества на лицо:
1. Очень быстро все это написать
2. Коду почти нету(для PHP5 все будет еще короче)
3. не требует купленных у хостера Баз
4. Через FTP можно легко подправить любые данные
5. Проблемы с одновременным доступом практически исключены т.к. для каждого пользователя свой файл

Недостатки:
Естественно это лишь для начального этапа, когда клиентов перевалит за 500-1000 придется переходить на MySQL, ибо на FTP будет заходить мутно для ручной правки.
Tags:
Hubs:
-20
Comments 19
Comments Comments 19

Articles