PHP - Functions

Giống như hầu hết các ngôn ngữ lập trình, một hàm trong PHP là một khối mã được tổ chức và tái sử dụng, được sử dụng để thực hiện một hành động liên quan đơn lẻ. Các hàm cung cấp khả năng phân mô-đun tốt hơn cho ứng dụng của bạn và một mức độ tái sử dụng mã cao.

PHP hỗ trợ một cách tiếp cận lập trình có cấu trúc bằng cách sắp xếp logic xử lý thông qua việc định nghĩa các khối hàm độc lập có thể tái sử dụng. Lợi ích chính của cách tiếp cận này là mã trở nên dễ theo dõi, phát triển và bảo trì.

Hình dưới đây cho thấy cách quy trình tính lương được phân tách thành các hàm độc lập và có thể tái sử dụng.

PHP Functions

Types of Functions

Bạn đã thấy nhiều hàm như fopen() fread() v.v. Chúng là các hàm tích hợp sẵn, nhưng PHP cũng cho phép bạn tạo ra các hàm riêng của mình. Có hai loại hàm trong PHP −

  • Built-in functions − Thư viện chuẩn của PHP chứa một số lượng lớn các hàm tích hợp sẵn cho việc xử lý chuỗi, nhập/xuất tệp, tính toán toán học và nhiều hơn nữa.

  • User-defined functions − Bạn cũng có thể tạo các hàm do người dùng định nghĩa, phù hợp với yêu cầu của logic lập trình.

Một hàm có thể được gọi từ bất kỳ hàm nào khác bằng cách truyền dữ liệu cần thiết (gọi là parameters hoặc arguments ). Hàm được gọi sẽ trả kết quả của nó trở lại môi trường gọi.

Có hai phần mà bạn cần phải hiểu rõ −

  • Tạo một hàm PHP

  • Gọi một hàm PHP

Trên thực tế, bạn hầu như không cần phải tạo hàm PHP của riêng mình vì đã có hơn 1000 hàm thư viện tích hợp sẵn được tạo ra cho các lĩnh vực khác nhau và bạn chỉ cần gọi chúng theo yêu cầu của mình.

Vui lòng tham khảo PHP Function Reference để có bộ chức năng hữu ích đầy đủ.

User-defined Functions in PHP

Rất dễ dàng để tạo hàm PHP của riêng bạn. Hãy bắt đầu với một ví dụ đơn giản, sau đó chúng ta sẽ giải thích cách nó hoạt động. Giả sử bạn muốn tạo một hàm PHP sẽ đơn giản viết một thông điệp đơn giản trên trình duyệt của bạn khi bạn gọi nó.

Example

Trong ví dụ này, chúng ta tạo một hàm gọi là writeMessage() và sau đó gọi nó để in một thông điệp đơn giản.

<?php

   /* Defining a PHP Function */
   function writeMessage() {
      echo "You are really a nice person, Have a nice time!";
   }

   /* Calling a PHP Function */
   writeMessage();
   
?>

Nó sẽ tạo ra output

You are really a nice person, Have a nice time!

Creating a Function in PHP

Bây giờ hãy cùng tìm hiểu quy trình một cách chi tiết. Bước đầu tiên là viết một hàm và sau đó bạn có thể gọi nó nhiều lần như cần thiết. Để tạo một function mới, hãy sử dụng từ khóa function, theo sau là tên của hàm mà bạn muốn sử dụng. Trước tên hàm, đặt một dấu ngoặc đơn, có thể chứa hoặc không chứa các tham số. Nó được theo sau bởi một khối lệnh được phân cách bởi dấu ngoặc nhọn. Khối hàm này chứa các lệnh sẽ được thực thi mỗi khi hàm được gọi.

Cách tổng quát syntax để định nghĩa một hàm như sau −

function foo($arg_1, $arg_2, $arg_n) {
   statements;
   return $retval;
}

Nếu hàm được dự định trả về một kết quả nào đó cho môi trường gọi, thì nên có một return statement như là câu lệnh cuối cùng trong khối hàm. Không bắt buộc phải có một return statement, vì ngay cả khi không có nó, luồng chương trình vẫn quay trở lại cho người gọi, mặc dù không mang theo giá trị nào cùng với nó.

Bất kỳ mã PHP hợp lệ nào cũng có thể xuất hiện bên trong một hàm, thậm chí là các hàm khác và định nghĩa lớp. Tên của hàm phải tuân theo các quy tắc giống như được sử dụng để hình thành tên của một biến. Nó nên bắt đầu bằng một chữ cái hoặc dấu gạch dưới, theo sau là bất kỳ số lượng chữ cái, số hoặc dấu gạch dưới nào.

Dưới đây là một hàm đơn giản trong PHP. Mỗi khi được gọi, nó sẽ hiển thị thông điệp "Hello World".

function sayhello() {
   echo "Hello World";
}

Calling a Function in PHP

Khi một hàm được định nghĩa, nó có thể được gọi bất kỳ số lần nào, từ bất kỳ đâu trong mã PHP. Lưu ý rằng một hàm sẽ không được gọi tự động. Để gọi hàm, hãy sử dụng tên của nó trong một câu lệnh; tên của hàm theo sau bởi một dấu chấm phẩy.

<?php
   # define a function
   function sayhello(){
      echo "Hello World";
   }
   # calling the function
   sayhello();
?>

Nó sẽ tạo ra output

Hello World

Giả sử rằng kịch bản trên "hello.php" có mặt trong thư mục gốc tài liệu của máy chủ PHP, hãy mở trình duyệt và nhập URL là http://localhost/hello.php . Bạn sẽ thấy thông báo "Hello World" trong cửa sổ trình duyệt.

Trong ví dụ này, hàm được định nghĩa mà không có bất kỳ tham số nào hoặc giá trị trả về nào. Trong các chương tiếp theo, chúng ta sẽ tìm hiểu cách định nghĩa và truyền tham số, cũng như cách làm cho một hàm trả về một giá trị. Ngoài ra, một số tính năng nâng cao của hàm PHP như hàm đệ quy, gọi hàm theo giá trị so với theo tham chiếu, v.v. cũng sẽ được giải thích chi tiết.