NTM Solutions

Facebook Youtube Google+

Thứ Năm, 6 tháng 12, 2018

Tự học CodeIgniter-Bài 14-Các hàm thông dụng

#hoccodeigniter
CodeIgniter sử dụng 01 vài hàm thông dụng(được khai báo toàn cục) cho hoạt động của nó, và sẵn có cho bạn dùng bất kỳ chỗ nào. Những hàm như vậy không cần phải tải thư viện hay  helpers nào.

is_php($version)
Tham số:
·         $version (chuỗi) – số phiên bản
Gía trị trả về :
TRUE nếu phiên bản PHP đang dùng >= tham số đưa vào , ngược lại trả ra FALSE
Kiểu trả về:
Bool

is_really_writable($file)
Tham số:
·         $file (chuỗi) – Đường dẫn tập tin
Giá trị trả về:
TRUE nếu tập tin trong đường dẫn có thể ghi được, ngược lại là FALSE
Kiểu trả về:
bool
is_writable() Giá trị trả về TRUE trên máy chủ Windows khi bạn thật sự không thể ghi lên tập tin như hệ thống đã báo với PHP , ngược lại là FALSE nếu thuộc tính tập tin là read-only.
Hàm này xác định 01 tập tin thật sự có thể ghi được không bằng cách thử ghi lên nó trước. Nói chung chúng ta chỉ nên dùng để kiểm tra trên những nền tảng không đáng tin cậy.
Ví dụ:
if (is_really_writable('file.txt'))
{
        echo "I could write to this if I wanted to";
}
else
{
        echo "File is not writable";
}
Ghi chú
Tham khảo thêm PHP bug #54709
config_item($key)
Tham số:
·         $key (string) – Config item key
Giá trị trả về:
Giá trị khóa cấu hình hoặc NULL nếu không tìm thấy khóa đó
Kiểu trả về:
Hỗn hợp
Thư viện Config () là 01 trong những cách truy cập thông tin cấu hình, tuy vậy hàm config_item() có thể được dùng để nhận các khóa đơn .
Xem tài liệu Config Library tại: user_guide/libraries/config.html
set_status_header($code[, $text = ''])
Tham số:
·         $code (int) – Mã trạng thái HTTP Response
·         $text (string) – 01 thông điệp tùy biến để thiết lập mã trạng thái
Kiểu trả về:
void
Cho phép bạn sửa phần header của thông báo trạng thái trên máy chủ. Ví dụ:
set_status_header(401);
// Sets the header as:  Unauthorized
Xem danh sách các header thông báo lỗi máy chủ web thường gặp tại đây:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
remove_invisible_characters($str[, $url_encoded = TRUE])
Tham số:
·         $str (string) – chuỗi nhập vào
·         $url_encoded (bool) – xác định có xóa ký tự URL-encoded hay không.
Giá trị trả về:
Chuỗi sạch
Kiểu trả về:
Chuỗi
Hàm này ngăn ngừa chèn chuỗi NULL giữa các ký tự ASCII, kiểu như Java\\0script.
->test không hoạt động?
Ví dụ:
remove_invisible_characters('Java\\0script');
// Giá trị trả về: 'Javascript'
html_escape($var)
Tham số:
·         $var (mixed) – Variable to escape (string or array)
Giá trị trả về:
HTML escaped string(s)
Kiểu trả về:
Mixed
Hàm này tính năng giống như hàm riêng của PHP htmlspecialchars() nhưng có bổ sung thêm ở chỗ cho phép tham số có thể là mảng các chuỗi.
Hữu dụng để ngăn ngừa tấn công kiểu Cross Site Scripting (XSS).
get_mimes()
Giá trị trả về:
An associative array of file types
Kiểu trả về:
Mảng
Hàm này giá trị trả về tham khảo đến mảng MIMEs trong tập tin application/config/mimes.php.
->liệt kê các đuôi tập tin dùng cho tính năng Upload.
is_https()
Giá trị trả về:
TRUE nếu hiện tại đang dùng HTTP-over-SSL, FALSE nếu không phải vậy
Kiểu trả về:
Bool
Giá trị trả về TRUE nếu 01 kết nối kiểu HTTPS đang được dùng và ngược lại trả về FALSE (kể cả trường hợp không phải là yêu cầu HTTP).
is_cli()
Giá trị trả về:
TRUE nếu hiện tại chạy dưới chế độ CLI, FALSE nếu ngược lại.
Kiểu trả về:
Bool
Giá trị trả về TRUE nếu ứng dụng được chạy trong command line và FALSE nếu không phải vậy.
Ghi chú
Hàm này kiểm tra cả 02 giá trị PHP_SAPI là ‘cli’ hoặc nếu hàng số STDIN được xác định.
function_usable($ten_ham)
Tham số:
·         $function_name (chuỗi) – Tên hàm
Giá trị trả về:
TRUE nếu hàm có thể dùng được, ngược lại là FALSE.
Kiểu trả về:
bool
Giá trị trả về TRUE 01 hàm có tồn tại và dùng được, FALSE nếu ngược lại.
Hàm này chạy 01 hàm kiểm tra function_exists() cvà nếu Suhosin extension <http://www.hardened-php.net/suhosin/> được tải, nó sẽ kiểm tra xem liệu hàm có kích hoạt chưa.
Điều này hữu ích nếu bạn muốn kiểm tra tính sẵn sàng của các hàm ví dụ như là  eval()exec(), các hàm này rất nguy hiểm và chúng có thể bị vô hiệu trên các máy chủ khi thiết lập các chính sách bảo mật ngăn ngừa ở mức cao.
Ghi chú:
Hàm này được giới thiệu trong bài này bởi vì Suhosin ngừng thực thi đoạn script, nhưng điều này lại chuyển thành 01 lỗi. 01 bản vá được cung cấp (phiên bản 0.9.34), nhưng đáng tiếc nó chưa được phát hành.
Suhosin là 01 extension tăng cường bảo mật cho PHP5.
***Ví dụ sau sẽ hiện tất cả hàm chúng ta đã học trong bài viết này:
è Tạo 01 controller tên là: CommonFun_Controller
è Gõ vào trình duyệt liên kết : http://localhost/thu_muc_CI/index.php/commonfun_controller
<?php
   class CommonFun_Controller extends CI_Controller {
      public function index() {
         set_status_header(200);
         echo is_php('5.3')."<br>";
         var_dump(is_really_writable('./Form.php'));                                           
         echo config_item('language')."<br>";
         echo remove_invisible_characters('This is a test\\0','UTF8')."<br>";                                               
         $str = '< This > is \' a " test & string';
         //echo html_escape($str)."<br>";
                                 echo $str."<br>";
         echo "is_https():".var_dump(is_https())."<br>";
         echo "is_cli():".var_dump(is_cli())."<br>";                                  
         var_dump(function_usable('test'))."<br>";
         echo "get_mimes():".print_r(get_mimes())."<br>";
      }  
      public function test() {
         echo "Test function";
      }                       
   }
Nếu vẫn chưa rõ các bạn xem thêm video clip sau:

By #tiensim
Nguồn: User Guide – General Topics