Các API trong VINAPHP

Sau đây là thông tin về core VINAphp:

A. Thông tin về Library
B.Thông tin về Cache
C.Thông tin về các function
D. Cấu trúc dữ liệu và giải thuật.


A. Thông tin về library:


Trong thư viện chính của Vinaphp chứa các class và các function cần thiết nhất cho sự hoạt động của cả CMS.
Mỗi một class bắt đầu tên file của mình bằng CLASS-NAME.php
Mỗi một Function bắt đầu bằng FUNC-NAME.php
 + CLASS-CACHE: Chịu trách nhiệm hình thành cache , xóa cache cũng như quản lý update cache.
+ CLASS - DB :
Đây là class cực quan trọng trong vinaphp, chúng chịu trách nhiệm truy vấn thông tin cơ sở dữ liệu và bản thân chúng còn có chức năng tối ưu và backup giữ liệu , tất cả các truy vấn đều qua đây
+ CLASS - SECURE:   Chịu trách nhiệm chống hack tầng 1: tầng tiếp xúc với người dùng thông qua GET và POST (  đây gọi là biến toàn cục )
+ CLASS-HTTP:   CHịu trách nhiệm như một trình duyệt.
+ CLASS-USER: Quản lý các thủ tục liên quan đến User trên hệ thống như đăng ký, Đăng nHập , thoát , chỉnh sửa profile, nạp tiền ...
+ FUNC-FORMAT:
Trách nhiệm của file function này cực kỳ to lớn: chúng đóng vai trò kiểm tra kiểu dữ liệu, lọc dữ liệu trước khi ghi vào CSDL hoặc hiển thị cho người dùng.
+ FUNC-FUNCTION:  các chức năng ít dùng trong hệ thống.


+ FUNC-HOOK: Khởi tạo các "Cổng kết nối" đầu tiên trong CMS , giúp các function khác dễ dàng can thiệp sâu vào hệ thống thông qua các cổng kết nối này.


+ FUNC-THEME:  KHởi tạo và kết nối các giao diện khi người dùng yêu cầu trên đường dẫn, nếu không tồn tại giao diện - func sẽ trả lại một lỗi giao diện.


+ SCHEMA :
Khởi tạo các bảng đầu tiên cho CMS làm việc, lưu ý: chúng chỉ khởi tạo chứ không điền thêm dữ liệu.







B.Thông tin về cache
Cache là bộ nhớ đệm giúp tăng tốc trang web, mỗi trang , mỗi CMS có cách cache khác nhau:
Cache của Vinaphp khá linh động, chúng tự tạo ra cache cho mỗi đường dẫn, VD: http://muasamvui.com chẳng hạn, chúng sẽ kiểm tra trong cache có chưa ? nếu có thì kiểm tra tiếp xem cái đó hết hạn lưu chưa ?

Nếu mọi thứ hợp lệ cho đường dẫn đó thì nó trả về kết quả của cache và dừng lại 80% các lệnh - khối lệnh - và truy vấn SQL, Những phần vẫn chạy để kiểm tra bảo mật và vài công đoạn khác là LIBRARY.




C. Thông tin về Các function:

Danh sách các function hay dùng trong CMS:


+ get_var('$method' , '$name') return \escape $name\
trong đó $method nhận 2 giá trị: GET và POST, $name được escape và trả về 2 loại giá trị:
        => Nếu là GET thì trả về kết quả qua function esc_all, mọi chuỗi và số đều cực an toàn. Nhưng vì chúng bị lọc hết dấu và cắt chuỗi nên dùng cẩn thận,
VD: $_GET['Method']  trả về : chúng mình thích ăn kem.
get_var('get' , 'method') trả về : chung-minh-thich-an-kem


VD2: $_POST['name'] trả về: <script>alert('Hack kiểu cũ')</script>
 get_var('post' , 'name') trả về : ''

Lưu ý: Tuyệt đối không sử dụng biến toàn cục $_GET và $_POST trừ khi bạn biết chắc bạn đang làm cái gì ...


string_long($num, $string) return true if count(string) < (num) other return false


Functon đếm chuỗi để kiểm tra độ dài của một chuỗi, thường để kiểm tra các trường người dùng nhập




valid_uri($text) return esc_all(#text);


Lọc hết mọi thứ trong trường hợp cần làm sạch đường dẫn của trang ... ít dùng !


display_text_for_title($text) return text;


Hiển thị một chuỗi an toàn cho tựa đề từ trong CSDL


display_text($text_from_sql) return clearn text;


Hiển thị các nội dung bất kỳ sau khi đã lọc hết các ký tự không hợp lệ


checktext_before_insert ($text) return safe text


Trả về chuỗi an toàn sau khi lọc hết các ký tự để ghi vào CSDL

Các function ESCAPE để tránh lỗi cho CSDL và CMS:

+  ESC_ALL(TEXT) (escape all but a-z and \-\_ and 0-9)
+ ESC_SQL   auto add mysql_real_escape_string , accept (string) and (array)
+ ESC_HTML using html entities is the same , but it's check-valid-utf8
+ ESC_TEXTAREA   show the right valid html special char for text area to show
+ TAG_ESCAPE  using the same as ESC_ALL.
+ DB::ESCAPE  using the same as ESC_SQL
+ CHECK_INVALID_UTF8 check and return valid utf8.
+ SANITIZE_USER  check and return user_name in the right ... and safe.
+ "force_balance_tags"  is the special function for valid XML


+ Và một số function khác nằm trong root\lib\func-format.php