1, Giới thiệu.

-Trong thời gian chờ Codeignter 4 ra mắt thì mình mời mọi người trải nghiệm phiên bản CodeIgnter Customs mà mình đã phát triển và sử dụng nó trong 1 năm trở lại đây.

Codeigniter Customs có gì?

-Codeignter Customs thự chất ra là Codeignter framework 3.x kết hợp mới một số tính năng của Laravel là: Blade templade engine, Eloquent ORM và Taiscript do mình viết ra với mục đính tạo các file bằng lệnh (giống artisan make trong laravel).

-Tích hợp composer nhằm giúp cho các developer tạo ra các project một cách đơn giản.

2, Cài đặt.

-Để có thể cài đặt Codeignter Customs thì bạn có thể sử dụng 2 cách sau (khuyên dùng cách 2):

Cách 1

-Các bạn download sorce code CodeIgniter Customs từ trên github về (Downlaod tại đây) :

Sau đó dùng commandline di chuyển đến thư mục các bạn vừa tải về và chạy lệnh:

composer install

Cách 2

-Với cách này các bạn chỉ việc sử dụng lệnh sau để khởi tạo một project mới.

composer create-project thanhtaivtt/codeigniter-app folderName Trong đó: folderName là folder mà bạn muốn tạo để chứa project.

Lưu ý: Để có thể sử dụng được các lệnh trên thì máy của bạn phải có composer. Xem cách cài đặt (Link).

3, Sử dụng.

Taiscript

-Đây là một module cho phép các bạn tạo ra các file controler, model, model Eloquent, helper, library bằng lệnh một cách nhanh chóng.

Để sử dụng thì ở thư mục gốc (root) của project các bạn sử lệnh cmd với cú pháp sau:

php taiscript make:module name

Trong đó:

  • name là tên file của module các bạn muốn tạo.
  • module là một trong các từ khóa sau: -- model - tạo model -- eloquent - tạo model eloquent -- controller - tạo controller -- library - tạo library. -- helper - tạo helper.
  • Để xem danh sách các lệnh các bạn sử dụng cú pháp:
php taiscript help

Eloquent.

-Đây chính là Eloquent của Laravel lên các bạn hoàn toàn có thể sử dụng cú pháp eloquent trong Laravel (xem cú pháp).

VD:

//Tạo eloquent
php taiscript make:eloquent User
//Tạo controller
php taiscript make:controller HomeController

Lúc này file User được chọn sẽ có dạng

<?php
defined('BASEPATH') or exit('No direct script access allowed');
/**
* Scripts by thanhtaivtt http://toidicode.com
*/
use \Illuminate\Database\Eloquent\Model as Eloquent;

class User extends Eloquent
{
    protected $table = 'user';
}

Và file HomeController sẽ có dạng:

<?php
defined('BASEPATH') or exit('No direct script access allowed');
/**
* Scripts by thanhtaivtt http://toidicode.com
*/
class HomeController extends CI_Controller
{
    public function index()
    {
        //code
    }
}

Để sử dụng nó trong Controller thì các bán sử dụng như bình thường:

<?php
defined('BASEPATH') or exit('No direct script access allowed');
/**
* Scripts by thanhtaivtt http://toidicode.com
*/
class HomeController extends CI_Controller
{
    public function index()
    {
        $this->load->model('user');
        $data = User::all();
        //...
    }
}

Blade Template

-Với dạng này thì các bạn cũng sử dụng cú pháp tương tự như trong Laravel nhé! (Xem cú pháp)

VD:

  • master.blade.php trong thư mục views (application/views/master.blade.php):
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>{{ $title }}</title>
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
    @yield('content')    
</body>
</html>
- home.blade.php trong thư mục views (application.view/compoment/home.blade.php):

@extends('master')
@section('content')
<div class="container">
    <div class="row">
        <div class="col-sm-8 col-sm-offset-2" style="margin-top: 50px;">
            <h3>{{ $content }}</h3>
        </div>
    </div>
</div>
@endsection

Lúc này ở controller nếu bạn muốn load view sử dụng blade template thì bạn sẽ sử dụng cú pháp $this->view('viewpath',$data):

<?php
defined('BASEPATH') or exit('No direct script access allowed');
/**
* Scripts by thanhtaivtt http://toidicode.com
*/
class HomeController extends CI_Controller
{
    public function index()
    {
        $data = [
            'title' => 'Home - Toidicode.com',
            'content' => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit'
        ];
        $this->view('compoment.home', $data);
    }
}

3, Lời kết.

-Trong lúc chờ đợi Codeigniter 4 ra mắt thì mọi người có thể sử dụng tạm phiên bản này cho đỡ cảm thấy quê hơn so với các Framework khác 😄. Có gì tích cho mình xin 1 star nhé!

Nguồn: Toidicode.com