تم اطلاق الاصدار الجديد من PHPtricks-ORM.

لمن لا يعرف ما تقوم به هذه المكتبة : هي مكتبة تبسط عليك التعامل مع قواعد البيانات او بمعنى اخر ORM بسيط.

تجد التوثيق كاملاً هنا :


ما الجديد في هذا الاصدار ؟

- ADD : Modeling System
- ADD : Migrations
- ADD : Commands-line
- ADD : Joins [Models Relation]
- ADD : toJsonFormatted() method
- ADD : groupBy() method
- ADD : drop() method - to delete tables
- MODIFY : Database Class
- MODIFY : toArray() Method

إسمح لي ببعض الشرح :

  • PHPtricks-ORM تعتمد على PDO extension.
  • تسمح باتصال واحد بقاعدة البيانات ورفض الاتصالات المكررة ، يؤدي هذا إلى تسريع استخدام قاعدة البيانات وتقليل الحمل على الخادم.
  • دعم العديد من الdatabase drivers : (mysql, sqlite, PostgreSQL, mssql, sybase, Oracle Call Interface -oci-).

للتحميل عن طريق composer:

composer require phptricks/database_class

{
    "require": {
        "phptricks/database_class": "^5.0"
    }
}

قم بضبط الاعدادات للاتصال مع قاعدة البيانات من الملف : Config/database_config.php

إنشاء اول جدول عن طريق سطر الاوامر :

php phptricks migrate:make  CreateUsersTable create --t=users

هذا الامر سينتج عنه ملف داخل Migrations/create باسم CreateUsersTable.php يحتوي على :

<?php

require_once 'vendor/autoload.php';

use PHPtricks\Orm\Builder;
class CreateUsersTable extends Builder
{
    // if -table option sent
    protected $_table = 'users';
    // if -table option not sent
    // protected $_table = 'table_name';

    public function run()
    {
        return $this->schema([
            'id' => 'increments',
            'string' => 'string:255|not_null|unique',
            'datetime' => 'datetime',
            'integer' => 'int|unsigned',
            'unique' => 'string:255|not_null|unique',
            'created_at' => 'timestamp',
        ])->create();
    }
}

قم بتعديل ما يلزم ومن ثم قم بترحيل الجدول الى قاعدة البيانات عن طريق سطر الاوامر :

php phptricks migrate

قم بانشاء اول Model :

php phptricks model UserModel --table=users

هذا الامر سيقوم بانشاء ملف داخل مجلد Models باسم UserModel.php ويحتوي :

use PHPtricks\Orm\Model;
class UserModel extends Model
{
    protected $_table = 'users';
}

يمكنك تغيير مكان انشاء الملفات من خلال Config/database_config.php

// Directories for Commands
'directories' => [
    'create' => __DIR__.'/../Migrations/create/',
    'alter'  => __DIR__.'/../Migrations/alter/',
    'drop'   => __DIR__.'/../Migrations/drop/',
    'models' => __DIR__.'/../Models/',
    'migrated-file' =>  __DIR__.'/../Migrations/temp/'
],

احضار البيانات :

$model = new MyModel();

$allData = $model->where('column_table', 'operation', 'value')
                ->limit($recordsNumber)
                ->select(['columns_1', 'columns_2']);

ادخال البيانات :

$userModel = new UserModel();

$userModel->insert([
            'username' => 'mohammad',
            'email'    => 'mohammad@email.com',
            'password' => 'secret',
        ]);

تعديل البيانات او ادخالها ان لم تكن موجودة :

$userModel->createOrUpdate([
            'username' => 'AL-Anzawi',
            'email'    => 'mohammad@email.com',
            'password' => 'secret',
        ], ['username', 'mohammad']);

تعديل البيانات :

$userModel->where('id', 5)
        ->update([
            'name' => 'ali'
            ]);


$user = $userModel->find(1);

$user->username = 'Mohammad Waleed';
$user->email = 'new-email@email.test';

$user->save();

والمزيد من المميزات والادوات التي تسهل عليك التعامل مع قواعد البيانات والجداول, يمكنك الاطلاع عليها من هنا :

/

يرجى الملاحظة: الإصدار 5.0.0 غير متوافق مع الإصدارات القديمة.

إذا كنت تستخدم PHPtricks-ORM v4.x.x أو أقدم في مشروعك وتريد الترقية إلى الإصدار 5.0.0 ،

تحتاج إلى تغيير الكثير من الأشياء لتلائم الإصدار الجديد.