Download the PHP package remils/database without Composer

On this page you can find all versions of the php package remils/database. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package database

Менеджер для работы с БД

Достаточно простой в использовании и легко расширяется для создания адаптеров подключения. В данный момент описаны адаптеры, которые работают с PDO, MySQLi и SQLite3.

Установка в проект

Выполните команду в консоли:

Менеджер БД

Инициализируйте класс менеджера в нужном вам месте, либо добавьте его в контейнер зависимостей.

Методы менеджера:

Метод Описание
setConnect(string $name, ConnectContract $connect): Manager Добавляет подключение в менеджер
getConnect(string $name): ConnectContract Возвращает объект подключения из менеджера

Адаптеры подключения

Доступные адаптеры:

Пространство имени Конструктор Описание
Remils\Database\MySQLi\Connect __construct(string $host, ?string $username = null, ?string $password = null, ?string $database = null, ?int $port = null, ?string $socket = null) Адаптер подключения для MySQLi
Remils\Database\PDO\Connect __construct(string $dsn, ?string $username = null, ?string $password = null, ?array $options = null) Адаптер подключения для PDO
Remils\Database\SQLite3\Connect __construct(string $filename, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, string $encryptionKey = null) Адаптер подключения для SQLite3

Все адаптеры реализуют интерфейс Remils\Database\Contract\ConnectContract.

Методы интерфейса:

Метод Описание
customizer(callable $callback): void Настройка пользователя (Возвращает объект подключения)
transaction(Closure $closure): mixed Вызов транзакции
lastInsertId(): mixed Возвращает ID последней вставленной строки или значение последовательности
prepare(string $sql): StatementContract Подготавливает SQL выражение к выполнению
execute(string $sql): ResultContract Выполняет запрос к базе данных

Подготовка запроса

Каждый адаптер реализует свою подготовку запроса интерфейса Remils\Database\Contract\StatementContract.

Методы интерфейса:

Метод Описание
setParameter(string $key, mixed $value, ParameterType $type = ParameterType::STRING): StatementContract Привязка переменных к параметрам подготавливаемого запроса
execute(): ResultContract Выполняет запрос к базе данных

Типизация параметров в подготавливаемом запросе

Для преобразования типов в подготовительном запросе используются константы из перечисления Remils\Database\Enum\ParameterType.

Константа Описание
ParameterType::INTEGER Преобразование подготовительного выражения в INTEGER
ParameterType::FLOAT Преобразование подготовительного выражения в FLOAT
ParameterType::STRING Преобразование подготовительного выражения в STRING
ParameterType::BOOLEAN Преобразование подготовительного выражения в BOOLEAN
ParameterType::BLOB Преобразование подготовительного выражения в BLOB
ParameterType::NULL Преобразование подготовительного выражения в NULL
ParameterType::JSON Преобразование подготовительного выражения в JSON

Обработка запроса

После выполнения execute метода, для обработки результатов выполненного запроса используются методы интерфейса Remils\Database\Contract\ResultContract.

Методы интерфейса:

Метод Описание
fetch(): ?array Выбирает строку из набора результатов и помещает её в ассоциативный массив
fetchObject(string $className = stdClass::class): ?object Выбирает строку из набора результатов в виде объекта
fetchAll(): array Выбирает все строки из результирующего набора и помещает их в ассоциативный массив
fetchAllObject(string $className = stdClass::class): array Выбирает все строки из результирующего набора и помещает их в объект
fetchColumn(int $column = 0): mixed Получает один столбец из строки набора результатов
fetchAllColumn(int $column = 0): array Получает все строки, в виде массива, содержащие значения столбца

Репозиторий

Репозитории реализуют интерфейс Remils\Database\Contract\RepositoryContract.

Методы интерфейса:

Метод Описание
getTableName(): string Возвращает имя таблицы
getEntityClassName(): string Возвращает имя модели
getConnectName(): string Возвращает имя коннекта
getConnect(): ConnectContract Возвращает подключение

Для удобства был реализован абстрактный репозиторий, в котором описаны наиболее распространеные методы. Если требуются другие методы, то смело расширяйте свой репозиторий.

Методы абстрактного репозитория:

Метод Описание
all(): array Возвращает все записи
first(array $credentials = []): ?object Возвращает первую запись, либо первую подходящую запись по учетным данным
paginate(int $offset, int $limit = 15): array Постраничный вывод записей
count(): int Возвращает количество записей в таблице
insert(array $data): object Вставка записи
delete(array $credentials = []): void Удаляет все записи, либо записи которые удовлетворяют учетным данным
update(array $data, array $credentials = []): void Обновляет записи, либо записи которые удовлетворяют учетным данным

Пример


All versions of database with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package remils/database contains the following files

Loading the files please wait ....