Category Archives: SAR

Simple Active Record – just a My way ActiveRecord pattern implementation in PHP

SimpleActiveRecord 0.0.2

Сегодня я запустил в свет SimpleActiveRecord 0.0.2.

Что нового?

  • Ввёл тесты для магических методов, которые естественно, он завалил, и их я тут-же поправил.
  • Плюс ко всему добавилась проверка на то, NULL или не NULL значение поля по умолчанию если оно пустое должно быть. Теперь, если сделать unset(); для поля и у него NULL = YES в структуре базы – оно после сохранения станет NULL а не пустой строкой. Присвоение значения по умолчанию при unset();
  • Разделил тесты между простыми методами и методами создания записей в базе.
  • Заложил возможность на проверку типов данных. Уже сейчас он проверяет значение поля типа SET на соответсвие сета.

Что для меня важного в этом классе?

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

Маленький кусочек OpenSource

Так как каждый из нас, программистов, постоянно экспериментирует и старается развивать себя и свои возможности и знания, я регулярно пересматриваю разные чужие OpenSource решения, пишу какие-то свои маленькие скрипты, библиотечки, классы, которые иногда даже не выходят за пределы localhost или превращаются в коммерческие продукты dip.:studio – их выкладывать на обзор всей публики не целесообразно, но чем-то поделиться хочется.

Так вот, в свободное время, дома, я начал писать маленький простенький ActiveRecord. Пока могу показать только версию SimpleActiveRecord 0.0.1. В пакет входит сам класс, быстро сгенерированная документация на phpDoc (там есть примеры использования), маленький набор тестов Unit Тестов на phpUnit. Всё это чудо рассчитано на PHP 5.2.3.

Я не буду утверждать, что это супер-оригинальное или гениальное решение, просто это мой взгляд на быстрою и простую реализацию ActiveRecord в версии 0.0.1. Если у кого либо есть конструктивные комментарии – пишите (модерация включена, пересматриваю регулярно раза 2 в день).