HANDSOMEROOT
Bài 07: MVC PHP - Viết thư viện load helper
- Nhận đường liên kết
- X
- Ứng dụng khác
Tiếp tục serie MVC PHP thì trong bài này chúng ta tìm hiểu helper và cách viết thư viện load helper trong project MVC của chúng ta. Về cách làm thì vẫn không khác gì so với các bài load Library và config nên có lẽ mình sẽ giải thích ít hơn nhé các bạn.
Trước khi vào bài học thì mình chụp hình cấu trúc folder cho bài này nhé.
1. Helper là gì?
Helper là nơi lưu trữ các hàm và mỗi file helper thông thường sẽ chứa những hàm có cùng một chủ đề. Ví dụ khi ta tạo các hàm xử lý chuỗi thì ta sẽ tạo một file
String_Helper.php
để lưu trữ, khi tạo các hàm chuyên xử lý file thì ta tạo file File_Helper.php
để lưu trữ.Helper trong Project MVC này đặt ở đâu?
Tất cả các file helper sẽ được đặt trong folder
system/helper
và mục đích là cho tất cả các module đều có thể sử dụng nó.Quy tắc đặt tên file helper
Để đặt tên file helper bạn phải tuân thủ các quy tắc sau:
- Tên file helper phải viết in hoa chữ cái đầu và có hậu tố
_Helper
ở cuối. Ví dụ helperstring
thì tên file sẽ làString_Helper.php
- Trong helper bạn có thể chứa
class
hoặcfunction
đều được. Nhưng theo nguyên tắc nếu làclass
thì bạn nên đặt nó trong library nhé. - Vì
helper
chỉ là nhữngfunction
nên khiload helper
hệ thống sẽ không tạo mới nhưlibrary
mà bạn muốn dùng hàm nào thì gọi tới hàm đó.
2. Tạo mới một file helper
Bây giờ ta thực hành tạo mới một file
helper
có tên là string
thì bạn sẽ thực hiện các bước sau:- Tạo mới một file có tên là
String_Helper.php
nằm trong thư mụcsystem/helper
- Viết những hàm bạn muốn tạo trong helper đó. Giả sử mình viết hàm
string_to_int()
như sau:123456<?php
if
( ! defined(
'PATH_SYSTEM'
))
die
(
'Bad requested!'
);
// Chuyển đổi chữ thành số
function
string_to_int(
$str
) {
return
sprintf(
"%u"
, crc32(
$str
));
}
Ok vậy là bạn đã tạo được một file helper có tên là
string
. Bây giờ ta tiến hành viết thư viện loader cho helper3. Viết thư viện loader cho helper
Bạn mở file
system/core/loader/FT_Helper_Loader.php
lên và điền nội dung sau vào:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <?php /** * @package FT_Framework * @author Freetuts Dev Team * @email freetuts.net@gmail.com * @copyright Copyright (c) 2015 * @since Version 1.0 * @filesource system/core/loader/FT_Helper_Loader.php */ class FT_Helper_Loader { /** * Load helper * * @param string * @desc hàm load helper, tham số truyền vào là tên của helper */ public function load( $helper ) { $helper = ucfirst( $helper ) . '_Helper' ; require_once (PATH_SYSTEM . '/helper/' . $helper . '.php' ); } } |
Trong file này mình tạo mới một class tên là
FT_Helper_Loader
và trong nó có phương thức load()
, phương thức này có tham số truyền vào là tên helper
ở dạng chưa được chuyển đổi nên khi bạn load helper chỉ cần nhập vào tên là được. Ví dụ load helper
string thì sẽ nhập tên là string
chứ không phải String_Helper
.4. Khởi tạo thư viện load helper trong FT_Controller
Bước này khá quan trọng nhé các bạn. bạn vào file
system/core/FT_Controller.php
và thêm đoạn code load helper
như sau ởhàm khởi tạo:
1
2
3
| // Load Helper require_once PATH_SYSTEM . '/core/loader/FT_Helper_Loader.php' ; $this ->helper = new FT_Helper_Loader(); |
Và đây là toàn bộ code cho hàm khởi tạo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| public function __construct() { // Loader cho config require_once PATH_SYSTEM . '/core/loader/FT_Config_Loader.php' ; $this ->config = new FT_Config_Loader(); $this ->config->load( 'config' ); // Loader Library require_once PATH_SYSTEM . '/core/loader/FT_Library_Loader.php' ; $this ->library = new FT_Library_Loader(); // Load Helper require_once PATH_SYSTEM . '/core/loader/FT_Helper_Loader.php' ; $this ->helper = new FT_Helper_Loader(); } |
5. Sử dụng helper tại controller ở module
Bây giờ ta sẽ thực hành sử dụng helper nhé.
Bạn tạo một controller mới tên là
Helper_Controller.php
, sau đó copy nội dung sau vào:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <?php if ( ! defined( 'PATH_SYSTEM' )) die ( 'Bad requested!' ); class Helper_Controller extends FT_Controller { public function indexAction() { // Load heloer $this ->helper->load( 'string' ); // Gọi đến hàm string_to_int echo string_to_int( 'freetuts.net' ); } } |
Bạn chạy với URL như sau: http://localhost/mvc/admin.php?c=helper và nếu kết quả như hình thì bạn đã thành công rồi đấy.
6. Lời kết
Khi viết các bài về load thư viện này nếu bạn không rành về lập trình hướng đối tượng hoặc chưa tìm hiểu một số kiến thức về design pattern thì sẽ hơi khó khăn cho bạn đấy. Lời khuyên cho ban nếu rơi vào trường hợp đó thì hãy ráng học OOP trước khi tìm hiểu vào project này nhé, vì đây là serie dạng text chứ không phải video.
Nguồn: http://freetuts.net/mvc-php-viet-thu-vien-load-helper-361.html
Bài đăng phổ biến từ blog này
[Share] CSDL Quản lý Shop Online
Cấu trúc của cơ sở dữ liệu Danh sách các bảng 1. Bảng About (Lưu các bài viết giới thiệu cửa hàng) 2. Bảng Contact (Lưu thông tin liên hệ của cửa hàng) 3. Bảng Feedback (Lưu trữ thông tin phản hồi của người dùng) 4. Bảng Footer (Lưu trữ những thiết kế footer của trang web) 5. Bảng MenuType (Lưu trữ các loại menu trong trang web. Ví dụ : TopMenu, LeftMenu…) 6. Bảng Menu (Lưu trữ các menu) 7. Bảng NewCategory (Lưu trữ các nhóm chuyên mục về tin tức. Ví dụ : Tin khuyến mãi, tin công nghệ,…) 8. Bảng New (Lưu trữ các tin tức, bài đăng trên website) 9. Bảng Tag (Lưu trữ các thẻ) 10. Bảng ...
Hướng dẫn cài đặt VRML Pad và Cortona 3D Viewer
1. Hướng dẫn cài đặt VrmlPad 3.0 Chào các bạn. Hôm nay mình sẽ hướng dẫn các bạn cài đặt VrmlPad 3.0 Đầu tiên các bạn truy cập vào link sau để download phần mềm http://www.parallelgraphics.com/products/vrmlpad/download/ Ở phần VrmlPad 3.0 > Evalustion version chọn Download Sau khi quá trình tải về hoàn tất Các bạn tiến hành cài đặt phần mềm Chọn Next Nhấn Browser để chọn đường dẫn cài đặt phần mềm, chọn Next Chọn Install Chờ quá trình cài đặt phần mềm thành công. Nhấn Finish OK. Mình đã cài đặt xong. Giao diện phần mềm khi chạy lần đầu tiên Các bạn đã có thể soạn thảo Nhưng để chạy được file .wrl này chúng ta sẽ cài thêm 1 phần mềm bổ trợ Cortona 3D 2. Hướng dẫn cài đặt Cortona 3D Viewer Các bạn vào link sau để download http://www.cortona3d.com/ Chọn Menu " PRODUCTS " > " VIEWERS " > " CORTONA 3D VIEWER " Tiếp theo chọn DOWNLOAD CORTONA 3D VIEWER Chọn download tùy vào...
RANKING in SQL (ROW_NUMBER, RANK, DENSE_RANK,NTILE)
Hàm Ranking là gì? Các hàm Ranking cho phép bạn có thể đánh số liên tục (xếp loại) cho các tập hợp kết quả. Các hàm này có thể được sử dụng để cung cấp số thứ tự trong hệ thống đánh số tuần tự khác nhau. Có thể hiểu đơn giản như sau: bạn có từng con số nằm trên từng dòng liên tục, tại dòng thứ nhất xếp loại số 1, dòng thứ 2 xếp loại số là 2… Bạn có thể sử dụng hàm ranking theo các nhóm số tuần tự, mỗi một nhóm sẽ được đánh số theo lược đồ 1,2,3 và nhóm tiếp theo lại bắt đầu bằng 1,2,3… Chúng ta bắt đầu xem xét cách hàm trong sql hổ trợ từ 2005 Dữ liệu thử : CREATE TABLE Person( FirstName VARCHAR(10), Age INT, Gender CHAR(1) ) INSERT INTO Person VALUES ('Ted', 23, 'M') INSERT INTO Person VALUES ('John', 40, 'M') INSERT INTO Person VALUES ('George', 6, 'M') INSERT INTO Person VALUES ('Mary', 11, 'F') INSERT INTO Person VALUES ('Sam', 17, 'M') INSERT INTO Pe...
Nhận xét
Đăng nhận xét