maatify/db-model

This package is abandoned and no longer maintained. No replacement package was suggested.

Official PHP library for maatify.dev MySql Database Model handler, known by our team

Maintainers

Package info

github.com/Maatify/DB-Model

Homepage

pkg:composer/maatify/db-model

Transparency log

Statistics

Installs: 21

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

1.1.0 2023-07-20 05:50 UTC

This package is auto-updated.

Last update: 2026-07-11 18:53:37 UTC


README

maatify.dev MySql Database PDO Model handler, known by our team

Installation

composer require maatify/db-model

Usage

Create DbConnector Connection Class Extends Model

<?php

namespace Maatify\files;

use Maatify\Json\Json;
use Maatify\Logger\Logger;
use Maatify\Model\DB;
use Maatify\Model\Model;
use PDOException;

abstract class DbConnector extends Model
{
    private static DB $connection;

    public function __construct()
    {
        if(empty(static::$connection)){
            try {
                static::$connection = new DB([
                    'host'     => __DB_HOST__,
                    'user'     => __DB_USER__,
                    'password' => __DB_PASSa__,
                    'dbname'   => __DB_DATABASE__,
                    'charset'  => 'utf8mb4',
                ]);
            }
            catch (PDOException $e){
                Logger::RecordLog([$e->getMessage(), (int)$e->getCode()], 'app_connections');
                Json::DbError(__LINE__);
            }
        }
        parent::__construct();
        $this->db = static::$connection;
    }
}

Create Connection Table Handler Class Extends DbConnector

<?php

class Info extends DbConnector
{
    protected string $tableName = 'info';

    public function Insert(int $id, string $name): void
    {
        $this->Add(
            [
                'id'   => $id,
                'name' => $name,
            ]
        );
    }

    public function SelectAll(): array
    {
        return $this->Rows($this->tableName);
    }

    public function SelectById(int $id): array
    {
        return $this->Rows($this->tableName, '*', '`id` = ?', [$id]);
    }

    public function UpdateNameByID(int $id, string $name): bool
    {
        return $this->Edit(['name'=>$name], '`id` = ?', [$id]);
    }
}