Thứ Bảy, 10 tháng 3, 2012

__{api}__Nukeviet APIs

Nukeviet API
(11-03-12)

Xem quy ước.
Quy ước thêm:
- Nói file chức năng không đi kèm admin là chỉ các file chức năng của website.


QueryString

      //hằng cho tên biến URL ngôn ngữ (language)
NV_LANG_VARIABLE = language

//hằng cho tên biến URL chạy module
NV_NAME_VARIABLE = nv

//hằng cho tên biến URL xác định chức năng
NV_OP_VARIABLE = op


//lấy giá trị biến (URL) xác định chức năng.
$array_op



Thuộc Modules

//Địa chỉ base chứa toàn bộ website. Ie: localhost/nukeviet/
NV_ROOTDIR
NV_BASE_SITEURL


//tiền tố ngôn ngữ đứng sau tiền tố chính của tên bảng module.
NV_LANG_DATA
ie: nv_en_tenModule

//tiền tố đầy đủ (tiền tố chính & tiền tố ngôn ngữ) cho bảng module
NV_PREFIXLANG
ie: vng_vi_module1


//tên module
$module_name

//tên ngôn ngữ.ie: vi, en
$lang


functions.php & admin.functions.php




//tạo link điều hướng vào chức năng của module.
NV_BASE_SITEURL."index.php?".NV_LANG_VARIABLE ."=".NV_LANG_DATA ."&".NV_NAME_VARIABLE."=".$module_name."&".NV_OP_VARIABLE."=?";

//


Quan trọng:
file cấu hình module,  file ngôn ngữ, theme.php không được phép xuất giao diện. ie: echo 'done'... Nếu cố tính thì module không hoạt động.


Các file chức năng.
Nhiệm vụ:
-Lấy & sử lý dữ liệu nội dung của module.
-Cuối cùng xuất giao diện module.


Vì các file language, functions & theme không chạy trực tiếp mà được liên kết vào file chức năng. Do vậy việc sử dụng API của chúng chính là sử dụng ở file chức năng.


//lọc lấy từ khóa từ chuỗi $txt
nv_get_keywords($txt);



action.php (Dữ liệu của module):


Cache file
Xem ý tưởng cache tại đây.
Trong nukeviet cache được lưu ở thư mục: /cache.
Note: Khi viết bất cứ nơi đâu mà cần truy cập CSDL thì nên tạo cache để an toàn.

//Đặt tên file cache:
$cache_file=NV_LANG_DATA."_".$module_name."_".NV_CACHE_PREFIX.".cache";

//tạo or kiểm tra & lấy nội dung cache.

if ( ( $cache = nv_get_cache( $cache_file ) ) != false )
{
    $data = unserialize( $cache );
}
else
{
    ................
    $cache = serialize( ? );
    nv_set_cache( $cache_file, $cache );
}

/*Dữ liệu được mã hóa trong file cache. Hàm lấy nội dung chưa giải mã từ file cache $file. Nếu không tồn tại trả về false.
*/
nv_get_cache($file)

//Lưu chuỗi mã hóa $data vào file cache $file.
nv_set_cache($file,$data)





Làm việc với CSDL

//Biến cơ sở dữ liệu
$db

//thực hiện lệnh SQL
$db->sql_query($sql);

//bằng với mysql_fetch_array
$db->sql_fetchrow($result)

//bằng với mysql_num_rows
$db->sql_numrows($result)

//biến chứa thông tin CSDL.
$db_config=Array(
‘dbhost’: tên host
’dbport’: cổng
’dbname’: tên CSDL.
’dbuname’: ,
’prefix’: tiền tố chung của bảng.ie: vng
)

//lấy tên bảng của module.
cách 1:
$db_config['prefix']."_".$lang."_".$module_data;  //có thể sử dụng $module_name.

cách 2:
NV_PREFIXLANG . "_" . $module_data;


Tạo bảng cho Module.
*Nếu là các bài viết:
id: chỉ số unique.
alias: là tên định danh của record. Cài này thường dùng để truyền thông tin vào site để chạy chức năng của module.
status: kích hoạt/không.

0 nhận xét:

Đăng nhận xét

 
Copyright © hoangit