Skip to content

Commit ed8fb37

Browse files
authored
Merge pull request #49 from nguyenanhung/v3.2.0-develop
2 parents 3ad56cf + 4d1848d commit ed8fb37

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+15266
-15252
lines changed

README.md

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,26 @@ Bản đóng gói lại thư mục system framework của CodeIgniter, sử dụ
66

77
Kể từ phiên bản `v3.2.0` - framework hoàn toàn tương thích với phiên bản PHP 8.2
88

9-
Bản đóng gói này được liên tục cập nhật với các feature mới từ nhánh CodeIgniter3 nguyên bản. Vì vậy nó luôn được cập nhật các bản vá lỗi và bổ sung thêm nhiều tính năng mới
9+
Bản đóng gói này được liên tục cập nhật với các feature mới từ nhánh CodeIgniter3 nguyên bản. Vì vậy nó luôn được cập
10+
nhật các bản vá lỗi và bổ sung thêm nhiều tính năng mới
1011

1112
Mục lục
1213
-------
1314

1415
- [Tính năng](#bổ-sung-thêm-1-số-thư-viện-mở-rộng-helpers-liên-quan)
1516
- [Hướng dẫn cài đặt](#hướng-dẫn-cài-đặt-gói-vào-trong-dự-án)
1617
- [Hướng dẫn sử dụng](#hướng-dẫn-sử-dụng)
17-
- [Hướng dẫn viết Controller kế thừa Base Controller](#hướng-dẫn-viết-controller-kế-thừa-base-controller)
18-
- [Hướng dẫn viết Controller chạy Queue Worker](#hướng-dẫn-viết-controller-chạy-queue-worker)
19-
- [Hướng dẫn viết Controller chạy RESTful API Service](#hướng-dẫn-viết-controller-chạy-restful-api-service)
20-
- [Hướng dẫn tích hợp mô hình HMVC (Modular) vào dự án](#hướng-dẫn-tích-hợp-mô-hình-hmvc-vào-dự-án)
21-
- [Hướng dẫn viết Model kế thừa Base Model](#hướng-dẫn-viết-model-kế-thừa-base-model)
22-
- [Hướng dẫn viết Model kế thừa Base ORM Model](#hướng-dẫn-viết-model-kế-thừa-base-orm-model)
23-
- [Hướng dẫn viết tích hợp SEO cơ bản](#hướng-dẫn-tích-hợp-seo-cơ-bản)
24-
- [Hướng dẫn sử dụng CSDL MongoDB trong dự án](#hướng-dẫn-sử-dụng-csdl-mongodb-trong-dự-án)
25-
- [Hướng dẫn sử dụng Elasticsearch trong dự án](#hướng-dẫn-sử-dụng-elasticsearch-trong-dự-án)
26-
- [Hướng dẫn sử dụng kiểm tra các filename trong dự án của bạn đã đúng chuẩn của CodeIgniter hay chưa](#hướng-dẫn-sử-dụng-kiểm-tra-các-filename-trong-dự-án-của-bạn-đã-đúng-chuẩn-của-codeigniter-hay-chưa)
27-
- [Hướng dẫn sử dụng ghi log tất cả các queries trong CodeIgniter và ghi lại Execution Time của từng Queries](#hướng-dẫn-sử-dụng-ghi-log-tất-cả-các-queries-trong-codeigniter-và-ghi-lại-execution-time-của-từng-queries)
18+
- [Hướng dẫn viết Controller kế thừa Base Controller](#hướng-dẫn-viết-controller-kế-thừa-base-controller)
19+
- [Hướng dẫn viết Controller chạy Queue Worker](#hướng-dẫn-viết-controller-chạy-queue-worker)
20+
- [Hướng dẫn viết Controller chạy RESTful API Service](#hướng-dẫn-viết-controller-chạy-restful-api-service)
21+
- [Hướng dẫn tích hợp mô hình HMVC (Modular) vào dự án](#hướng-dẫn-tích-hợp-mô-hình-hmvc-vào-dự-án)
22+
- [Hướng dẫn viết Model kế thừa Base Model](#hướng-dẫn-viết-model-kế-thừa-base-model)
23+
- [Hướng dẫn viết Model kế thừa Base ORM Model](#hướng-dẫn-viết-model-kế-thừa-base-orm-model)
24+
- [Hướng dẫn viết tích hợp SEO cơ bản](#hướng-dẫn-tích-hợp-seo-cơ-bản)
25+
- [Hướng dẫn sử dụng CSDL MongoDB trong dự án](#hướng-dẫn-sử-dụng-csdl-mongodb-trong-dự-án)
26+
- [Hướng dẫn sử dụng Elasticsearch trong dự án](#hướng-dẫn-sử-dụng-elasticsearch-trong-dự-án)
27+
- [Hướng dẫn sử dụng kiểm tra các filename trong dự án của bạn đã đúng chuẩn của CodeIgniter hay chưa](#hướng-dẫn-sử-dụng-kiểm-tra-các-filename-trong-dự-án-của-bạn-đã-đúng-chuẩn-của-codeigniter-hay-chưa)
28+
- [Hướng dẫn sử dụng ghi log tất cả các queries trong CodeIgniter và ghi lại Execution Time của từng Queries](#hướng-dẫn-sử-dụng-ghi-log-tất-cả-các-queries-trong-codeigniter-và-ghi-lại-execution-time-của-từng-queries)
2829
- [CodeIgniter Basic Helper](#codeigniter-basic-helper)
2930
- [Liên hệ & Hỗ trợ](#liên-hệ)
3031

@@ -43,8 +44,10 @@ Bổ sung thêm 1 số thư viện mở rộng, helpers liên quan
4344
- [x] Support class Base Model với 1 số hàm cơ bản đủ dùng với SQL
4445
- [x] Support class ORM Model, cung cấp 1 phương thức đơn giản và dễ dàng hơn để query
4546
- [x] Hỗ trợ Output Response trên giao diện CLI thông qua hàm `ResponseOutput::writeLn($message)`
46-
- [x] Bổ sung class `StatusCodes` khai báo sẵn các HTTP code tuân chuẩn (from Symfony framework), VD: `StatusCodes::HTTP_OK`. Chi tiết tham khảo thêm tại class `StatusCodes`
47-
- [x] Bổ sung rất nhiều helper tiện dụng với việc tích hợp sẵn gói `nguyenanhung/codeigniter-basic-helper` thông qua Composer
47+
- [x] Bổ sung class `StatusCodes` khai báo sẵn các HTTP code tuân chuẩn (from Symfony framework),
48+
VD: `StatusCodes::HTTP_OK`. Chi tiết tham khảo thêm tại class `StatusCodes`
49+
- [x] Bổ sung rất nhiều helper tiện dụng với việc tích hợp sẵn gói `nguyenanhung/codeigniter-basic-helper` thông qua
50+
Composer
4851

4952
## Hướng dẫn cài đặt gói vào trong dự án
5053

@@ -148,7 +151,8 @@ class My_worker extends HungNG_CI_Base_Queue_Worker
148151

149152
```
150153

151-
Tìm hiểu thêm chi tiết tài liệu tại đây: [https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-queue-worker](https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-queue-worker)
154+
Tìm hiểu thêm chi tiết tài liệu tại
155+
đây: [https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-queue-worker](https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-queue-worker)
152156

153157
### Hướng dẫn viết Controller chạy RESTful API Service
154158

@@ -183,7 +187,8 @@ class My_rest_api extends HungNG_CI_Base_REST
183187

184188
```
185189

186-
Tìm hiểu thêm chi tiết tài liệu tại đây: [https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-rest](https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-rest)
190+
Tìm hiểu thêm chi tiết tài liệu tại
191+
đây: [https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-rest](https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-rest)
187192

188193
### Hướng dẫn viết Model kế thừa Base Model
189194

@@ -233,7 +238,8 @@ class Credentials_model extends HungNG_Custom_Based_model
233238

234239
### Hướng dẫn viết Model kế thừa Base ORM Model
235240

236-
1. Package này bổ sung thêm 1 phương án viết model hiện đại theo phong cách ORM với Elegant patterns giống như Laravel Eloquent ORM & Yii2 Active Record (được xây dựng bởi yidas)
241+
1. Package này bổ sung thêm 1 phương án viết model hiện đại theo phong cách ORM với Elegant patterns giống như Laravel
242+
Eloquent ORM & Yii2 Active Record (được xây dựng bởi yidas)
237243
2. Đọc tài liệu chi tiết về cách tích hợp và triển khai tại đây với những ví dụ trực quan và cụ
238244
thể: [https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-orm-model](https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-orm-model)
239245

@@ -245,20 +251,24 @@ class Credentials_model extends HungNG_Custom_Based_model
245251

246252
### Hướng dẫn sử dụng CSDL MongoDB trong dự án
247253

248-
1. Mặc định, CodeIgniter v3 không hỗ trợ MongoDB. Tuy nhiên không vì thế mà hạn chế, CodeIgniter là framework mở, vì vậy tôi đã bổ sung thêm 1 thư viện hỗ trợ việc gọi, tương tác, xử lý với CSDL MongoDB mà cách sử dụng cũng tương đối giống với Query
254+
1. Mặc định, CodeIgniter v3 không hỗ trợ MongoDB. Tuy nhiên không vì thế mà hạn chế, CodeIgniter là framework mở, vì vậy
255+
tôi đã bổ sung thêm 1 thư viện hỗ trợ việc gọi, tương tác, xử lý với CSDL MongoDB mà cách sử dụng cũng tương đối
256+
giống với Query
249257
Builder của CodeIgniter
250258
2. Đọc tài liệu chi tiết về cách tích hợp và triển khai tại đây với những ví dụ trực quan và cụ
251259
thể: [https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-mongodb](https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-mongodb)
252260

253261
### Hướng dẫn sử dụng Elasticsearch trong dự án
254262

255-
1. Mặc định, CodeIgniter v3 không hỗ trợ Elasticsearch. Tuy nhiên không vì thế mà hạn chế, CodeIgniter là framework mở, vì vậy tôi đã bổ sung thêm 1 thư viện hỗ trợ việc gọi, tác với Elasticsearch
263+
1. Mặc định, CodeIgniter v3 không hỗ trợ Elasticsearch. Tuy nhiên không vì thế mà hạn chế, CodeIgniter là framework mở,
264+
vì vậy tôi đã bổ sung thêm 1 thư viện hỗ trợ việc gọi, tác với Elasticsearch
256265
2. Đọc tài liệu chi tiết về cách tích hợp và triển khai tại đây với những ví dụ trực quan và cụ
257266
thể: [https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-elasticsearch](https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-elasticsearch)
258267

259268
### Hướng dẫn tích hợp mô hình HMVC vào dự án
260269

261-
1. Create folder: `modules` trong thư mục `application`. Tham khảo cấu trúc thư mục `modules-samples` tại https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/modules-sample
270+
1. Create folder: `modules` trong thư mục `application`. Tham khảo cấu trúc thư mục `modules-samples`
271+
tại https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/modules-sample
262272

263273
```shell
264274
.
@@ -374,15 +384,19 @@ class TestModule extends HungNG_CI_Base_Module
374384

375385
### Hướng dẫn sử dụng ghi log tất cả các queries trong CodeIgniter và ghi lại Execution Time của từng Queries
376386

377-
1. Mặc định, CodeIgniter v3 không hỗ trợ ghi log Execution Time của các Queries. Tuy nhiên, có thể sử dụng Hooks để thực hiện điều này
387+
1. Mặc định, CodeIgniter v3 không hỗ trợ ghi log Execution Time của các Queries. Tuy nhiên, có thể sử dụng Hooks để thực
388+
hiện điều này
378389
2. Đọc tài liệu chi tiết về cách tích hợp và triển khai tại đây với những ví dụ trực quan và cụ
379390
thể: [https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-log-all-queries](https://github.com/nguyenanhung/codeigniter-framework-sample/tree/main/codeigniter-log-all-queries)
380391

381392
## CodeIgniter Basic Helper
382393

383-
- Trong nhiều năm làm lập trình với CodeIgniter, tôi đã sưu tập, xây dựng và viết được kha khá helper, tôi đã đóng gói chúng lại thành gói `nguyenanhung/codeigniter-basic-helper` và tích hợp vào bên trong gói này.
384-
- Gói helper này vẫn đang được tôi vận hành và phát triển hàng ngày, số project tích hợp các hàm trong gói này đã lên con số hàng nghìn
385-
- Thông tin chi tiết hơn về bộ helper này [https://github.com/nguyenanhung/codeigniter-basic-helper](https://github.com/nguyenanhung/codeigniter-basic-helper)
394+
- Trong nhiều năm làm lập trình với CodeIgniter, tôi đã sưu tập, xây dựng và viết được kha khá helper, tôi đã đóng gói
395+
chúng lại thành gói `nguyenanhung/codeigniter-basic-helper` và tích hợp vào bên trong gói này.
396+
- Gói helper này vẫn đang được tôi vận hành và phát triển hàng ngày, số project tích hợp các hàm trong gói này đã lên
397+
con số hàng nghìn
398+
- Thông tin chi tiết hơn về bộ helper
399+
này [https://github.com/nguyenanhung/codeigniter-basic-helper](https://github.com/nguyenanhung/codeigniter-basic-helper)
386400

387401
## Liên hệ
388402

composer.json

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,55 @@
11
{
2-
"description": "The CodeIgniter Framework - v3.2.0",
3-
"name": "nguyenanhung/codeigniter-framework",
4-
"type": "library",
5-
"homepage": "https://codeigniter.com",
6-
"license": "MIT",
7-
"authors": [
8-
{
9-
"name": "Nguyen An Hung",
10-
"email": "dev@nguyenanhung.com",
11-
"homepage": "https://nguyenanhung.com",
12-
"role": "Developer"
13-
}
14-
],
15-
"support": {
16-
"issues": "https://github.com/nguyenanhung/codeigniter-framework/issues",
17-
"wiki": "https://github.com/nguyenanhung/codeigniter-framework/wiki",
18-
"source": "https://github.com/nguyenanhung/codeigniter-framework"
19-
},
20-
"require": {
21-
"php": ">=5.6",
22-
"ext-json": "*",
23-
"nguyenanhung/codeigniter-basic-helper": ">=1.0",
24-
"symfony/polyfill-mbstring": ">=1.0"
25-
},
26-
"require-dev": {
27-
"nguyenanhung/my-debug": "^4.0 || ^3.0 || ^2.0 || ^1.0"
28-
},
29-
"autoload": {
30-
"classmap": [
31-
"hungng/",
32-
"custom/"
33-
],
34-
"psr-4": {
35-
"nguyenanhung\\CodeIgniter\\BaseREST\\": "thirdParty/REST/"
36-
},
37-
"files": [
38-
"helpers/common.php"
39-
]
40-
},
41-
"suggest": {
42-
"nguyenanhung/helpers": "Awesome Helpers - Powerful Library, Helpers and Tools",
43-
"nguyenanhung/security": "Awesome Helpers - Wrapper for Security, Encrypt, Encode, Purifier",
44-
"nguyenanhung/validation": "Awesome Validation - A fast, extensible & stand-alone PHP input validation class that allows you to validate any data",
45-
"nguyenanhung/image": "Need support for Image Service",
46-
"nguyenanhung/seo": "Need support for SEO",
47-
"nguyenanhung/my-cache": "Need support for Powerful Cache Implement",
48-
"nguyenanhung/my-debug": "Need support for Powerful Logger (Extend from Monolog)",
49-
"nguyenanhung/requests": "Need support for Powerful HTTP Request",
50-
"nguyenanhung/database": "Need support for Powerful SQL Database Tools (Customize Laravel Database)",
51-
"nguyenanhung/monitor": "Need support for Send Monitor Message to Monitor Service",
52-
"nguyenanhung/markdown": "Parser for Markdown",
53-
"nguyenanhung/basic-firewall": "PHP Basic Firewall - Library providing IP filtering features"
54-
}
2+
"description": "The CodeIgniter Framework - v3.2.0",
3+
"name": "nguyenanhung/codeigniter-framework",
4+
"type": "library",
5+
"homepage": "https://codeigniter.com",
6+
"license": "MIT",
7+
"authors": [
8+
{
9+
"name": "Nguyen An Hung",
10+
"email": "dev@nguyenanhung.com",
11+
"homepage": "https://nguyenanhung.com",
12+
"role": "Developer"
13+
}
14+
],
15+
"support": {
16+
"issues": "https://github.com/nguyenanhung/codeigniter-framework/issues",
17+
"wiki": "https://github.com/nguyenanhung/codeigniter-framework/wiki",
18+
"source": "https://github.com/nguyenanhung/codeigniter-framework"
19+
},
20+
"require": {
21+
"php": ">=5.6",
22+
"ext-json": "*",
23+
"nguyenanhung/codeigniter-basic-helper": ">=1.0",
24+
"symfony/polyfill-mbstring": ">=1.0"
25+
},
26+
"require-dev": {
27+
"nguyenanhung/my-debug": "^4.0 || ^3.0 || ^2.0 || ^1.0"
28+
},
29+
"autoload": {
30+
"classmap": [
31+
"hungng/",
32+
"custom/"
33+
],
34+
"psr-4": {
35+
"nguyenanhung\\CodeIgniter\\BaseREST\\": "thirdParty/REST/"
36+
},
37+
"files": [
38+
"helpers/common.php"
39+
]
40+
},
41+
"suggest": {
42+
"nguyenanhung/helpers": "Awesome Helpers - Powerful Library, Helpers and Tools",
43+
"nguyenanhung/security": "Awesome Helpers - Wrapper for Security, Encrypt, Encode, Purifier",
44+
"nguyenanhung/validation": "Awesome Validation - A fast, extensible & stand-alone PHP input validation class that allows you to validate any data",
45+
"nguyenanhung/image": "Need support for Image Service",
46+
"nguyenanhung/seo": "Need support for SEO",
47+
"nguyenanhung/my-cache": "Need support for Powerful Cache Implement",
48+
"nguyenanhung/my-debug": "Need support for Powerful Logger (Extend from Monolog)",
49+
"nguyenanhung/requests": "Need support for Powerful HTTP Request",
50+
"nguyenanhung/database": "Need support for Powerful SQL Database Tools (Customize Laravel Database)",
51+
"nguyenanhung/monitor": "Need support for Send Monitor Message to Monitor Service",
52+
"nguyenanhung/markdown": "Parser for Markdown",
53+
"nguyenanhung/basic-firewall": "PHP Basic Firewall - Library providing IP filtering features"
54+
}
5555
}

config/constants.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@
1818
defined('POWERED_HUNGNG_NAME') or define('POWERED_HUNGNG_NAME', 'Nguyen An Hung');
1919
defined('POWERED_HUNGNG_SHORT_NAME') or define('POWERED_HUNGNG_SHORT_NAME', 'Hung Nguyen');
2020
defined('CODEIGNITER_HUNGNG_VENDOR_PACKAGES') or define(
21-
'CODEIGNITER_HUNGNG_VENDOR_PACKAGES',
22-
'https://packagist.org/packages/nguyenanhung/codeigniter-framework'
21+
'CODEIGNITER_HUNGNG_VENDOR_PACKAGES',
22+
'https://packagist.org/packages/nguyenanhung/codeigniter-framework'
2323
);
2424
defined('CODEIGNITER_HUNGNG_VENDOR_SOURCE') or define(
25-
'CODEIGNITER_HUNGNG_VENDOR_SOURCE',
26-
'https://github.com/nguyenanhung/codeigniter-framework'
25+
'CODEIGNITER_HUNGNG_VENDOR_SOURCE',
26+
'https://github.com/nguyenanhung/codeigniter-framework'
2727
);
2828
defined('CI3_FRAMEWORK_ISSUES') or define(
29-
'CI3_FRAMEWORK_ISSUES',
30-
'https://github.com/nguyenanhung/codeigniter-framework/issues'
29+
'CI3_FRAMEWORK_ISSUES',
30+
'https://github.com/nguyenanhung/codeigniter-framework/issues'
3131
);
3232
defined('CI3_FRAMEWORK_PULL_REQUESTS') or define(
33-
'CI3_FRAMEWORK_PULL_REQUESTS',
34-
'https://github.com/nguyenanhung/codeigniter-framework/pulls'
33+
'CI3_FRAMEWORK_PULL_REQUESTS',
34+
'https://github.com/nguyenanhung/codeigniter-framework/pulls'
3535
);

0 commit comments

Comments
 (0)