Skip to content

Commit

Permalink
Update document
Browse files Browse the repository at this point in the history
  • Loading branch information
hungnguyenhp committed Sep 10, 2021
1 parent 585dcbc commit cf1610c
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 4 deletions.
92 changes: 88 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,60 @@

[![Latest Stable Version](http://poser.pugx.org/nguyenanhung/codeigniter-framework/v)](https://packagist.org/packages/nguyenanhung/codeigniter-framework) [![Total Downloads](http://poser.pugx.org/nguyenanhung/codeigniter-framework/downloads)](https://packagist.org/packages/nguyenanhung/codeigniter-framework) [![Latest Unstable Version](http://poser.pugx.org/nguyenanhung/codeigniter-framework/v/unstable)](https://packagist.org/packages/nguyenanhung/codeigniter-framework) [![License](http://poser.pugx.org/nguyenanhung/codeigniter-framework/license)](https://packagist.org/packages/nguyenanhung/codeigniter-framework)

Bản đóng gói lại thư mục system framework của CodeIgniter, sử dụng tương thích với Composer và PHP7
Bản đóng gói lại thư mục system framework của CodeIgniter, sử dụng tương thích với Composer và PHP 7, PHP 8

Bổ sung thêm 1 số thư viện mở rộng, helpers liên quan
## Bổ sung thêm 1 số thư viện mở rộng, helpers liên quan

Support mô hình HMVC
- [x] Support mô hình HMVC
- [x] Support class Base Model với 1 số hàm cơ bản
- [x] Hỗ trợ Output Response trên giao diện CLI thông qua hàm `ResponseOutput::writeLn($message)`
- [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`

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

1. Xây dựng 1 model theo tài liệu CodeIgniter 3
2. Kế thừa class từ `HungNG_Custom_Based_model` thay vì `CI_Model`, ví dụ như sau

```php
<?php
defined('BASEPATH') or exit('No direct script access allowed');

/**
* Class Credentials_model
*
* @author 713uk13m <dev@nguyenanhung.com>
* @copyright 713uk13m <dev@nguyenanhung.com>
* @property \CI_DB_query_builder $db
*/
class Credentials_model extends HungNG_Custom_Based_model
{
const IS_ACTIVE = 1;
const ROLE_PUSH = 1;
const ROLE_PULL = 2;
const ROLE_FULL = 3;

protected $fieldUsername;
protected $fieldStatus;
protected $fieldRole;

/**
* Credentials_model constructor.
*
* @author : 713uk13m <dev@nguyenanhung.com>
* @copyright: 713uk13m <dev@nguyenanhung.com>
*/
public function __construct()
{
parent::__construct();
$this->db = $this->load->database('default', true, true);
$this->tableName = 'credentials';
$this->primary_key = 'id';
$this->fieldUsername = 'username';
$this->fieldStatus = 'status';
$this->fieldRole = 'role';
}
}
```

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

Expand Down Expand Up @@ -56,7 +105,42 @@ $config['modules_locations'] = array(
require_once __DIR__ . '/hmvc.php';
```

4. Triển khai viết code trong thư mục modules mới
4. Create file `MY_Loader.php` trong thư mục `application/core/` có nội dung như sau

```php
<?php
defined('BASEPATH') or exit('No direct script access allowed');
/**
* Class MY_Loader
*
* @author 713uk13m <dev@nguyenanhung.com>
* @copyright 713uk13m <dev@nguyenanhung.com>
*/
class MY_Loader extends HungNG_Loader
{

}
```

5. Create file `MY_Router.php` trong thư mục `application/core/` có nội dung như sau

```php
<?php
defined('BASEPATH') or exit('No direct script access allowed');
/**
* Class MY_Router
*
* @author 713uk13m <dev@nguyenanhung.com>
* @copyright 713uk13m <dev@nguyenanhung.com>
*/
class MY_Router extends HungNG_Router
{

}

```

6. Triển khai viết code trong thư mục modules mới

## Liên hệ

Expand Down
10 changes: 10 additions & 0 deletions hungng/HungNG_Custom_Based_model.php
Original file line number Diff line number Diff line change
Expand Up @@ -444,5 +444,15 @@ public function request_builder($search)
}
}
}

/**
* __destruct models
*/
public function __destruct()
{
if ($this->db != '') {
$this->close();
}
}
}
}

0 comments on commit cf1610c

Please sign in to comment.