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 ...
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 IlluminateDatabaseEloquentModel 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′,this->view('viewpath',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