2017 © Pedro Peláez
 

library zdb

Библиотека для работы с БД

image

leon-mbs/zdb

Библиотека для работы с БД

  • Tuesday, June 26, 2018
  • by leon-mbs
  • Repository
  • 1 Watchers
  • 2 Stars
  • 123 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 10 Versions
  • 8 % Grown

The README.md

ZDB

Библиотека для доступа к БД

Библиотека представляет собой, Active Record построеный на функциональности библиотеки ADODB., (*1)

Домашняя страница: https://zippy.com.ua/zdb, (*2)

Пример использования, (*3)

CREATE TABLE   `users` (
  `username` varchar(255) ,
  `created` date  ,
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`user_id`)
)

Создадим класс сущности Пользователь, на основе класса Entity, (*4)

/**
 * @table=users
 * @keyfield=user_id
 */
class User extends Entity{

}

Собственно и все. Используется просто:, (*5)

    $user = new User();
    $user->username='Вася Пупкин';
    $user->created=time();
    $user->save(); //сохраняем в  хранилище

загрузим опять, (*6)

    $thesameuser = User::load($user->user_id);
    echo $thesameuser ->username;

Предварительно нужно указать параметры соединения к БД, (*7)

  DB::config($host, $dbname, $user, $pass,$driver);

Конфигурирование

Конфигурация Entity осуществляется с помощью псевдоанотаций., (*8)

@table - имя таблицы в БД
@keyfield - имя поля первичного ключа
@view - если существует представление для выборки сущности, тогда выборка будет осуществлятся через представление а не таблицу
Альтернативный вариант - переопределить метод getMetadata(), (*9)

основные функции

Описание и параметры всех функций - в исходном коде., (*10)

Save()
Записывает содержимое в таблицу. Если ключевое поле равно 0 создается новая запись и ключевому полю сущности присвивается уникальное значение
В свойствах сущности типа Дата рекомендуется использовать timestamp - в этом случае фреймворк сам сформирует дату в соответстви с выбранным типом БД., (*11)

load($id)
Загружает экземпляр сущности по ключу, (*12)

delete($id)
Удаление сущности из БД, (*13)

find($where = '', $orderbyfield = null, $count = -1, $offset = -1)
Поиск по условию. Условие -выражение для SQL.
Возвращает массив сущностей.
Для безопасности строковые параметры можно обработать функцией Entyty::qstr()
Дата форматируется с помощью Entity::dbdate($timestamp), (*14)

 User::find("createddate > " . Entity::dbdate(time()-24*3600));

findCnt($where = '')
Возвращает количество по условию, (*15)

findArray($fieldname, $where = '', $orderbyfield = null, $count = -1, $offset = -1)
Возвращает массив ключ значение для указанного поля по условию.
Использует прежде всего для выпадающих списков., (*16)

User::findArray('username');

findBySql($sql)
Выборка с произвольным запросом если нужны группировки , связи и т.д.
В списке полей должно быть ключевое поле для сущности, являющейся базовой в выборке., (*17)

User::findBySql('SELECT user_id,username,count(sessionid) as scount FROM users join sessions on users.user_id = sessions.user_id  group by  user_id,username');  

События жизненного цикла

Для использования необходимо переопределить соотвующий метод родительского класса, (*18)

init()
вызывается при создании экземпляра каласса сущности Используется для инициализации полей., (*19)

protected function init()
{
    $this->user_id = 0;
    $this->createddate = time();
}

afterLoad()
Вызывается после загрузки сущности из БД например для преобразования стройной даты из БД в
более удобный timestamp, (*20)

protected function afterLoad()
{
    $this->createddate = strtotime($this->createddate);
}

beforeSave()
Может использоватся для валидации перед сохранением, (*21)

beforeDelete()
Может использоватся для валидации или очистки связанных ресурсов (картинок например), (*22)

The Versions

26/06 2018

dev-master

9999999-dev

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

10/06 2018

1.0.8

1.0.8.0

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

22/04 2018

1.0.7

1.0.7.0

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

15/12 2017

1.0.6

1.0.6.0

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

03/12 2016

1.0.5

1.0.5.0

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

03/12 2016

1.0.4

1.0.4.0

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

13/05 2016

1.0.3

1.0.3.0

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

10/05 2016

1.0.2

1.0.2.0

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

08/05 2016

1.0.1

1.0.1.0 http://zippy.com.ua/Zippy-framework/database

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php

08/05 2016

1.0.0

1.0.0.0 http://zippy.com.ua/Zippy-framework/database

Библиотека для работы с БД

  Sources   Download

MIT

The Requires

 

by Леонид Мартынюк

database php