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.
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
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.
action.php (Dữ liệu của module):
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)
//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_ROOTDIRNV_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."=?";
//
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);
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
$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(
//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;
//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