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 modeleloquent
- tạo model eloquentcontroller
- tạo controllerlibrary
- 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é!
Đăng ký nhận tin.
Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!
Chào bạn
mình Viết code nhưng có một số chổ như đăng tin bất động sản giống chổ đăng thi của dothi. net
chọn tin đăng
từ ngày đến ngày
thành tiền
Bạn hỗ trợ mình cái đoạn code ajax đó với
thanks
nguyentanqu
5 năm trước