Laravel Eloquent-in Code Igniter ilə birləşdirilməsi.

Farid Babayev
Kodera
Published in
2 min readDec 12, 2017

Code Igniter CI kimi bilinən sadə amma güclu PHP framework-lərdən biridir. 2006-cı ildə qurulan bu framework sürətli, təhlukəsiz, yüngüldür və Model-View-Controller dizayn pattern-də işləyir.

Vaxt itirmədən keçək əsas məsələyə. Laravel eloquent ilə Codeİgniter-i birləşdirsək necə olar? Gəlin bunu bir yerdə yoxlayaq.

Laravel Eloquent-in Code Igniter ilə birləşdirilməsi.

  1. Illuminate/Database paketini yükləyirik
  2. Hook-ları konfiqurasiya edirik
  3. Laravel Eloquent-i test edirik

1. Illuminate/Database paketini yükləyirik.

Composer sistemi codeigniter-in üzərində hazır qurulu olur. Sadəcə terminalı acıb, codeigniter faylını tapıb aşağıdakı kodu yazmaq lazımdır.

composer require illuminate/database 5.1.16

Yuxarıdakı kodu yazanda illuminate database paketini packagist-dən çəkib bizim vendor qovluğumuza yükləyir. Daha sonra biz models qovluğunda olan fayllarımızı avtomatik olaraq yükləməliyik. Bunun üçün bizcomposer.json faylını açıb aşağıdakı kodu əlavə etməliyik.

"autoload": {
"classmap": [
"application/models"
]
}

Kodu əlavə edəndən sonra composer.json faylı aşağıdakı kimi görsənəcək.

vendor/autoload.php faylının işləməsi üçün index.php faylının yuxarı hissəsinə aşağıdakı kodu əlavə edirik.

require_once 'vendor/autoload.php';

Daha sonra isə modellərin avtomatik yüklənməsi üçün terminalı açıb composer dump-autoloadyazırıq.

2. Hook-ları konfiqurasiya edirik.

İlk oncə biz codeigniter-də hook-lardan istifadə eləmək üçün codeigniter-də hook-u aktiv eləməliyik. application/config/config.php faylını açıb enable_hooks -un dəyərini TRUE eləməliyik.

$config['enable_hooks'] = TRUE;

Daha sonra application/config/hook.php faylını açıb aşağıdakı kodu yazırıq.

$hook['post_controller_constructor'][] = [
'class' => 'EloquentHook',
'function' => 'bootEloquent',
'filename' => 'EloquentHook.php',
'filepath' => 'hooks'
];

Yuxarıdakı kodu yazdıqdan sonra application/hooks qovluğunda ElaquentHook.php faylı yaradıb içinə aşağıdakı kodu yazırıq.

3. Laravel Eloquent-i test edirik.

Bütün konfiqurasiya bitdi. İndi isə elediklərimizi test elemek zamanı gəldi.

Artıq biz bütün modellərə \Illuminate\Database\Eloquent\Model -i use edəcəyik.

Məsələn User.php

Unutmayın hər dəfə yeni model yaradanda terminalda composer dump-autoload kodunu işlədin. Əgər işlətməsəz class not found erroru ilə qarşılasacaqsınız.

İndi isə controller-də yaratdığımız User modelini işlədək.

User::all(); // bütün user-ləri gətirəcək

User::find(1); // id-i 1 olan user-i gətirəcək

User::where('id', '>', 1)->get(); // id-i 1-dən böyük olan user-ləri gətirəcək.

--

--