Tải bản đầy đủ (.docx) (13 trang)

frameworkx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (128.75 KB, 13 trang )

Cấu trúc thư mục framework:
Application: thư mục chứa ứng dụng web.
1. Config: Chứa các file cấu hình web
2. Libraries: Chứa các thư viện do người dùng tự định nghĩa
3. Website: Chia làm môi trường theo folder, có thể tùy chỉnh biến
$config['config']['application_default'] trong file config/config.php
a.Modules: Chứa các folder module được xây dựng theo cấu trúc
MVC
b.Templates: “Đang mở rộng”, dự tính là phần chứa giao diện html
của template engine
Assets: chứa các thành phần file GUI, như css, ảnh, và js được tích hợp vào
framework.
System: là hệ thống cốt lõi của framework, bao gồm các thành phần helper (hàm
đơn lẻ), libraries (class thư viện)
Những file này có thể đổi tên thông qua file Index.php ở thư mục chính:
$application_folder = 'application';
$website_folder = 'website';
$system_folder = 'system';
$assets_folder = 'assets';
CÁC HẰNG ĐƯỢC HỖ TRỢ
1. DS: là hằng mang ý nghĩa là dấu / hoặc \ tùy theo môi trường Server
Ví dụ: D:\VertrigoServ\www\
2. PATH_BASE: là patch hiện tại của framework trên server
3. PATH_APP: là patch của folder application trên server
4. PATH_WEB: là patch của folder website trên server
5. PATH_SYSTEM: là patch của folder system trên server
Ngoài ra ta có thể thêm các hằng khác vào framework thông qua file defines.php ở config/config.php
//khởi tạo define
define('WEB_URL', $config['config']['web_url']);
define('WEB_TYPE', $config['config']['web_type']);
define('WEB_TPL', WEB_URL.'/application/website/pc/templates/default');


define('WEB_ASSETS', WEB_URL.'/assets');
define('IP', $_SERVER['REMOTE_ADDR']);
define('NOW', time());
KHỞI TẠO ỨNG DỤNG
Mặc định framework sẽ run module main và method là index, có thể cấu hình nó trong config/config.php
$config['config']['module_default'] = 'main';
$config['config']['module_construct_default'] = 'index';
Cấu trúc một module chia làm 3 phần là Model, View, Controller
Một module có thể bao gồm nhiều file controller , models và views. Mặc định khi
một module được load nó sẽ load theo main/{tên file trùng với tên module}/
{tên class trùng với tên module}/index , với index được cấu hình ở config.php.
Một VD về module main
Controller:
Class Main extends PS_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
$this->view('main');
}
}
View:
FRAMEWORK
<br/>
<hr/>
Hello world
<hr/>

Kết quả:
CONTROLLER
Controller là thành phần chủ chốt tạo nên một tính năng module , một Controller được khai báo và
extends Class cha PS_Controller như sau:
Class Register extends PS_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
}
}
Do đó, Controller của framework có thể truy cập thông qua trình duyệt với dạng như sau:
http://Localhost/ blog
Ở hoạt động bên dưới framework sẽ hiểu là ta đã truy cập vào:
1. Module: blog
2. Controller: blog
3. Method: index
_ Ngoài ra nếu trình duyệt như thế này:
http://localhost/blog/register
Hệ thống sẽ hiểu:
1. Module: blog
2. Controller: register
3. Method: index
_ Thêm như thế này:
http://localhost/blog/register/time
Hệ thống sẽ hiểu:
1. Module: blog

2. Controller: register
3. Method: time
Code demo:
Class Register extends PS_Controller
{
function __construct()
{
parent::__construct();
}
// http://localhost/blog/register
function index()
{
echo 'trang dang ky';
}
// http://localhost/blog/register/time
function time()
{
echo NOW;
}
// http://localhost/blog/register/test , with protected or private result is: permission denied
private function test()
{
}
}
Ở một số trường hợp bảo mật, method sẽ được gán là protected hoặc private để tránh sự truy cập trực
tiếp bằng uri trình duyệt ( VD: http://localhost/blog/register/test kết quả sẽ cấm người dùng truy cập
thông qua đây) .
Một số phương thức mà Controller hỗ trợ:
1. global_set: gán biến toàn cục
2. global_get: lấy biến toàn cục

3. global_unset: xóa biến toàn cục
4. get: lấy một biến toàn cục (tương tự như việc khai báo thêm property)
5. set: gán một giá trị toàn cục. (việc gán có thể thêm mới hoặc làm thay đổi một số option của
controller như caching, sẽ có ở phần dưới)
6. helper: include 1 helper chứa các function cần thiết vào controller.
7. lib: import 1 class thư viện vào controller.
8. view: để load 1 view vào controller.
9. model: để load 1 model vào controller.
10. module: để load 1 module khác vào controller này.
Lưu ý: Với global_get/set/unset: một ví dụ cho việc sử dụng biến toàn cục này là ko bị giới hạn bởi dòng
chảy dữ liệu. Dòng 1 get tên là title, dòng 100 set title=1000, kết quả xuất ra sẽ là title 1000. Tuy nhiên
global_ chỉ hoạt động tốt tại tầng View.
URI
Khác với GET, uri là phần tham số phía sau của 1 module
VD:
http://localhost/ibet6888/blog/blog/index/test
Kết quả:
Code:
Class Blog extends PS_Controller
{
function __construct()
{
parent::__construct();
}
function index($text='blog')
{

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×