Tích hợp và sử dụng CodeIgniter Customs
Bài đăng này đã không được cập nhật trong 7 năm
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
All rights reserved