Hướng dẫn dùng complete examples trong PHP

Chương trình học


Tác giả: Dương Nguyễn Phú Cường

Nội dung chính

  • Chương trình học
  • Video Xây dựng hàm trong PHP
  • Hướng dẫn chi tiết
  • Xây dựng hàm cơ bản trong PHP
  • Hàm không định danh Anonymous Function – Lambda

Ngày đăng: Hồi xưa đó


Ví dụ: https://(www.)example.com/subFolder/myfile.php?var=blabla#555

//=================================================== //
//========== self-defined SERVER variables ========== //
//=================================================== //
$_SERVER["DOCUMENT_ROOT"]  🡺 /home/user/public_html
$_SERVER["SERVER_ADDR"]    🡺 143.34.112.23
$_SERVER["SERVER_PORT"]    🡺 80(or 443 etc..)
$_SERVER["REQUEST_SCHEME"] 🡺 https                                         //similar: $_SERVER["SERVER_PROTOCOL"] 
$_SERVER['HTTP_HOST']      🡺         example.com (or with WWW)             //similar: $_SERVER["ERVER_NAME"]
$_SERVER["REQUEST_URI"]    🡺                       /subFolder/myfile.php?var=blabla
$_SERVER["QUERY_STRING"]   🡺                                             var=blabla
__FILE__                   🡺 /home/user/public_html/subFolder/myfile.php
__DIR__                    🡺 /home/user/public_html/subFolder              //same: dirname(__FILE__)
$_SERVER["REQUEST_URI"]    🡺                       /subFolder/myfile.php?var=blabla
parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH)🡺  /subFolder/myfile.php 
$_SERVER["PHP_SELF"]       🡺                       /subFolder/myfile.php

// ==================================================================//
//if "myfile.php" is included in "PARENTFILE.php" , and you visit  "PARENTFILE.PHP?abc":
$_SERVER["SCRIPT_FILENAME"]🡺 /home/user/public_html/parentfile.php
$_SERVER["PHP_SELF"]       🡺                       /parentfile.php
$_SERVER["REQUEST_URI"]    🡺                       /parentfile.php?var=blabla
__FILE__                   🡺 /home/user/public_html/subFolder/myfile.php

// =================================================== //
// ================= handy variables ================= //
// =================================================== //
//If site uses HTTPS:
$HTTP_or_HTTPS = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']!=='off') || $_SERVER['SERVER_PORT']==443) ? 'https://':'http://' );            //in some cases, you need to add this condition too: if ('https'==$_SERVER['HTTP_X_FORWARDED_PROTO'])  ...

//To trim values to filename, i.e. 
basename($url)             🡺 myfile.php

//excellent solution to find origin
$debug_files = debug_backtrace();       
$caller_file = count($debug_files) ? $debug_files[count($debug_files) - 1]['file'] : __FILE__;

Source: https://stackoverflow.com/questions/6768793/get-the-full-url-in-php


Trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách xây dựng hàm trong PHP. Đồng thời, mình cũng sẽ hướng dẫn một số vấn đề liên quan đến hàm như Tham số – Đối số, Tham trị – Tham chiếu.

  • Video Xây dựng hàm trong PHP
  • Hướng dẫn chi tiết
    • Xây dựng hàm cơ bản trong PHP
    • Hàm không định danh Anonymous Function – Lambda
      • Sử dụng
      • Ứng dụng

Video Xây dựng hàm trong PHP

Hướng dẫn chi tiết

Có làm thì mới có ăn như ai đó từng nói - Vài dòng ngắn cho QUẢNG CÁO nhé Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn đăng ký và sử dụng hosting từ link trên, Góc Làm Web sẽ có một ít tiền để duy trì.

Xây dựng hàm cơ bản trong PHP

Cấu trúc hàm

function ham(){ echo "Demo về hàm"; } ham();

Truyền biến vào hàm

function ham_co_tham_so($tham_so){ echo $tham_so; } ham_co_tham_so(12);

Giá trị mặc định cho tham số

function ham_co_tham_so($tham_so_1 = 0, $tham_so_2 = 0){ echo $tham_so_1 + $tham_so_2; } ham_co_tham_so();

Tham số – Đối số

"Người ta tắt AdsBlock không phải vì người ta dại, mà người ta quý mình nên coi quảng cáo" Hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn

Tham số là biến được định nghĩa trong hàm.

Đối số là giá trị được truyền vào hàm.

Tham trị và Tham chiếu

Tham trị không bị thay đổi giá trị sau khi được truyền vào và xử lý trong hàm.

Tham chiếu có giá trị sẽ thay đổi sau khi được truyền vào và xử lý trong hàm.

$du_lieu_goc = 5; function ham_tham_tri($tham_so){ $tham_so++; echo $tham_so; } ham_tham_tri($du_lieu_goc); echo $du_lieu_goc; // gia tri $du_lieu_goc truyền vào bị thay đổi function ham_tham_chieu(&$tham_so){ $tham_so++; echo $tham_so; } ham_tham_chieu($du_lieu_goc); echo $du_lieu_goc;

Hàm không định danh Anonymous Function – Lambda

Sử dụng

+ Gán cho 1 biến

// gán cho biến $ham = function($tham_so){ echo $tham_so; }; $ham(1);

+ Gán cho 1 mảng

// gán cho mảng $arr_func = array( function($tham_so){ echo $tham_so; }, function($tham_so){ echo $tham_so++; } ); $arr_func[1](10);

+ Sử dụng như hàm gọi lại (Callback)

$mang = array( '1' , 2 , 3, 4 ); array_walk($mang, function($key, $value){ echo 'phần tử '.$key.' có giá trị là '.$value; }); $call_back_func = function($key, $value){ echo 'phần tử '.$key.' có giá trị là '.$value; }; array_walk($mang, $call_back_func);

+ Closures – có khả năng truy cập các biến bên ngoài nó

$message = 1; // không dùng "use", không chạy được function example() { echo $message; } example(); // Closures $example = function () use ($message) { $message++; echo $message; }; $example(); echo $message; $example = function () use (&$message) { $message++; echo $message; }; $example(); echo $message;

Ứng dụng

Kết hợp callback và closures

$he_so = 2; $day_so = [1, 2, 3, 4]; array_walk($day_so, function ($gia_tri) use ($he_so) { echo $gia_tri * $he_so; });

Xem thêm Anonymous functions tại PHP net: https://www.php.net/manual/en/functions.anonymous.php

Code mẫu: Download

Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Liên hệ