Hướng dẫn dùng _/_/_ trong PHP
Bất kì một ngôn ngữ lập trình nào đều có khái niệm về cú pháp căn bản, khái niệm về biến và hằng số và php cũng không ngoại lệ, đây là kiến thức nền tảng trong lập trình mà hầu như lập trình viên nào cũng phải học đầu tiên. Trong bài này mình sẽ cùng các bạn tìm hiểu về biến và hằng trong PHP nhé! Show
Cú pháp trong PHP, Khai báo hằng và biến trong PHP Cú pháp PHP cơ bảnCú pháp PHP chính là cú pháp trong ngôn ngữ C, các bạn làm quen với ngôn ngữ C thì có lợi thế trong lập trình PHP. Nội dung:
Trong thư mục www, các bạn tạo một folder có tên là demo, trong folder demo đó bạn tạo 1 file là index.php và thêm đoạn code dưới vào.
Lưu ý:Chú ý 1: Một file .php có thể bao gồm cả HTML, CSS, JS và cả PHP. Vì vậy bắt buộc chúng ta phải có ký hiệu và ?> để xác định đâu là code PHP. Tuy nhiên, nếu file chỉ chứa thuần tuý code PHP mà không chứa bất kỳ ngôn ngữ nào khác thì ta nên bỏ ?> ở cuối code đi. Lợi ích của nó là giúp ngăn ngừa các khoảng trắng ngẫu nhiên hoặc các dòng trống được thêm vào phía sau 1 Chú ý 2: Khi muốn xuất một chuỗi, bạn có thể dùng dấu nháy đơn hoặc dấu nháy kép bao quanh chuỗi đó. Nhưng có 1 lưu ý là dấu nháy đơn sẽ hiểu rằng tất cả những thành phần được bao bên trong nó sẽ luôn là chuỗi và chỉ xuất ra y hệt như vậy. Còn dấu nháy kép sẽ xem xét những thành phần bên trong nó còn có biến nào hay không, để xuất cả chuỗi lẫn giá trị của biến đó ra trình duyệt. Ví dụ:Ở trường hợp 1, nếu sử dụng dấu ngoặc đơn để bao chuỗi có chứa 1 biến bên trong thì nó vẫn tính biến đó là chuỗi, Bạn sẽ thấy trình duyệt xuất ra dòng chuỗi như sau: Xin chao $daylabien Trường hợp 2: sử dụng dấu ngoặc kép để bao chuỗi có chứa 1 biến bên trong. Khi này nó sẽ xuất cả giá trị của biến đó. Kết quả trả ra trình duyệt sẽ là dòng chuỗi như sau: Xin chao Mọi người Còn nếu xét về tốc độ biên dịch thì dấu nháy đơn sẽ chạy nhanh hơn dấu nháy kép vì với dấu nháy kép trình biên dịch sẽ mất thêm một bước kiểm tra chuỗi bên trong có biến nào không, giống tựa như ví dụ bên trên vậy. Comment trong PHPComment là đoạn văn bản bị bỏ qua bởi PHP Engine. Mục đích của các comment là giải thích đoạn mã đang làm gì. Giúp bạn có thể dễ dàng edit, maintain lại code nếu sau này có kiểm tra lại mà thấy sai sót hoặc cần thay đổi tính năng gì đó. Có nhiều cách để tạo một comment trong php.
Để lập trình bằng ngôn ngữ PHP cần chú ý những điểm sau
Khai báo biến (VARIABLES)Biến là một định danh, nó dùng để lưu trữ các giá trị và nó có thể dùng phép gán để thay đổi giá trị. Khi thực hiện khai báo biến trong C, bạn cần phải biết tuân thủ quy định như: kiễu dữ liệu trước tên biến là gì và có giá trị khởi tạo, tuy nhiên khi làm việc với PHP thì không cần khai báo kiểu dữ liệu nhưng phải sử dụng tiền tố $ trước biến. Cú pháp của biến bắt đầu bằng dấu đô la 2 và tiếp theo là các chữ, số, dấu gạch dưới. Các quy tắc cần lưu ý khi làm việc với biến:
Xuất phát từ những điều ở trên, khai báo biến trong PHP như sau: (Chúng ta không cần phải xác định kiểu dữ liệu cho 1 biến trong PHP, kiểu dữ liệu sẽ tự động được xác định thông qua giá trị mà biến đó đang chứa.) Gán giá trị cho biếnĐể gán giá trị cho biến ta dùng toán tử phép gán = $licount = 0; $lsSQL = "Select * from tblusers where active=1"; $nameTypes = array("first", "last", "company"); $checkerror = false; In giá trị của biến ra màn hìnhTa có thể dùng hàm echo để in giá trị của biến ra màn hình theo 2 cách: //cách 1 $txt = "You"; echo "I love $txt!"; // phải dùng dấu ngoặc kép để xuất giá trị của biến chứa trong chuỗi //cách 2 //Sử dụng dấu chấm để nối chuỗi lại với nhau (tương tự dấu cộng trong JS) $txt = "You"; echo 'I love ' . $txt . '!'; Cả 2 cách trên đều sẽ cùng ra 1 kết quá: I love You! Phạm vi của biếnPhạm vi của biến là tầm hoạt động của biến nơi biến có thể được sử dụng sau khi đã khai báo. Có 2 loại phạm vi biến là global và local. Một biến toàn cục PHP có thể được truy cập ở bất kỳ đâu trong chương trình. Một biến cục bộ chỉ có thể được truy cập trong phạm vi nhất định. 1. Phạm vi globalNội dung:Biến được khai báo ở bên ngoài một hàm và chỉ có thể được sử dụng ở bên ngoài hàm. $x = 5; // global scope function myTest() { // Sử dụng biến x trong hàm sẽ gây ra lỗi echo " Vậy, để có thể sử dụng được biến global bên trong một hàm, ta dùng từ khóa “global” trước tên biến khi sử dụng biến bên trong hàm. $x = 5; $y = 10; function myTest() { global $x, $y; $y = $x + $y; } myTest(); echo $y; // kết quả xuất ra sẽ là 15 Ứng dụng khác:Một hướng khác, PHP lưu trữ giá trị của tất cả các biến global trong một mảng là $GLOBALS[index], trong đó index là tên của biến. Mảng này có thể được truy xuất bên trong hàm và có thể được dùng để cập nhật lại giá trị cho biến global một cách trực tiếp. $x = 5; $y = 10; function myTest() { $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y']; } myTest(); echo $y; // outputs 15 Thông thường, khi 1 hàm đã chạy xong, tất cả các biến local sẽ bị huỷ. Từ ví dụ trên, nếu các bạn gọi hàm myTest() nhiều lần thì trên màn hình cũng chỉ xuất ra liên tục đáp án là số 15. Vì các biến local sẽ bị huỷ sau khi kết thúc hàm. Khi muốn các biến local không bị hủy đi sau khi kết thúc hàm, ta dùng từ khóa “static” lúc khai báo biến. 0Trong hàm trên mình gán static cho biến x và sau đó cho x tăng dần mỗi khi kết thúc hàm. Nhờ gán static vào biến mà sau khi kết thúc hàm myTest(), giá trị của nó vẫn được giữ lại để cộng dồn cho các lần chạy tiếp theo. Vì vậy kết quả trên màn hình lúc này sẽ tăng dần như sau: 2. SuperglobalsPHP hỗ trợ thêm các biến superglobals được khai báo sẵn (có thể được sử dụng ở bất kỳ phạm vi nào):
Các biến superglobals có thể sử dụng ở bất kỳ phạm vi nào trong PHP. Truy cập động theo tên biến (Accessing A Variable Dynamically By Name)Khái niệmCác biến có thể được truy cập thông qua các tên biến động. Tên của một biến có thể được lưu trữ trong một biến khác và cho phép nó được truy cập động. Để hiểu hơn bạn hãy nhìn vào phần ví dụ bên dưới. 1Từ snippet trên, bạn thấy mình đã đặt biến $variableName có giá trị chuỗi chính là tên của biến $foo. Như vậy khi truy cập động bằng cách thêm một dấu 2 trước biến hoặc dùng cú pháp 4 với biến $variableName như trên thì giá trị khi đó sẽ trả về là giá trị của biến $foo. Bạn thử chạy sẽ thấy trên màn hình xuất ra kết quả là : barbarbarbarbarbarỨng dụngTương tự, truy cập động cũng rất hữu ích đối với hàm (Function)/ phương thức() 2Và đặc biệt hơn nữa là truy cập động cũng rất hữu ích với lớp() 3Quay lại snippet đầu tiên trong phần truy cập động bên trên, chúng ta thấy trong code có cú pháp 4 được sử dụng với một biến nằm trong đó. Vậy, ý nghĩ của nó là gì? Hãy làm một ví dụ như sau để hiểu được ý nghĩa của nó!Ví dụ:4Ta thấy trong cặp dấu {} có sử dụng biểu thức nối một biến với một chuỗi 6 , khi này biến 7 sẽ được hiểu giá trị là 8 và nối thêm chuỗi 9 đằng sau. Vậy, giá trị lúc này nhận được từ 0 là 1 , và giá trị đó cũng chính là tên của biến 2 ở dòng số 1.Như vậy, dòng code 34 sẽ truy cập động đến giá trị của biến 2 và xuất ra kết quả trên màn hình là 6
Từ đó mà ta có cú pháp tổng quát như sau: 5Khai báo hằng (CONSTANTS)Hằng cũng là một biến nhưng bạn không thể thay đổi giá trị của nó. Tuy nhiên riêng về cách khai báo biến và hằng số thì sẽ có nhiều điểm khác nhau khác nhau như sau: Quy định khi đặt hằng:
define(name, value, case-insensitive)
Hằng còn có một cách tạo thứ hai là sử dụng câu lệnh const. Ví dụ: 7Constant arraysCũng như biến, ta cũng có thể áp dụng mảng với hằng số hoặc hằng số lớp (class constants). Ví dụ: 890Hằng số Magic trong PHPPHP cung cấp một số lượng lớn các hằng số được định nghĩa trước để bất kỳ script nào cũng có thể sử dụng nó. Có 5 hằng số magic, thay đổi tùy thuộc vào nơi chúng được sử dụng. Ví dụ, giá trị của __LINE__ phụ thuộc vào dòng mà nó được sử dụng trong script của bạn. Các hằng đặc biệt này là phân biệt kiểu chữ. Bảng dưới liệt kê một số hằng magic trong PHP: TênMiêu tả__LINE__Dòng hiện tại của file__FILE__Đường dẫn đầy đủ và tên đầy đủ của file. Nếu sử dụng bên trong một include thì tên của file được include sẽ được trả về. Từ PHP 4.0.2, __FILE__ luôn luôn chưa một đường dẫn tuyệt đối, trong khi ở phiên bản cũ hơn chúng chứa đường dẫn tương đối trong một số trường hợp__FUNCTION__Tên của hàm. (Được thêm trong PHP 4.3.0) Như PHP 5, hằng số này trả về tên của hàm như nó đã khai báo trước đó (phân biệt kiểu chữ). Trong PHP 4, giá trị của nó luôn là chữ in thường__CLASS__Tên của lớp. (Được thêm trong PHP 4.3.0) Như PHP 5, hằng số này trả về tên của lớp như nó đã khai báo trước đó (phân biệt kiểu chữ). Trong PHP 4 giá trị của nó luôn là chữ in thường__METHOD__Tên phương thức lớp. (Được thêm trong PHP 5.0.0) Tên phương thức này được trả về như đã khai báo trước đó (phân biệt kiểu chữ).Qua bài viết mình mong các bạn có thể nắm được cú pháp trong php, biết được cách khai báo 1 biến, hằng trong php, nhớ những quy tắc khi đặt biến để không bị lỗi khi code. |