Viết tập lệnh php để hiển thị thông tin máy chủ ở định dạng bảng (sử dụng $_server)
PHP là ngôn ngữ kịch bản phía máy chủ nhúng HTML mã nguồn mở phổ biến, cho phép các nhà phát triển web tạo các trang web được tạo động một cách nhanh chóng. PHP ban đầu được tạo ra bởi Rasmus Lerdorf vào năm 1995, người đã thêm các biểu mẫu web giao tiếp với cơ sở dữ liệu (dựa trên CGI/Perl) và gọi nó là "Trang chủ cá nhân/Trình thông dịch biểu mẫu" hoặc PHP/FI. PHP bây giờ được cho là viết tắt của "PHP. Bộ tiền xử lý siêu văn bản" (một từ viết tắt đệ quy tương tự như GNU - GNU không phải là Unix). PHP hiện được duy trì bởi "Nhóm PHP" (@ http. //www. php. mạng lưới) Show PHP rất phù hợp cho dự án do một người điều hành (hoặc hai người điều hành với một nhà tiếp thị), trong đó một người đam mê kỹ thuật thành thạo có thể nhanh chóng tạo ra một nguyên mẫu hoạt động cho một ứng dụng web. Tuy nhiên, thật khó để sử dụng PHP để viết ứng dụng web MVC (Model-View-Control) tốt, trong đó dữ liệu (mô hình), bản trình bày (chế độ xem) và logic (điều khiển) được phân tách rõ ràng để tạo điều kiện hợp tác và bảo trì nhóm. Có rất nhiều framework PHP MVC (hoặc thư viện chạy trên PHP), chẳng hạn như Zend, CakePHP, Yii, Symfony và CodeIgniter. Tuy nhiên, đường cong học tập của việc sử dụng các khuôn khổ này có thể dốc Các ngôn ngữ kịch bản phía máy chủ nhúng HTML khác là. Microsoft's ASP (Active Server Pages), Java's JSP (Java Server Pages), CGI/Perl, v.v. Phương thức hoạt đôngPHP hoạt động ở hai chế độ
Chúng ta sẽ tập trung vào PHP Server-side scripts, vì nó là thứ PHP thường được sử dụng nhất điều kiện tiên quyếtBài viết này KHÔNG dành cho người giả. Điều kiện tiên quyết là
đang cài đạt PHPPHP thường được sử dụng nhiều nhất để viết các tập lệnh phía máy chủ được nhúng HTML, chạy bên trong Máy chủ web có khả năng PHP, chẳng hạn như Máy chủ HTTP Apache để trả về trang HTML. Do đó, để thiết lập PHP cho kịch bản phía máy chủ, bạn cần thiết lập máy chủ web hỗ trợ PHP. Ngoài ra, các tập lệnh PHP thường giao tiếp với cơ sở dữ liệu (chẳng hạn như MySQL/MariaDB/PostgreSQL) để tạo các trang web động Đọc "Thiết lập Apache/MySQL/PHP (AMP) cho Linux, Windows và macOS" Bắt đầu với PHP Server-side Scripts bằng các ví dụHãy bắt đầu với các tập lệnh phía máy chủ PHP. Chúng ta sẽ thảo luận về tập lệnh độc lập PHP (CLI) trong phần tiếp theo ví dụ 1. Chương trình PHP Hello-world đầu tiênSử dụng trình soạn thảo văn bản lập trình (chẳng hạn như NotePad++ cho Windows hoặc gedit cho Ubuntu/macOS) để tạo tập lệnh PHP sau và lưu dưới dạng " My First PHP Web Page hello, world!6" trong thư mục gốc tài liệu của máy chủ web của bạn (e. g, "_______ 07" cho XAMPP, "_______ 08" cho WampServer) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Để chạy tập lệnh này, hãy khởi động trình duyệt và cấp URL My First PHP Web Page hello, world!9, giả sử rằng máy chủ HTTP đã được khởi động trên cổng TCP mặc định 80 Theo mặc định, tập lệnh PHP có phần mở rộng tệp là " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220". Khi máy chủ web gặp yêu cầu về tệp " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220", nó sẽ chuyển tệp " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220" tới bộ xử lý PHP. Tập lệnh PHP thường là tệp HTML có nhúng các lệnh PHP được đính kèm trong thẻ. Bộ xử lý PHP xử lý các lệnh PHP. Các kết quả sau đó được hợp nhất vào tệp HTML và được trả về máy khách (trình duyệt web) Trong ví dụ trên, lệnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 223 của PHP xuất ra chuỗi đã cho Hãy thử nhấp chuột phải và "Xem nguồn trang" để kiểm tra đầu ra mà khách hàng nhận được My First PHP Web Page hello, world! Điều quan trọng cần lưu ý là thẻ (và nội dung của nó) không được trả lại cho máy khách như hiện tại. Thay vào đó, nó được xử lý trong máy chủ và đầu ra được trả về máy khách Tóm lại
ví dụ 2. phpinfo() Chức năng tích hợpNhập tập lệnh sau và lưu dưới dạng " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 224", trong thư mục gốc tài liệu của máy chủ web của bạn Chạy tập lệnh từ trình duyệt web qua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 225 Hàm có sẵn của PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 226 xuất ra một trang HTML được định dạng đầy đủ hiển thị chi tiết về môi trường PHP của bạn ví dụ 3. tính toánBạn có thể viết một tập lệnh PHP để thực hiện tính toán, giống như một chương trình C/C++/Java. Ví dụ: tạo tập lệnh PHP sau có tên "______57" và chạy tập lệnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Làm thế nào nó hoạt động?
Ví dụ 4. Xử lý dữ liệu biểu mẫu HTMLTạo tập lệnh sau và lưu dưới dạng "______171" My First PHP Web Page hello, world!7 Làm thế nào nó hoạt động?
[TODO] Các ví dụ cơ bản khác Chạy tập lệnh PHP dưới dạng chương trình độc lậpThay vì sử dụng PHP để viết các tập lệnh phía máy chủ chạy dưới máy chủ HTTP, bạn cũng có thể sử dụng PHP để viết một chương trình độc lập, được gọi là CLI (Giao diện dòng lệnh) Bạn có thể bỏ qua phần này nếu bạn không quan tâm đến việc viết các tập lệnh PHP độc lập (không phổ biến) Chạy tập lệnh PHP từ dòng lệnhVí dụ: chuẩn bị tập lệnh PHP sau và lưu dưới dạng "______395" trong thư mục bạn chọn Để chạy PHP Script 1 2 3 4 5 6 7 8 9 10 11 12 13 140 Trình thông dịch 1 2 3 4 5 6 7 8 9 10 11 12 13 1496 (hoặc 1 2 3 4 5 6 7 8 9 10 11 12 13 1497 trong Windows) có thể truy cập được qua PATH. Ngoài ra, bạn có thể cung cấp đường dẫn đầy đủ tới trình thông dịch php (e. g. , 1 2 3 4 5 6 7 8 9 10 11 12 13 1498) Theo mặc định, PHP đọc chương trình từ 1 2 3 4 5 6 7 8 9 10 11 12 13 1499. Do đó, bạn có thể nhập các câu lệnh trên dòng lệnh và nhấn Ctrl-D để báo hiệu kết thúc tệp 1 2 3 4 5 6 7 8 9 10 11 12 13 149 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220 Bạn cũng có thể chạy các câu lệnh PHP thông qua tùy chọn 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2200 (chạy). Ví dụ, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 222 Nhắc cho đầu vào của người dùngBạn có thể sử dụng hàm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2201 để nhắc người dùng nhập liệu từ dòng lệnh. Ví dụ, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 224 Lưu ý rằng 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2201 chỉ áp dụng cho chương trình độc lập. Đối với tập lệnh phía máy chủ, bạn cần sử dụng biểu mẫu HTML để nhận đầu vào của người dùng Unix PHP (Có thể thực thi độc lập) Shell ScriptTrong Unix, bạn có thể tạo tập lệnh PHP dưới dạng tập lệnh thực thi bằng cách thêm cái gọi là dòng she-bang " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2203", chỉ định vị trí của trình thông dịch PHP; . Ví dụ: tạo tệp sau có tên " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2205" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 229 Công cụ dành cho nhà phát triển PHP Eclipse (PDT)Một IDE tốt với trình gỡ lỗi đồ họa là rất quan trọng để phát triển chương trình Eclipse PDT (PHP Developer Tool) là một IDE để phát triển chương trình PHP. Ưu điểm chính là nó có thể gỡ lỗi tập lệnh PHP bằng XDebug hoặc Zend Debugger. Đọc "Eclipse PDT (Công cụ dành cho nhà phát triển PHP)" và "xDebug" [TODO] Các IDE khác Cú pháp ngôn ngữ PHP"Tham khảo ngôn ngữ PHP" chính thức có sẵn @ http. //php. net/manual/en/langref. php Phiên bản PHP[LÀM] Các tính năng hướng đối tượng cơ bản đã được thêm vào trong PHP 3, được cải thiện trong PHP 4 và được viết lại hoàn toàn trong PHP 5. PHP6, 7, 8 PHP so với JavaScriptPHP thường được sử dụng cùng với JavaScript (và HTML/CSS) trong ứng dụng web. Hãy lưu ý và nhớ rằng cú pháp PHP hoàn toàn khác với JavaScript (theo sau Java và do đó là C/C++). Ví dụ như
Cú pháp cơ bảnBình luận
Nhận xét bị bộ xử lý PHP bỏ qua, nhưng chúng rất quan trọng trong việc cung cấp giải thích và tài liệu cho người đọc và bạn (3 ngày sau khi viết mã). Tôi khuyên bạn nên sử dụng bình luận một cách tự do Bản tường trìnhMột câu lệnh thực hiện một phần duy nhất của hành động lập trình
Khoảng trắngKhoảng trắng bổ sung (trống, tab (_______ 529) và dòng mới (________ 540)) bị bỏ qua. Tôi thực sự khuyên bạn nên sử dụng các khoảng trắng bổ sung để định dạng mã của mình để người đọc và bạn có thể hiểu được mã đó. phân biệt chữ hoa chữ thườngPHP phân biệt chữ hoa chữ thường Biểu thứcMột biểu thức là sự kết hợp của các biến, giá trị bằng chữ và toán tử, có thể được đánh giá để tạo ra một giá trị. Ví dụ. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2241 Đầu ra thông qua tiếng vang và in Cấu trúc ngôn ngữBạn có thể sử dụng 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 223 hoặc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2243 để tạo đầu ra. Các chữ ký là 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 223 chấp nhận một hoặc nhiều chuỗi (được phân tách bằng dấu phẩy); . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 223 được sử dụng phổ biến hơn 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2243. Chúng không tạo thêm dòng mới hoặc dấu cách nào Ví dụ như, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 223 và 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2243 không thực sự là hàm, chúng là cấu trúc chương trình. Do đó, dấu ngoặc đơn (đối với các đối số của hàm) là tùy chọn. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 223 không có giá trị trả về. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2243 luôn trả về int 1 phím tắt tiếng vang1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 223 cũng có cú pháp tắt ở dạng , ví dụ, My First PHP Web Page hello, world!0 đầu ra là My First PHP Web Page hello, world!1 Các chức năng đầu ra để gỡ lỗi. var_dump(), print_r() và var_export()Các chức năng này có thể được sử dụng để hiển thị thông tin về một biến. Chúng đặc biệt hữu ích để hiển thị các biến phức tạp như mảng và đối tượng
Hàm đầu ra được định dạng. printf() và sprintf()
BiếnBiến PHP bắt đầu bằng ký hiệu đô la 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 PHP là ngôn ngữ kiểu lỏng lẻo (hoặc kiểu yếu). Bạn không phải khai báo kiểu biến trước khi sử dụng biến. Bạn có thể chỉ cần gán một giá trị bằng chữ và bộ xử lý PHP sẽ đặt loại biến tương ứng Ví dụ, Quy tắc đặt tên biến. Tên biến có thể chứa các chữ cái ( My First PHP Web Page hello, world!02, My First PHP Web Page hello, world!03), chữ số ( My First PHP Web Page hello, world!04) và dấu gạch dưới ( My First PHP Web Page hello, world!05). Nó sẽ bắt đầu bằng một chữ cái hoặc dấu gạch dưới. Tên biến phân biệt chữ hoa chữ thường, i. e. , My First PHP Web Page hello, world!06 KHÔNG phải là My First PHP Web Page hello, world!07 và KHÔNG phải là My First PHP Web Page hello, world!08 Quy ước đặt tên biến. Tên biến phải là một danh từ bao gồm một hoặc nhiều từ. Bạn có thể sử dụng kiểu Java hoặc kiểu C
Mặt khác, các hằng số được viết hoa, với các từ được nối với dấu gạch dưới Toán tử gán (=)Bạn có thể sử dụng toán tử gán ( My First PHP Web Page hello, world!09) để gán giá trị cho một biến DâyCó bốn loại chuỗi trong PHP
Chuỗi trích dẫn đơn và trích dẫn képCó hai loại chuỗi ký tự. trích dẫn đơn và trích dẫn kép
Ví dụ, My First PHP Web Page hello, world!2 Chuỗi trích dẫn kép tạo điều kiện thay thế biến (thay cho nối chuỗi tẻ nhạt) và giải thích các chuỗi thoát. Sử dụng các chuỗi trích dẫn đơn, hiệu quả hơn, nếu không cần thay thế biến và chuỗi thoát Trong mở rộng biến, PHP tham lam phân tích càng nhiều ký tự càng tốt (sau dấu $) để tạo thành tên biến. Bạn có thể đặt tên biến trong dấu ngoặc nhọn My First PHP Web Page hello, world!24 để phân định tên một cách rõ ràng. Ví dụ, Bạn không thể mở rộng giá trị trả về của hàm thông qua chuỗi trích dẫn kép - cần nối. Ví dụ, Toán tử nối chuỗi (. )Bạn có thể nối hai chuỗi thông qua toán tử nối chuỗi ( 1 2 3 4 5 6 7 8 9 10 11 12 13 1402) ghi chú. JavaScript (và Java) sử dụng '+' làm thao tác nối chuỗi. '+' không hoạt động trong PHP, đây là một trong những lỗi phổ biến nhất khi viết ứng dụng web sử dụng PHP và JavaScript cùng nhau Chuỗi nhiều dòngTrong PHP, một chuỗi trích dẫn đơn và chuỗi trích dẫn kép có thể kéo dài trên nhiều dòng, ví dụ:. g. , đầu ra là My First PHP Web Page hello, world!3 Tất cả các dòng mới và khoảng trắng được giữ nguyên trong dấu ngoặc kép. Một lần nữa, chuỗi trích dẫn kép thực hiện thay thế biến; di truyềnBạn cũng có thể sử dụng cái gọi là cú pháp heredoc (tài liệu ở đây) cho chuỗi nhiều dòng được trích dẫn kép (kể từ PHP 5. 3). Ví dụ, My First PHP Web Page hello, world!4 Heredoc ( My First PHP Web Page hello, world!26) được coi là một chuỗi trích dẫn kép. Thẻ bắt đầu phải theo sau bởi một dòng mới. Thẻ kết thúc phải bắt đầu ở cột đầu tiên và sẽ chiếm toàn bộ dòng mà không có gì sau thẻ - thậm chí không có nhận xét. Thay vì tên thẻ My First PHP Web Page hello, world!27 (cuối văn bản) hoặc My First PHP Web Page hello, world!28, bạn có thể chọn bất kỳ tên thẻ nào, chẳng hạn như My First PHP Web Page hello, world!29, My First PHP Web Page hello, world!30, v.v. Tên thẻ sẽ bắt đầu bằng một chữ cái hoặc dấu gạch dưới và bao gồm các chữ cái, chữ số hoặc dấu gạch dưới ngaydocTương tự, bạn có thể sử dụng cái gọi là cú pháp nowdoc (now-document) ( My First PHP Web Page hello, world!31) cho chuỗi trích dẫn đơn, trong đó thẻ bắt đầu là trích dẫn đơn (kể từ PHP 5. 3). Ví dụ, My First PHP Web Page hello, world!5 Chuỗi nhiều dòng, heredoc và nowdoc thuận tiện để tạo toàn bộ trang web, đó là mục tiêu của PHP; . Hơn nữa, không cần sử dụng ký tự thoát cho dấu ngoặc kép Hàm chuỗi tích hợp
Chuỗi và Biểu thức chính quy (regex)Biểu thức chính quy (regexe) là một công cụ quyền lực và rất cần thiết trong việc phát triển chương trình Các chức năng Regexe tích hợp
[LÀM] Loại dữ liệuNhư đã đề cập, PHP là một ngôn ngữ kiểu lỏng lẻo (tương tự như các ngôn ngữ kịch bản khác như Perl và JavaScript). Bạn không cần phải khai báo rõ ràng loại biến. PHP sẽ suy ra kiểu dữ liệu từ giá trị được gán và chuyển đổi các biến thành kiểu cần thiết trong hoạt động |