DANH MỤC: Linh Tinh

Tích hợp và sử dụng CodeIgniter Customs


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 ORMTaiscript 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 :D. Có gì tích cho mình xin 1 star nhé!

Nguồn: Toidicode.com

Thông tin tác giả

Thanh Tai (thanhtaivtt)

Thanh Tai (thanhtaivtt)

The best way to learn is to teach

Hãy tham gia group facebook để cùng giao lưu chia sẻ kiến thức! Tham Gia