codesaur / dataobject
codesaur-php экосистемийн өгөгдлийн давхаргын үндсэн компонент, өгөгдлийн модель ба хүснэгтүүдийг удирдагч (MySQL / PostgreSQL / SQLite, PHP 8.2.1+)
Installs: 426
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/codesaur/dataobject
Requires
- php: ^8.2.1
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: ^11.0
- dev-main
- v9.0.0
- v8.1.0
- v8.0.0
- v7.7.0
- v7.6.0
- v7.5.0
- v7.4.0
- v7.3.0
- v7.2.1
- v7.2.0
- v7.1.1
- v7.1.0
- v7.0.0
- v6.6.0
- v6.5.0
- v6.4.1
- v6.4.0
- v6.3.0
- v6.2.1
- v6.2.0
- v6.1.1
- v6.1.0
- v6.0.1
- v6.0.0
- v5.2.0
- v5.1.0
- v5.0.0
- v4.4.0
- v4.2.0
- v4.1.5
- v4.1.4
- v4.1.3
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.0
- v3.5.0
- v3.4.4
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.1
- v3.3.0
- v3.2.9
- v3.2.8
- v3.2.7
- v3.2.6
- v3.2.5
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2
- v3.1
- v3.0
- v2.5.5
- v2.5.4
- v2.5.3
- v2.5.2
- 2.5.1
- v2.5
- v2.3
- v2.2.5
- v2.2.4
- v2.2.2
- v2.2.1
- v2.2
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1
- v2.0
- v1.1
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0
This package is auto-updated.
Last update: 2026-01-07 07:08:44 UTC
README
Агуулга / Table of Contents
- Монгол | 2. English | 3. Getting Started
1. Монгол тайлбар
PDO суурьтай өгөгдлийн модель ба хүснэгтүүдийг удирдагч компонент. MySQL / PostgreSQL / SQLite дээр адилхан кодоор ажилладаг.
codesaur/dataobject нь codesaur ecosystem-ийн нэг хэсэг бөгөөд хөнгөн жинтэй,
фрэймворкоос үл хамааран standalone байдлаар ашиглаж болох PHP өгөгдлийн давхаргын компонент юм.
Багц нь дараах үндсэн class-уудаас бүрдэнэ:
- Model - нэг хүснэгтэд зориулсан загварын суурь класс
- LocalizedModel - олон хэл дээрх контент хадгалах зориулалттай загварын суурь класс
- Column - хүснэгтийн баганын бүтцийг тодорхойлох класс
- PDOTrait - PDO үйлдлүүдийг төвлөрүүлсэн trait
- TableTrait - хүснэгттэй ажиллах үндсэн боломжуудыг агуулсан trait
Дэлгэрэнгүй мэдээлэл
- 📖 Бүрэн танилцуулга - Суурилуулалт, хэрэглээ, жишээнүүд
- 📚 API тайлбар - Бүх метод, exception-үүдийн тайлбар
- 🔍 Шалгалтын тайлан - Код шалгалтын тайлан
2. English description
PDO-based data model and table management component. Works with the same code on MySQL / PostgreSQL / SQLite.
codesaur/dataobject is part of the codesaur ecosystem and is a lightweight PHP data layer component that can be used standalone, independent of any framework.
The package consists of the following core classes:
- Model - base class for models targeting a single table
- LocalizedModel - base class for models storing content in multiple languages
- Column - class for defining table column structure
- PDOTrait - trait centralizing PDO operations
- TableTrait - trait containing basic capabilities for working with tables
Documentation
- 📖 Full Documentation - Installation, usage, examples
- 📚 API Reference - Complete API documentation
- 🔍 Review - Code review report
3. Getting Started
Requirements
- PHP 8.2.1+ with
ext-pdoextension - Composer
- MySQL or PostgreSQL or SQLite
Installation
Composer ашиглан суулгана / Install via Composer:
composer require codesaur/dataobject
Quick Example
use codesaur\DataObject\Model; use codesaur\DataObject\Column; class UserModel extends Model { public function __construct(\PDO $pdo) { $this->setInstance($pdo); $this->setColumns([ (new Column('id', 'bigint'))->primary(), (new Column('username', 'varchar', 64))->unique(), new Column('password', 'varchar', 255), (new Column('is_active', 'tinyint'))->default(1), new Column('created_at', 'datetime'), ]); $this->setTable('users'); } protected function __initial() { // Хүснэгт анх удаа үүсгэгдэх үед ганц удаа ажиллана } } // Хэрэглэх / Usage $pdo = new \PDO('mysql:host=localhost;dbname=test', 'user', 'pass'); $userModel = new UserModel($pdo); // Нэмэх / Insert $user = $userModel->insert([ 'username' => 'john', 'password' => password_hash('secret', PASSWORD_DEFAULT), 'created_at' => date('Y-m-d H:i:s'), ]); // Унших / Read $user = $userModel->getRowWhere(['username' => 'john']);
Running Tests
Тест ажиллуулах / Run tests:
# Бүх тестүүдийг ажиллуулах / Run all tests composer test # Coverage-тэй тест ажиллуулах / Run tests with coverage composer test-coverage
Changelog
- 📝 CHANGELOG.md - Full version history
Contributing & Security
License
This project is licensed under the MIT License.
Author
Narankhuu
📧 codesaur@gmail.com
🌐 https://github.com/codesaur
🦖 codesaur ecosystem: https://codesaur.net