Hướng dẫn freecodecamps free php tutorial - freecodecamps hướng dẫn php miễn phí
PHP là một ngôn ngữ lập trình cực kỳ phổ biến. Show
Thống kê cho biết nó được sử dụng bởi 80% tất cả các trang web. Nó có ngôn ngữ cung cấp năng lượng cho WordPress, hệ thống quản lý nội dung được sử dụng rộng rãi cho các trang web. Và nó cũng cung cấp rất nhiều khung khác nhau giúp phát triển web dễ dàng hơn, như Laravel. Nói về Laravel, nó có thể là một trong những lý do thuyết phục nhất để học PHP những ngày này. PHP là một ngôn ngữ phân cực. Một số người yêu thích nó, và một số người ghét nó. Nếu chúng ta di chuyển một bước trên cảm xúc và xem ngôn ngữ như một công cụ, PHP có rất nhiều thứ để cung cấp. Chắc chắn nó không hoàn hảo. Nhưng hãy để tôi nói với bạn - không có ngôn ngữ. Trong cuốn cẩm nang này, tôi sẽ giúp bạn học PHP. Cuốn sách này là một giới thiệu hoàn hảo nếu bạn mới sử dụng ngôn ngữ. Nó cũng hoàn hảo nếu bạn đã thực hiện một số PHP trong quá khứ và bạn muốn quay lại với nó. Tôi sẽ giải thích PHP hiện đại, phiên bản 8+. PHP đã phát triển rất nhiều trong vài năm qua. Vì vậy, nếu lần cuối cùng bạn thử, đó là Php 5 hoặc thậm chí Php 4, bạn sẽ ngạc nhiên về tất cả những điều tốt đẹp mà PHP hiện cung cấp. Đi nào! Đây là những gì chúng tôi sẽ bao gồm trong cuốn cẩm nang này:
Lưu ý rằng bạn có thể nhận được phiên bản PDF, EPUB hoặc MOBI của Sổ tay này để tham khảo dễ dàng hơn hoặc để đọc trên Kindle hoặc Tablet của bạn. Giới thiệu về PHPPHP là loại ngôn ngữ nào? Cách thiết lập PHP Cách viết mã chương trình PHP đầu tiên của bạn Php ngôn ngữ cơ bản Cách làm việc với các chuỗi trong PHP Cách sử dụng các hàm tích hợp cho các số trong PHP PHP là loại ngôn ngữ nào?Cách thiết lập PHP Cách viết mã chương trình PHP đầu tiên của bạn Php ngôn ngữ cơ bảninterpreted language. If you’ve used compiled languages like C or Go or Swift, the main difference is that you don’t need to compile a PHP program before you run it. Cách làm việc với các chuỗi trong PHP Cách sử dụng các hàm tích hợp cho các số trong PHP Cách các mảng hoạt động trong PHPdynamically typed language. The types of variables are checked at runtime, rather than before the code is executed as happens for statically typed languages. (These also happen to be compiled – the two characteristics often go hand in hand.) Cách thức điều kiện hoạt động trong PHP Cách các vòng hoạt động trong PHP Cách hoạt động của các chức năng trong PHP Cách lặp qua các mảng với 56, 57 và 58 trong PHPLập trình hướng đối tượng trong PHP Cách bao gồm các tệp PHP khác Hằng số, hàm và biến hữu ích cho hệ thống tập tin trong PHP Cách thiết lập PHPCách viết mã chương trình PHP đầu tiên của bạn Cách thuận tiện nhất mà tôi đã tìm thấy để cài đặt PHP cục bộ là sử dụng MAMP. MAMP là một công cụ có sẵn miễn phí cho tất cả các hệ điều hành - Mac, Windows và Linux. Đó là một gói cung cấp cho bạn tất cả các công cụ bạn cần để đứng dậy và chạy. PHP được điều hành bởi một máy chủ HTTP, chịu trách nhiệm đáp ứng các yêu cầu HTTP, các yêu cầu được thực hiện bởi trình duyệt. Vì vậy, bạn truy cập một URL với trình duyệt, Chrome hoặc Firefox hoặc Safari của bạn và máy chủ HTTP phản hồi với một số nội dung HTML. Máy chủ thường là Apache hoặc nginx. Sau đó, để làm bất cứ điều gì không tầm thường, bạn sẽ cần một cơ sở dữ liệu, như MySQL. Mamp là một gói cung cấp tất cả những thứ đó, và hơn thế nữa, và cung cấp cho bạn một giao diện tốt đẹp để bắt đầu/dừng mọi thứ cùng một lúc. Tất nhiên, bạn có thể tự mình thiết lập từng mảnh nếu bạn muốn, và nhiều hướng dẫn giải thích cách làm điều đó. Nhưng tôi thích các công cụ đơn giản và thực tế, và Mamp là một trong số đó. Bạn có thể làm theo sổ tay này với bất kỳ loại phương pháp cài đặt PHP nào, không chỉ MAMP. Điều đó nói rằng, nếu bạn không cài đặt PHP và bạn muốn sử dụng MAMP, hãy truy cập https://www.mamp.info và cài đặt nó. Quá trình này sẽ phụ thuộc vào hệ điều hành của bạn, nhưng một khi bạn đã hoàn thành việc cài đặt, bạn sẽ cài đặt một ứng dụng MAMP MAMP. Bắt đầu điều đó, và bạn sẽ thấy một cửa sổ tương tự như thế này: Hãy chắc chắn rằng phiên bản PHP được chọn là mới nhất có sẵn. Tại thời điểm viết Mamp cho phép bạn chọn 8.0.8. Lưu ý: Tôi nhận thấy Mamp có một phiên bản mà một chút phía sau, không phải là mới nhất. Bạn có thể cài đặt phiên bản PHP gần đây hơn bằng cách bật bản demo Mamp Pro, sau đó cài đặt bản phát hành mới nhất từ Cài đặt Mamp Pro (trong trường hợp của tôi là 8.1.0). Sau đó đóng nó và mở lại Mamp (phiên bản không Pro). Mamp Pro có nhiều tính năng hơn để bạn có thể muốn sử dụng nó, nhưng nó không cần thiết phải tuân theo cuốn sổ tay này. Nhấn nút Bắt đầu ở phía trên bên phải. Điều này sẽ khởi động máy chủ Apache HTTP, với PHP được bật và cơ sở dữ liệu MySQL. Truy cập URL http: // localhost: 8888 và bạn sẽ thấy một trang tương tự như thế này: Chúng tôi đã sẵn sàng để viết một số PHP! Mở thư mục được liệt kê là tài liệu gốc. Nếu bạn đang sử dụng MAMP trên máy Mac, nó theo mặc định 59.Trên Windows, nó 60.Bạn có thể khác nhau tùy thuộc vào cấu hình của bạn. Sử dụng MAMP, bạn có thể tìm thấy nó trong giao diện người dùng của ứng dụng. Trong đó, bạn sẽ tìm thấy một tệp có tên 61.Điều đó chịu trách nhiệm in trang được hiển thị ở trên. Cách viết mã chương trình PHP đầu tiên của bạnKhi học một ngôn ngữ lập trình mới, chúng ta có truyền thống tạo ra một lời chào, thế giới! đăng kí. Một cái gì đó in những chuỗi đó. Hãy chắc chắn rằng MAMP đang chạy và mở thư mục 62 như đã giải thích ở trên.Mở tệp 61 trong trình chỉnh sửa mã.Tôi khuyên bạn nên sử dụng mã VS, vì nó là một trình soạn thảo mã rất đơn giản và mạnh mẽ. Bạn có thể xem https://flaviocopes.com/vscode/ để được giới thiệu. Đây là mã tạo ra trang Chào mừng bạn đến với MAMP, bạn đã thấy trong trình duyệt. Xóa mọi thứ và thay thế nó bằng:
Lưu, làm mới trang trên http: // localhost: 8888, bạn sẽ thấy điều này: Tuyệt quá! Đó là chương trình PHP đầu tiên của bạn. Hãy để giải thích những gì đang xảy ra ở đây. Chúng tôi có máy chủ HTTP Apache nghe trên cổng 64 trên localhost, máy tính của bạn.Khi chúng tôi truy cập http: // localhost: 8888 với trình duyệt, chúng tôi đã thực hiện yêu cầu HTTP, yêu cầu nội dung của tuyến đường 65, URL cơ sở.Apache, theo mặc định, được cấu hình để phục vụ tuyến đó phục vụ tệp 66 có trong thư mục 62. Tệp đó không tồn tại - nhưng vì chúng tôi đã cấu hình Apache để hoạt động với PHP, sau đó nó sẽ tìm kiếm một tệp 61.Tệp này tồn tại và mã PHP được thực thi phía máy chủ trước khi Apache gửi trang trở lại trình duyệt. Trong tệp PHP, chúng tôi có mở 69, trong đó nói rằng ở đây bắt đầu một số mã PHP.Chúng tôi có một kết thúc 70 đóng đoạn mã PHP và bên trong nó, chúng tôi sử dụng lệnh 71 để in chuỗi được đặt vào trích dẫn vào HTML.Một dấu chấm phẩy được yêu cầu vào cuối mỗi tuyên bố. Chúng tôi có cấu trúc mở/đóng này vì chúng tôi có thể nhúng PHP bên trong HTML. PHP là ngôn ngữ kịch bản và mục tiêu của nó là có thể trang trí trang HTML với dữ liệu động. Lưu ý rằng với PHP hiện đại, chúng ta thường tránh trộn PHP vào HTML. Thay vào đó, chúng tôi sử dụng PHP như một khung công tác để tạo HTML, ví dụ như sử dụng các công cụ như Laravel. Nhưng chúng ta sẽ thảo luận về PHP đơn giản trong cuốn sách này, vì vậy thật hợp lý khi bắt đầu từ những điều cơ bản. Ví dụ: một cái gì đó như thế này sẽ cho bạn kết quả tương tự trong trình duyệt:
Đối với người dùng cuối cùng, người nhìn vào trình duyệt và không có ý tưởng nào về mã đằng sau hậu trường, không có sự khác biệt nào cả. Trang về mặt kỹ thuật là một trang HTML, mặc dù nó không chứa các thẻ HTML mà chỉ là một chuỗi 72. Nhưng trình duyệt có thể tìm ra cách hiển thị nó trong cửa sổ.Php ngôn ngữ cơ bảnSau lần đầu tiên, Hello Hello World, đó là thời gian để đi sâu vào các tính năng ngôn ngữ với nhiều chi tiết hơn. Cách các biến hoạt động trong PHPCác biến trong PHP bắt đầu với dấu hiệu đô la 73, tiếp theo là một định danh, là một bộ ký tự chữ và số và dấu gạch dưới 74 char.Bạn có thể gán một biến bất kỳ loại giá trị nào, như chuỗi (được xác định bằng cách sử dụng trích dẫn đơn hoặc kép):
Hoặc số:
Hoặc bất kỳ loại khác mà PHP cho phép, như chúng ta sẽ thấy sau này. Khi một biến được gán một giá trị, ví dụ như một chuỗi, chúng ta có thể gán lại nó một loại giá trị khác, như một số:
PHP đã giành được phàn nàn rằng bây giờ loại này là khác nhau. Tên biến là nhạy cảm trường hợp. 75 khác với 76.Nó không phải là một quy tắc cứng, nhưng nói chung các tên biến được viết ở định dạng Camelcase, như thế này: 77 hoặc 78. Chúng tôi giữ chữ thường chữ cái đầu tiên và các chữ cái của các từ tiếp theo viết hoa.Một phần rất quan trọng của bất kỳ ngôn ngữ lập trình nào là cách bạn viết bình luận. Bạn viết nhận xét một dòng trong PHP theo cách này:
Nhận xét đa dòng được định nghĩa theo cách này:
Các loại trong PHP là gì?Tôi đã đề cập đến chuỗi và số. PHP có các loại sau:
và một vài cái khác nâng cao hơn. Cách in giá trị của một biến trong PHPChúng ta có thể sử dụng chức năng tích hợp 86 để lấy giá trị của một biến:
Hướng dẫn 87 sẽ in 88 vào trang, cho chúng tôi biết biến là chuỗi 6 ký tự.Nếu chúng tôi sử dụng mã này:
Chúng tôi đã có 89 trở lại, nói rằng giá trị là 20 và nó là một số nguyên. 86 là một trong những công cụ thiết yếu trong vành đai công cụ gỡ lỗi PHP của bạn.Cách các nhà khai thác làm việc trong PHPKhi bạn có một vài biến, bạn có thể thực hiện các hoạt động với chúng:
91 tôi đã sử dụng để nhân $ cơ sở với chiều cao $ là toán tử nhân.Chúng tôi có khá nhiều nhà khai thác - vì vậy hãy để Lừa thực hiện một cách nhanh chóng của những người chính. Để bắt đầu, đây là các toán tử số học: 92, 93, 91, 65 (phân chia), 96 (phần còn lại) và 97 (theo cấp số nhân).Chúng tôi có toán tử gán 98, mà chúng tôi đã sử dụng để gán một giá trị cho một biến.Tiếp theo, chúng tôi có các toán tử so sánh, như 99, 00, 01, 02. Những công việc như họ làm trong toán học. 0 03 trả về đúng nếu hai toán hạng bằng nhau. 04 trả về đúng nếu hai toán hạng giống hệt nhau.Có gì khác biệt? Bạn sẽ tìm thấy nó với kinh nghiệm, nhưng ví dụ: 1Chúng tôi cũng có 05 để phát hiện nếu các toán tử không bằng nhau: 2và 06 để phát hiện nếu các toán hạng không giống hệt nhau: 3Các toán tử logic làm việc với các giá trị Boolean: 4Chúng tôi cũng có nhà điều hành không: 5Tôi đã sử dụng các giá trị boolean 07 và 08 ở đây, nhưng trong thực tế, bạn sẽ sử dụng các biểu thức đánh giá thành đúng hoặc sai, ví dụ:: 6Tất cả các nhà khai thác được liệt kê ở trên là nhị phân, có nghĩa là chúng liên quan đến 2 toán hạng. PHP cũng có 2 toán tử Unary: 09 và 10: 7Cách làm việc với các chuỗi trong PHPTôi đã giới thiệu việc sử dụng các chuỗi trước khi chúng tôi nói về các biến và chúng tôi đã xác định một chuỗi bằng cách sử dụng ký hiệu này: 8Sự khác biệt lớn giữa việc sử dụng trích dẫn đơn và đôi là với các trích dẫn kép, chúng ta có thể mở rộng các biến theo cách này: 9Và với các trích dẫn kép, chúng ta có thể sử dụng các ký tự thoát (nghĩ rằng các dòng mới 11 hoặc tab 12): 0PHP cung cấp cho bạn một chức năng rất toàn diện trong thư viện tiêu chuẩn của nó (thư viện chức năng mà ngôn ngữ cung cấp theo mặc định). Đầu tiên, chúng ta có thể kết hợp hai chuỗi bằng toán tử 13: 1Chúng ta có thể kiểm tra độ dài của chuỗi bằng hàm 14: 2Đây là lần đầu tiên chúng tôi sử dụng một chức năng. Một hàm bao gồm một định danh ( 15 trong trường hợp này) theo sau là dấu ngoặc đơn. Bên trong các dấu ngoặc đơn đó, chúng tôi chuyển một hoặc nhiều đối số cho hàm. Trong trường hợp này, chúng tôi có một đối số.Chức năng làm một cái gì đó và khi nó thực hiện, nó có thể trả về một giá trị. Trong trường hợp này, nó trả về số 16. Nếu không có giá trị nào được trả lại, hàm trả về 85.Chúng tôi sẽ thấy cách xác định các chức năng của riêng mình sau này. Chúng ta có thể nhận một phần của chuỗi bằng cách sử dụng 18: 3Chúng ta có thể thay thế một phần của chuỗi bằng cách sử dụng 19: 4Tất nhiên chúng ta có thể gán kết quả cho một biến mới: 5Có rất nhiều chức năng tích hợp hơn bạn có thể sử dụng để làm việc với các chuỗi. Dưới đây là một danh sách không hiểu ngắn gọn chỉ để cho bạn thấy các khả năng:
Bạn có thể tìm thấy một danh sách đầy đủ ở đây. Cách sử dụng các hàm tích hợp cho các số trong PHPTrước đây tôi đã liệt kê một vài chức năng chúng tôi thường sử dụng cho các chuỗi. Hãy cùng lập danh sách các chức năng mà chúng tôi sử dụng với các số:
Có rất nhiều chức năng khác nhau cho tất cả các loại hoạt động toán học như sin, cosin, tiếp tuyến, logarit, v.v. Bạn có thể tìm thấy một danh sách đầy đủ ở đây. Cách các mảng hoạt động trong PHPMảng là danh sách các giá trị được nhóm dưới một tên chung. Bạn có thể xác định một mảng trống theo hai cách khác nhau: 6Một mảng có thể được khởi tạo với các giá trị: 7Mảng có thể giữ các giá trị của bất kỳ loại nào: 8Ngay cả các mảng khác: 9Bạn có thể truy cập phần tử trong một mảng bằng ký hiệu này: 0Khi một mảng được tạo, bạn có thể nối các giá trị theo cách này: 1Bạn có thể sử dụng 34 để thêm mục ở đầu mảng: thay vào đó: 2Đếm có bao nhiêu mục trong một mảng sử dụng hàm 35 tích hợp: 3Kiểm tra xem một mảng có chứa một mục bằng chức năng tích hợp 36 không: 4Nếu ngoài việc xác nhận sự tồn tại, bạn cần chỉ mục, hãy sử dụng 37: 5Các chức năng hữu ích cho các mảng trong PHPCũng như các chuỗi và số, PHP cung cấp rất nhiều chức năng rất hữu ích cho các mảng. Chúng tôi đã thấy 35, 36, 37 - Hãy để xem thêm một số:
Cách sử dụng các mảng kết hợp trong PHPCho đến nay, chúng tôi đã sử dụng các mảng với một chỉ mục số gia tăng: 0, 1, 2 Bạn cũng có thể sử dụng các mảng có các chỉ mục được đặt tên (khóa) và chúng tôi gọi chúng là các mảng liên kết: 6Chúng tôi có một số chức năng đặc biệt hữu ích cho các mảng kết hợp:
Bạn có thể thấy tất cả các chức năng liên quan đến mảng ở đây. Cách thức điều kiện hoạt động trong PHPTrước đây tôi đã giới thiệu các toán tử so sánh: 99, 00, 01, 02, 03, 04, 05, ________ 206 ..., v.v.Những nhà khai thác sẽ rất hữu ích cho một điều: điều kiện.conditionals. Điều kiện là cấu trúc điều khiển đầu tiên chúng ta thấy. Chúng ta có thể quyết định làm một cái gì đó, hoặc một cái gì đó khác, dựa trên một so sánh. Ví dụ: 7Mã bên trong dấu ngoặc chỉ thực thi nếu điều kiện đánh giá là 07.Sử dụng 76 để làm một cái gì đó khác trong trường hợp điều kiện là 08: 8Lưu ý: Tôi đã sử dụng 78 thay vì 79 vì trích dẫn duy nhất sẽ chấm dứt chuỗi của tôi trước khi nó nên làm. Trong trường hợp này, bạn có thể thoát khỏi 80 theo cách này: 81Bạn có thể có nhiều câu lệnh 82 được chuỗi bằng cách sử dụng 83: 9Ngoài 82, chúng tôi có tuyên bố 85.Chúng tôi sử dụng điều này khi chúng tôi có một biến có thể có một vài giá trị khác nhau và chúng tôi không phải có một khối nếu / otherif dài: 0Tôi biết ví dụ không có bất kỳ logic nào, nhưng tôi nghĩ nó có thể giúp bạn hiểu cách thức hoạt động của 85.Tuyên bố 87 sau mỗi trường hợp là điều cần thiết. Nếu bạn không thêm rằng và tuổi 17, bạn sẽ thấy điều này: 1Thay vì chỉ là: 2Như bạn mong đợi. Cách các vòng hoạt động trong PHPVòng lặp là một cấu trúc điều khiển siêu hữu ích khác. Chúng tôi có một vài loại vòng lặp khác nhau trong PHP: 88, 89, 90 và 91.Hãy cùng nhìn thấy tất cả! Cách sử dụng vòng lặp $name = 'Flavio'; $name = "Flavio"; 88 trong PHPMột vòng lặp 88 là cái đơn giản nhất. Nó tiếp tục lặp lại trong khi điều kiện đánh giá thành 07: 3Đây sẽ là một vòng lặp vô hạn, đó là lý do tại sao chúng tôi sử dụng các biến và so sánh: 4Cách sử dụng vòng lặp $name = 'Flavio'; $name = "Flavio"; 89 trong PHP 89 là tương tự, nhưng hơi khác trong cách thực hiện lần lặp đầu tiên: 5Trong vòng 89, đầu tiên chúng tôi thực hiện lần lặp đầu tiên, sau đó chúng tôi kiểm tra điều kiện.Trong vòng 88, trước tiên chúng tôi kiểm tra điều kiện, sau đó chúng tôi thực hiện lặp lại.Thực hiện một bài kiểm tra đơn giản bằng cách đặt 99 đến 15 trong các ví dụ trên và xem điều gì sẽ xảy ra.Bạn sẽ muốn chọn một loại vòng lặp, hoặc loại khác, tùy thuộc vào trường hợp sử dụng của bạn. Cách sử dụng vòng lặp $name = 'Flavio'; $name = "Flavio"; 91 trong PHPBạn có thể sử dụng vòng lặp 91 để dễ dàng lặp lại trên một mảng: 6Bạn cũng có thể nhận được giá trị của chỉ mục (hoặc khóa trong một mảng kết hợp) theo cách này: 7Cách sử dụng vòng lặp $name = 'Flavio'; $name = "Flavio"; 90 trong PHPVòng lặp 90 tương tự như trong khi, nhưng thay vì xác định biến được sử dụng trong điều kiện trước vòng lặp và thay vì tăng biến chỉ mục theo cách thủ công, tất cả đều được thực hiện trong dòng đầu tiên: 8Bạn có thể sử dụng vòng lặp for để lặp qua một mảng theo cách này: 9Cách sử dụng các câu lệnh $age = 20; 04 và $age = 20; 05 trong PHPTrong nhiều trường hợp, bạn muốn khả năng dừng vòng lặp theo yêu cầu. Ví dụ: bạn muốn dừng vòng lặp 90 khi giá trị của biến trong mảng là 07: 0Điều này làm cho vòng lặp hoàn toàn dừng lại tại thời điểm đó và việc thực hiện chương trình tiếp tục tại hướng dẫn tiếp theo sau vòng lặp. Nếu bạn chỉ muốn bỏ qua lần lặp vòng lặp hiện tại và tiếp tục tìm kiếm, hãy sử dụng 05 thay thế: 1Cách hoạt động của các chức năng trong PHPChức năng là một trong những khái niệm quan trọng nhất trong lập trình. Bạn có thể sử dụng các chức năng để nhóm lại nhiều hướng dẫn hoặc nhiều dòng mã và đặt tên cho họ. Ví dụ: bạn có thể tạo một chức năng gửi email. Hãy để Lừa gọi nó là 09 và chúng tôi sẽ xác định nó như thế này: 2Và bạn có thể gọi nó ở bất cứ nơi nào khác bằng cách sử dụng cú pháp này: 3Bạn cũng có thể chuyển các đối số cho một chức năng. Ví dụ: khi bạn gửi email, bạn muốn gửi nó cho ai đó - vì vậy bạn thêm email làm đối số đầu tiên: 4Bên trong định nghĩa hàm, chúng tôi nhận được tham số này theo cách này (chúng tôi gọi chúng là tham số bên trong định nghĩa hàm và các đối số khi chúng tôi gọi hàm): 5Bạn có thể gửi nhiều đối số bằng cách tách chúng bằng dấu phẩy: 6Và chúng ta có thể nhận được những tham số đó theo thứ tự chúng được xác định: 7Chúng tôi có thể tùy chọn đặt loại tham số:optionally set the type of parameters: 8Các tham số có thể có giá trị mặc định, vì vậy nếu chúng bị bỏ qua, chúng ta vẫn có thể có giá trị cho chúng: 9Một hàm có thể trả về một giá trị. Chỉ có một giá trị có thể được trả về từ một hàm, không quá một. Bạn làm điều đó bằng cách sử dụng từ khóa 10. Nếu bị bỏ qua, hàm trả về 85.Giá trị trả về là siêu hữu ích vì nó cho bạn biết kết quả của công việc được thực hiện trong hàm và cho phép bạn sử dụng kết quả của nó sau khi gọi nó: 0Chúng tôi có thể tùy chọn đặt loại trả về của một hàm bằng cú pháp này:optionally set the return type of a function using this syntax: 1Khi bạn xác định một biến bên trong một hàm, biến đó là cục bộ với hàm, điều đó có nghĩa là nó không thể nhìn thấy từ bên ngoài. Khi chức năng kết thúc, nó chỉ dừng hiện tại:local to the function, which means it’s not visible from outside. When the function ends, it just stops existing: 2Các biến được xác định bên ngoài hàm không thể truy cập được bên trong hàm.not accessible inside the function. Điều này thực thi một thực tiễn lập trình tốt vì chúng tôi có thể chắc chắn rằng chức năng không sửa đổi các biến bên ngoài và gây ra các tác dụng phụ của Cameron. Thay vào đó, bạn trả về một giá trị từ hàm và mã bên ngoài gọi hàm sẽ chịu trách nhiệm cập nhật biến bên ngoài. Như thế này: 3Bạn có thể chuyển giá trị của một biến bằng cách chuyển nó như một đối số cho hàm: 4Nhưng bạn có thể sửa đổi giá trị đó từ bên trong hàm. Nó được truyền theo giá trị, có nghĩa là hàm nhận được một bản sao của nó, chứ không phải tham chiếu đến biến ban đầu.passed by value, which means the function receives a copy of it, not the reference to the original variable. Điều đó vẫn có thể sử dụng cú pháp này (Thông báo tôi đã sử dụng 12 trong định nghĩa tham số): 5Các chức năng chúng tôi đã xác định cho đến nay là các hàm được đặt tên.named functions. Họ có một cái tên. Chúng tôi cũng có các chức năng ẩn danh, có thể hữu ích trong rất nhiều trường hợp.anonymous functions, which can be useful in a lot of cases. Họ không có tên, mỗi người, nhưng họ được gán cho một biến. Để gọi cho họ, bạn gọi biến với dấu ngoặc đơn ở cuối: 6Lưu ý rằng bạn cần một dấu chấm phẩy sau định nghĩa hàm, nhưng sau đó chúng hoạt động giống như các hàm được đặt tên cho các giá trị trả về và tham số. Thật thú vị, họ cung cấp một cách để truy cập một biến được xác định bên ngoài chức năng thông qua 13: 7Một loại chức năng khác là một hàm mũi tên.arrow function. Một hàm mũi tên là một hàm ẩn danh mà chỉ có một biểu thức (một dòng) và hoàn toàn trả về giá trị của biểu thức đó. Bạn xác định nó theo cách này: 8Đây là một ví dụ: 9Bạn có thể chuyển các tham số đến hàm mũi tên: 0Lưu ý rằng như ví dụ tiếp theo hiển thị, các hàm mũi tên có quyền truy cập tự động vào các biến của phạm vi kèm theo, mà không cần 13. 1Các hàm mũi tên siêu hữu ích khi bạn cần vượt qua chức năng gọi lại. Chúng tôi sẽ thấy cách sử dụng chúng để thực hiện một số hoạt động mảng sau. Vì vậy, chúng tôi có tổng cộng 3 loại chức năng: các chức năng được đặt tên, các hàm ẩn danh và các hàm mũi tên.named functions, anonymous functions, and arrow functions. Mỗi người trong số họ có vị trí của nó, và bạn sẽ học cách sử dụng chúng đúng thời gian, với thực tế. Cách lặp qua các mảng với Hello 56, Hello 57 và Hello 58 trong PHPMột tập hợp quan trọng khác của các cấu trúc vòng lặp, thường được sử dụng trong lập trình chức năng, là tập hợp 46 / 47 / 45.3 chức năng PHP tích hợp này có một mảng và hàm gọi lại mà trong mỗi lần lặp lấy mỗi mục trong mảng. 46 Trả về một mảng mới chứa kết quả của việc chạy chức năng gọi lại trên mỗi mục trong mảng: 2 47 tạo ra một mảng mới bằng cách chỉ nhận các mục có chức năng gọi lại trả về 07: 3 45 được sử dụng để giảm một mảng xuống một giá trị duy nhất.Ví dụ: chúng ta có thể sử dụng nó để nhân tất cả các mục trong một mảng: 4Lưu ý tham số cuối cùng - nó có giá trị ban đầu. Nếu bạn bỏ qua điều đó, giá trị mặc định là 25 nhưng điều đó sẽ không hoạt động cho ví dụ nhân của chúng tôi.Lưu ý rằng trong 46, thứ tự của các đối số bị đảo ngược. Đầu tiên bạn có chức năng gọi lại và sau đó là mảng. Điều này là do chúng ta có thể vượt qua nhiều mảng bằng dấu phẩy ( 27). Lý tưởng nhất là chúng tôi thích sự nhất quán hơn, nhưng đó là những gì nó là.Lập trình hướng đối tượng trong PHPBây giờ, hãy nhảy đầu tiên vào một chủ đề lớn: Lập trình hướng đối tượng với PHP. Lập trình hướng đối tượng cho phép bạn tạo các trừu tượng hữu ích và làm cho mã của bạn đơn giản hơn để hiểu và quản lý. Cách sử dụng các lớp và đối tượng trong PHPĐể bắt đầu, bạn có các lớp và đối tượng. Một lớp là một bản thiết kế, hoặc loại của đối tượng. Ví dụ: bạn có lớp 28, được xác định theo cách này: 5Lưu ý rằng lớp phải được xác định trong chữ hoa. Sau đó, bạn có thể tạo các đối tượng từ lớp này - những con chó cụ thể, cá nhân. Một đối tượng được gán cho một biến và nó được khởi tạo bằng cách sử dụng cú pháp 29: 6Bạn có thể tạo nhiều đối tượng từ cùng một lớp, bằng cách gán từng đối tượng cho một biến khác nhau: 7Cách sử dụng các thuộc tính trong PHPTất cả các đối tượng sẽ chia sẻ cùng một đặc điểm được xác định bởi lớp. Nhưng một khi họ được khởi tạo, họ sẽ có một cuộc sống của riêng họ. Ví dụ, một con chó có tên, một tuổi và màu lông. Vì vậy, chúng ta có thể định nghĩa chúng là thuộc tính trong lớp: 8Chúng hoạt động như các biến, nhưng chúng được gắn vào đối tượng, một khi nó được khởi tạo từ lớp. Từ khóa 30 là trình sửa đổi truy cập và đặt thuộc tính có thể truy cập công khai.Bạn có thể gán các giá trị cho các thuộc tính đó theo cách này: 9Lưu ý rằng tài sản được xác định là 30.Đó được gọi là một công cụ sửa đổi truy cập. Bạn có thể sử dụng hai loại sửa đổi truy cập khác: 32 và 33. Riêng tư làm cho tài sản không thể truy cập từ bên ngoài đối tượng. Chỉ các phương thức được xác định bên trong đối tượng mới có thể truy cập nó.Chúng tôi sẽ thấy nhiều hơn về được bảo vệ khi chúng tôi nói về kế thừa. Cách sử dụng các phương pháp trong PHPTôi đã nói phương pháp? Phương pháp là gì? Một phương thức là một hàm được xác định bên trong lớp và nó được xác định theo cách này: 0Các phương pháp rất hữu ích để gắn một hành vi vào một đối tượng. Trong trường hợp này, chúng ta có thể làm một vỏ cây chó. Lưu ý rằng tôi sử dụng từ khóa 30. Điều đó để nói rằng bạn có thể gọi một phương pháp từ bên ngoài lớp. Giống như đối với các thuộc tính, bạn cũng có thể đánh dấu các phương thức là 32 hoặc 33, để hạn chế quyền truy cập của chúng.Bạn gọi một phương thức trên thể hiện đối tượng như thế này: 1Một phương thức, giống như một hàm, cũng có thể xác định các tham số và giá trị trả về. Bên trong một phương thức, chúng ta có thể truy cập các thuộc tính của đối tượng bằng cách sử dụng biến 37 tích hợp đặc biệt, khi được tham chiếu bên trong một phương thức, trỏ đến thể hiện đối tượng hiện tại: 2Lưu ý rằng tôi đã sử dụng 38 để đặt và truy cập thuộc tính 75 chứ không phải 40.Cách sử dụng phương pháp hàm tạo trong PHPMột loại phương pháp đặc biệt có tên 41 được gọi là hàm tạo.constructor. 3Bạn sử dụng phương thức này để khởi tạo các thuộc tính của một đối tượng khi bạn tạo nó, vì nó tự động được gọi khi gọi 29. 4Đây là một điều phổ biến đến mức PHP (bắt đầu từ PHP 8) bao gồm một thứ gọi là chương trình khuyến mãi Constructor trong đó nó tự động thực hiện điều này:constructor promotion where it automatically does this thing: 5Bằng cách sử dụng Trình sửa đổi truy cập, việc gán từ tham số của hàm tạo thành biến cục bộ sẽ tự động xảy ra: 6Thuộc tính có thể được gõ.typed. Bạn có thể yêu cầu tên là một chuỗi bằng cách sử dụng 43: 7Bây giờ tất cả đều hoạt động tốt trong ví dụ này, nhưng hãy thử thay đổi nó thành 44 để yêu cầu nó là một số nguyên.PHP sẽ gây ra lỗi nếu bạn khởi tạo 75 với một chuỗi: 8Thú vị, phải không? Chúng tôi có thể thực thi các thuộc tính để có một loại cụ thể giữa 82, 80, 81, 82, 84, 83, 79 và những người khác.Kế thừa trong PHP là gì?Cuộc vui trong lập trình theo định hướng đối tượng bắt đầu khi chúng tôi cho phép các lớp kế thừa các thuộc tính và phương thức từ các lớp khác. Giả sử bạn có một lớp 53: 9Mỗi con vật đều có tuổi, và mọi con vật đều có thể ăn. Vì vậy, chúng tôi thêm một thuộc tính 54 và phương thức 55: 0Một con chó là một con vật và có tuổi và cũng có thể ăn, vì vậy lớp 28 - thay vì thực hiện lại những điều tương tự chúng ta có trong 53 - có thể mở rộng lớp đó: 1Bây giờ chúng ta có thể khởi tạo một đối tượng mới của lớp 28 và chúng ta có quyền truy cập vào các thuộc tính và phương thức được xác định trong 53: 2Trong trường hợp này, chúng tôi gọi chó là lớp con và động vật là lớp cha mẹ.child class and Animal the parent class. Bên trong lớp con, chúng tôi có thể sử dụng 37 để tham khảo bất kỳ thuộc tính hoặc phương thức nào được xác định trong cha mẹ, như thể chúng được xác định bên trong lớp con.Điều đáng chú ý là trong khi chúng ta có thể truy cập các thuộc tính và phương pháp của cha mẹ từ đứa trẻ, chúng ta có thể làm ngược lại. Lớp cha mẹ không biết gì về lớp con. $age = 20; 33 thuộc tính và phương pháp trong PHPBây giờ chúng tôi đã giới thiệu thừa kế, chúng ta có thể thảo luận về 33. Chúng tôi đã thấy cách chúng tôi có thể sử dụng công cụ sửa đổi truy cập 30 để đặt các thuộc tính và phương thức được gọi từ bên ngoài một lớp, bởi công chúng. 32 Thuộc tính và phương thức chỉ có thể được truy cập từ bên trong lớp. 33 Thuộc tính và phương thức có thể được truy cập từ bên trong lớp và từ các lớp trẻ.Cách ghi đè các phương thức trong PHPĐiều gì xảy ra nếu chúng ta có phương thức 55 trong 53 và chúng ta muốn tùy chỉnh nó trong 28? Chúng ta có thể ghi đè phương pháp đó.override that method. 3Bây giờ, bất kỳ trường hợp nào của 28 sẽ sử dụng việc triển khai phương thức 55 của ____ 328.Tính chất và phương pháp tĩnh trong PHPChúng tôi đã thấy cách xác định các thuộc tính và phương thức thuộc về thể hiện của một lớp, một đối tượng.to the instance of a class, an object. Đôi khi, nó rất hữu ích để gán những người đó cho chính lớp. Khi điều này xảy ra, chúng tôi gọi chúng là tĩnh và để tham khảo hoặc gọi chúng, chúng tôi không cần phải tạo một đối tượng từ lớp.static, and to reference or call them we don’t need to create an object from the class. Hãy bắt đầu với các thuộc tính tĩnh. Chúng tôi xác định chúng với từ khóa 72: 4Chúng tôi tham chiếu chúng từ bên trong lớp bằng cách sử dụng từ khóa 73, chỉ vào lớp: 5và từ bên ngoài lớp học bằng cách sử dụng: 6Đây là những gì xảy ra cho các phương pháp tĩnh: 7Từ bên ngoài lớp, chúng ta có thể gọi họ theo cách này: 8Từ bên trong lớp, chúng tôi có thể tham khảo chúng bằng từ khóa 73, đề cập đến lớp hiện tại: 9Cách so sánh các đối tượng trong PHPKhi chúng tôi nói về các nhà khai thác, tôi đã đề cập, chúng tôi có toán tử 03 để kiểm tra xem hai giá trị có bằng nhau không và 04 để kiểm tra xem chúng có giống hệt nhau không.Chủ yếu là sự khác biệt là 03 kiểm tra nội dung đối tượng, ví dụ như chuỗi 78 bằng số 79, nhưng nó không giống với nó.Khi chúng tôi sử dụng các toán tử đó để so sánh các đối tượng, 03 sẽ kiểm tra xem hai đối tượng có cùng một lớp không và có cùng một giá trị được gán cho chúng. 04 Mặt khác sẽ kiểm tra xem họ cũng đề cập đến cùng một trường hợp (đối tượng).Ví dụ: 00Cách lặp lại các thuộc tính đối tượng trong PHPBạn có thể lặp qua tất cả các thuộc tính công khai trong một đối tượng bằng cách sử dụng vòng lặp 91, như thế này: 01Cách nhân bản các đối tượng trong PHPKhi bạn có một đối tượng, bạn có thể sao chép nó bằng từ khóa 83: 02Điều này thực hiện một bản sao nông, điều đó có nghĩa là các tham chiếu đến các biến khác sẽ được sao chép dưới dạng tài liệu tham khảo - sẽ không phải là một nhân bản đệ quy của họ. Để làm một bản sao sâu sắc, bạn sẽ cần phải làm thêm một số công việc. Phương pháp ma thuật trong PHP là gì?Phương pháp ma thuật là các phương pháp đặc biệt mà chúng tôi xác định trong các lớp để thực hiện một số hành vi khi có điều gì đó đặc biệt xảy ra. Ví dụ: khi một thuộc tính được đặt hoặc truy cập hoặc khi đối tượng được nhân bản. Chúng tôi đã thấy 41 trước đây.Đó là một phương pháp ma thuật. Co nhung nguoi khac. Ví dụ: chúng ta có thể đặt một thuộc tính boolean nhân bản của người Viking thành True khi đối tượng được nhân bản: 03Các phương pháp ma thuật khác bao gồm 85, 86, 87, 88, 89 và các loại khác.
Bạn có thể xem danh sách đầy đủ ở đây Cách bao gồm các tệp PHP khácBây giờ chúng tôi đã nói về các tính năng định hướng đối tượng của PHP. Bây giờ hãy khám phá một số chủ đề thú vị khác! Bên trong một tệp PHP, bạn có thể bao gồm các tệp PHP khác. Chúng tôi có các phương pháp sau, tất cả được sử dụng cho trường hợp sử dụng này, nhưng tất cả chúng đều hơi khác nhau: 90, 91, 92 và 93. 90 tải nội dung của một tệp PHP khác, sử dụng đường dẫn tương đối. 92 làm như vậy, nhưng nếu có bất kỳ lỗi nào khi làm như vậy, chương trình dừng lại. 90 sẽ chỉ tạo ra một cảnh báo.Bạn có thể quyết định sử dụng cái này hoặc cái khác tùy thuộc vào trường hợp sử dụng của bạn. Nếu bạn muốn chương trình của mình thoát nếu nó có thể nhập tệp, hãy sử dụng 92. 91 và 93 làm điều tương tự như các chức năng tương ứng của chúng mà không cần 00, nhưng họ đảm bảo rằng tệp được bao gồm/yêu cầu chỉ một lần trong quá trình thực hiện chương trình.Điều này rất hữu ích nếu, ví dụ, bạn có nhiều tệp đang tải một số tệp khác và bạn thường muốn tránh tải nó nhiều lần. Quy tắc của tôi là không bao giờ sử dụng 90 hoặc 92 vì bạn có thể tải cùng một tệp hai lần. 91 và 93 giúp bạn tránh vấn đề này.Sử dụng 91 khi bạn muốn tải một tệp một cách có điều kiện, ví dụ như tải tệp này thay vì đó. Trong tất cả các trường hợp khác, sử dụng 93.Đây là một ví dụ: 04Cú pháp trên bao gồm tệp 07 từ thư mục hiện tại, tệp có mã này.Bạn có thể sử dụng các đường dẫn tương đối: 05Để bao gồm một tệp trong thư mục chính hoặc đi vào thư mục con: 06Bạn có thể sử dụng các đường dẫn tuyệt đối: 07Trong các cơ sở mã PHP hiện đại sử dụng khung, các tệp thường được tải tự động để bạn có thể ít cần sử dụng các chức năng trên. Hằng số, hàm và biến hữu ích cho hệ thống tập tin trong PHPNói về các đường dẫn, PHP cung cấp cho bạn một số tiện ích để giúp bạn làm việc với các đường dẫn. Bạn có thể nhận được đường dẫn đầy đủ của tệp hiện tại bằng cách sử dụng:
Bạn có thể nhận được đường dẫn đầy đủ của thư mục nơi tệp hiện tại đang sử dụng:
Cách xử lý lỗi trong PHPMỗi lập trình viên đều mắc lỗi. Rốt cuộc, chúng tôi là con người. Chúng ta có thể quên một dấu chấm phẩy. Hoặc sử dụng tên biến sai. Hoặc chuyển đối số sai cho một chức năng. Trong PHP chúng ta có:
Hai lỗi đầu tiên là lỗi nhỏ và chúng không dừng thực hiện chương trình. PHP sẽ in một tin nhắn, và đó là nó. Lỗi chấm dứt thực hiện chương trình và sẽ in một tin nhắn cho bạn biết lý do tại sao. Có nhiều loại lỗi khác nhau, như lỗi phân tích cú pháp, lỗi gây tử vong trong thời gian chạy, lỗi nghiêm trọng và nhiều hơn nữa. Họ là tất cả các lỗi. Tôi đã nói rằng php sẽ in một tin nhắn, nhưng .. ở đâu? Điều này phụ thuộc vào cấu hình của bạn. Trong chế độ phát triển, nó phổ biến để đăng nhập các lỗi PHP trực tiếp vào trang web, nhưng cũng trong nhật ký lỗi. Bạn muốn thấy những lỗi đó càng sớm càng tốt, vì vậy bạn có thể sửa chúng. Mặt khác, trong sản xuất, bạn không muốn hiển thị chúng trong trang web, nhưng bạn vẫn muốn biết về chúng. Vậy bạn làm gì? Bạn đăng nhập chúng vào nhật ký lỗi. Đây là tất cả được quyết định trong cấu hình PHP. Chúng tôi đã nói về điều này, nhưng có một tập tin trong cấu hình máy chủ của bạn quyết định rất nhiều điều về cách chạy PHP. Nó gọi là 17.Vị trí chính xác của tệp này phụ thuộc vào thiết lập của bạn. Để tìm ra nơi của bạn, cách dễ nhất là thêm nó vào tệp PHP và chạy nó trong trình duyệt của bạn: 08Sau đó, bạn sẽ thấy vị trí trong tệp cấu hình đã tải trực tuyến: Trong trường hợp của tôi, nó 18.Lưu ý rằng thông tin được tạo bởi 19 chứa rất nhiều thông tin hữu ích khác. Nhớ lấy.Sử dụng MAMP, bạn có thể mở thư mục ứng dụng MAMP và mở 20. Đi vào phiên bản PHP cụ thể của bạn (8.1.0 trong trường hợp của tôi) sau đó đi vào 21. Trong đó, bạn sẽ tìm thấy tệp 17:Mở tệp đó trong một trình soạn thảo. Nó chứa một danh sách dài các cài đặt, với một tài liệu nội tuyến tuyệt vời cho mỗi tài liệu. Chúng tôi đặc biệt quan tâm đến 23:Trong sản xuất, bạn muốn giá trị của nó là 24, như các tài liệu ở trên nó nói.Các lỗi sẽ không hiển thị nữa trong trang web, nhưng bạn sẽ thấy chúng trong tệp 25 trong thư mục 26 của MAMP trong trường hợp này:Tệp này sẽ nằm trong một thư mục khác tùy thuộc vào thiết lập của bạn. Bạn đặt vị trí này trong 17 của bạn:Nhật ký lỗi sẽ chứa tất cả các thông báo lỗi mà ứng dụng của bạn tạo: Bạn có thể thêm thông tin vào nhật ký lỗi bằng cách sử dụng hàm 28: 09Nó phổ biến để sử dụng dịch vụ logger cho các lỗi, như Monolog. Cách xử lý các ngoại lệ trong PHPĐôi khi lỗi là không thể tránh khỏi. Giống như nếu một cái gì đó hoàn toàn không thể đoán trước xảy ra. Nhưng nhiều lần, chúng ta có thể nghĩ trước và ghi mã có thể chặn lỗi và làm điều gì đó hợp lý khi điều này xảy ra. Giống như hiển thị một thông báo lỗi hữu ích cho người dùng hoặc thử cách giải quyết. Chúng tôi làm như vậy bằng cách sử dụng các ngoại lệ.exceptions. Các trường hợp ngoại lệ được sử dụng để làm cho chúng tôi, các nhà phát triển, nhận thức được một vấn đề. Chúng tôi bọc một số mã có khả năng tăng một ngoại lệ thành một khối 29 và chúng tôi có một khối 30 ngay sau đó. Khối đánh bắt đó sẽ được thực thi nếu có một ngoại lệ trong khối thử: 10Lưu ý rằng chúng tôi có một đối tượng 31 32 được chuyển đến khối 30 và chúng tôi có thể kiểm tra đối tượng đó để có thêm thông tin về ngoại lệ, như thế này: 11Hãy cùng nhìn vào một ví dụ. Hãy nói rằng do nhầm lẫn tôi chia một số cho 0: 12Điều này sẽ kích hoạt một lỗi nghiêm trọng và chương trình bị tạm dừng trên dòng đó: Kết thúc thao tác trong một khối thử và in thông báo lỗi trong khối bắt, chương trình kết thúc thành công, cho tôi biết vấn đề: 13of Tất nhiên Đây là một ví dụ đơn giản nhưng bạn có thể thấy lợi ích: Tôi có thể chặn vấn đề.Of course this is a simple example but you can see the benefit: I can intercept the issue. Mỗi ngoại lệ có một lớp khác nhau. Ví dụ: chúng ta có thể bắt được điều này là 34 và điều này cho phép tôi lọc các vấn đề có thể xảy ra và xử lý chúng khác nhau.Tôi có thể có tất cả các lỗi cho bất kỳ lỗi có thể ném nào ở cuối, như thế này: 14 và tôi cũng có thể nối một khối 35 ở cuối cấu trúc thử/bắt này để thực thi một số mã sau khi mã được thực thi thành công mà không gặp vấn đề gì hoặc bị bắt:And I can also append a 35 block at the end of this
try/catch structure to execute some code after the code is either executed successfully without problems, or there was a catch: 15 Bạn có thể sử dụng các trường hợp ngoại lệ được cung cấp bởi PHP nhưng bạn cũng có thể tạo các trường hợp ngoại lệ của riêng mình.You can use the built-in exceptions provided by PHP but you can also create your own exceptions. Cách làm việc với ngày trong PHPLàm việc với ngày và thời gian là rất phổ biến trong lập trình. Hãy để xem những gì PHP cung cấp. Chúng ta có thể nhận được dấu thời gian hiện tại (số giây kể từ ngày 1 tháng 1 năm 1970 00:00:00 GMT) bằng cách sử dụng 36: 16Khi bạn có dấu thời gian, bạn có thể định dạng như một ngày sử dụng 37, ở định dạng bạn thích: 17 38 là đại diện 4 chữ số của năm, 39 là số tháng (với số 0 hàng đầu) và 40 là số của ngày trong tháng, với số 0 hàng đầu.Xem danh sách đầy đủ các ký tự bạn có thể sử dụng để định dạng ngày ở đây. Chúng ta có thể chuyển đổi bất kỳ ngày nào thành dấu thời gian bằng cách sử dụng 41, lấy một chuỗi có biểu diễn văn bản của một ngày và chuyển đổi nó thành số giây kể từ ngày 1 tháng 1 năm 1970: 18... Nó khá linh hoạt. Đối với ngày, nó phổ biến để sử dụng các thư viện cung cấp nhiều chức năng hơn những gì ngôn ngữ có thể. Một lựa chọn tốt là carbon. Cách sử dụng hằng số và enum trong PHPChúng ta có thể xác định các hằng số trong PHP bằng hàm tích hợp 42: 19Và sau đó chúng ta có thể sử dụng 43 như thể nó là một biến, nhưng không có dấu hiệu 73: 20Chúng tôi sử dụng số nhận dạng chữ hoa làm quy ước cho các hằng số. Thật thú vị, bên trong các lớp chúng ta có thể xác định các thuộc tính không đổi bằng cách sử dụng từ khóa 45: 21Theo mặc định, chúng là 30 nhưng chúng ta có thể đánh dấu chúng là 32 hoặc 33: 22Enums cho phép bạn nhóm các hằng số theo một gốc phổ biến. Ví dụ, bạn muốn có 49 enum có 3 trạng thái: 50 51 52, 3 trạng thái của một ngày chó.Vì vậy, bạn có: 23Bây giờ chúng ta có thể tham khảo các hằng số đó theo cách này: 24Enums là đối tượng, chúng có thể có các phương pháp và nhiều tính năng hơn chúng ta có thể vào đây trong phần giới thiệu ngắn này. Cách sử dụng PHP làm nền tảng phát triển ứng dụng webPHP là ngôn ngữ phía máy chủ và nó thường được sử dụng theo hai cách. Một là trong một trang HTML, vì vậy PHP được sử dụng để thêm vào các thứ khác vào HTML được xác định thủ công trong tệp 53. Đây là một cách hoàn toàn tốt để sử dụng PHP.Một cách khác xem xét PHP giống như động cơ chịu trách nhiệm tạo ra một ứng dụng trực tuyến. Bạn không viết HTML trong tệp 53, nhưng thay vào đó bạn sử dụng ngôn ngữ khuôn mẫu để tạo HTML và mọi thứ được quản lý bởi cái mà chúng tôi gọi là khung.framework.Đây là những gì xảy ra khi bạn sử dụng một khung hiện đại như Laravel. Tôi sẽ xem xét cách đầu tiên một chút về thời trang ngày nay, và nếu bạn chỉ mới bắt đầu, bạn nên biết về hai phong cách sử dụng PHP khác nhau đó. Nhưng cũng xem xét sử dụng một khung như chế độ dễ dàng, vì các khung cung cấp cho bạn các công cụ để xử lý định tuyến, các công cụ để truy cập dữ liệu từ cơ sở dữ liệu và chúng giúp xây dựng một ứng dụng an toàn hơn. Và họ làm cho tất cả nhanh hơn để phát triển. Điều đó nói rằng, chúng tôi sẽ không nói về việc sử dụng các khung trong cuốn cẩm nang này. Nhưng tôi sẽ nói về các khối xây dựng cơ bản, cơ bản của PHP. Chúng là những yếu tố cần thiết mà bất kỳ nhà phát triển PHP nào cũng phải biết. Chỉ cần biết rằng, trong thế giới thực, bạn có thể sử dụng cách làm của khung yêu thích của mình thay vì các tính năng cấp thấp hơn được cung cấp bởi PHP. Tất nhiên, điều này không chỉ áp dụng cho PHP - đó là một vấn đề của người Viking, điều đó xảy ra với bất kỳ ngôn ngữ lập trình nào. Cách xử lý các yêu cầu HTTP trong PHPHãy bắt đầu với việc xử lý các yêu cầu HTTP. PHP cung cấp định tuyến dựa trên tệp theo mặc định. Bạn tạo một tệp 61 và phản hồi trên đường dẫn 65.Chúng tôi đã thấy rằng khi chúng tôi làm ví dụ Hello World ngay từ đầu. Tương tự, bạn có thể tạo tệp 07 và tự động đó sẽ là tệp mà Apache phục vụ trên tuyến đường 58.Cách sử dụng $name = 3; 59, $name = 3; 60 và $name = 3; 61 trong PHPCác tập tin trả lời tất cả các yêu cầu HTTP, bao gồm GET, POST và các động từ khác. Đối với bất kỳ yêu cầu nào, bạn có thể truy cập tất cả dữ liệu chuỗi truy vấn bằng đối tượng 59. Nó được gọi là SuperGlobal và tự động có sẵn trong tất cả các tệp PHP của chúng tôi.Điều này tất nhiên là hữu ích nhất trong các yêu cầu GET, nhưng các yêu cầu khác cũng có thể gửi dữ liệu dưới dạng chuỗi truy vấn. Để đăng, đặt và xóa các yêu cầu mà bạn có nhiều khả năng cần dữ liệu được đăng dưới dạng dữ liệu được mã hóa URL hoặc sử dụng đối tượng FormData, mà PHP có sẵn cho bạn bằng cách sử dụng 60.Ngoài ra còn có 61 chứa tất cả 59 và 60 kết hợp trong một biến duy nhất.Cách sử dụng đối tượng $name = 3; 10 trong PHPChúng tôi cũng có biến SuperGlobal 10 mà bạn sử dụng để có được nhiều thông tin hữu ích.Bạn đã thấy cách sử dụng 19 trước đây. Hãy để sử dụng lại nó để xem $ _Server cung cấp cho chúng tôi những gì.Trong tệp 61 của bạn trong Root of Mamp Run: 08Sau đó tạo trang tại LocalHost: 8888 và tìm kiếm 10. Bạn sẽ thấy tất cả các cấu hình được lưu trữ và các giá trị được chỉ định:Những cái quan trọng bạn có thể sử dụng là:
Cách sử dụng các biểu mẫu trong PHPCác biểu mẫu là cách nền tảng web cho phép người dùng tương tác với một trang và gửi dữ liệu đến máy chủ. Đây là một hình thức đơn giản trong HTML: 26Bạn có thể đặt cái này vào tệp 61 của mình như được gọi là 66.Tệp PHP giả định bạn viết HTML trong đó với một số loại php rắc bằng cách sử dụng 83 để máy chủ web có thể đăng nó lên máy khách. Đôi khi, phần PHP lấy tất cả các trang, và đó là khi bạn tạo ra tất cả HTML thông qua PHP - đó là loại ngược lại với cách tiếp cận chúng tôi đang thực hiện ở đây.Vì vậy, chúng tôi có tệp 61 này tạo biểu mẫu này bằng cách sử dụng HTML đơn giản:Nhấn nút Gửi sẽ thực hiện yêu cầu nhận đến cùng một URL gửi dữ liệu qua chuỗi truy vấn. Lưu ý rằng URL đã thay đổi thành localhost: 8888/? Name = test. Chúng tôi có thể thêm một số mã để kiểm tra xem tham số đó có được đặt bằng hàm 85 không: 27See? Chúng tôi có thể nhận thông tin từ chuỗi truy vấn yêu cầu GET thông qua 59.See? We can get the information from the GET request query string through 59.Những gì bạn thường làm với các biểu mẫu, mặc dù là bạn thực hiện yêu cầu bài đăng: 28Hãy xem, bây giờ chúng tôi có cùng một thông tin nhưng URL đã không thay đổi. Thông tin biểu mẫu không được thêm vào URL. Điều này là do chúng tôi sử dụng một yêu cầu POST, gửi dữ liệu đến máy chủ theo một cách khác, thông qua dữ liệu được mã hóa URL. Như đã đề cập ở trên, PHP vẫn sẽ phục vụ tệp 61 vì chúng tôi vẫn đang gửi dữ liệu đến cùng một URL mà biểu mẫu được bật.Chúng tôi trộn lẫn một loạt các mã và chúng tôi có thể phân tách trình xử lý yêu cầu biểu mẫu khỏi mã tạo biểu mẫu. Vì vậy, chúng tôi có thể có điều này trong 61: 29và chúng ta có thể tạo một tệp 89 mới với: 30PHP sẽ hiển thị nội dung này ngay sau khi chúng tôi gửi biểu mẫu, vì chúng tôi đặt thuộc tính 90 HTML trên biểu mẫu.Ví dụ này rất đơn giản, nhưng tệp 89 là nơi chúng ta có thể lưu dữ liệu vào cơ sở dữ liệu hoặc vào một tệp.PHP cho phép chúng tôi đặt các tiêu đề HTTP của phản hồi thông qua hàm 92.Tiêu đề HTTP là một cách để gửi thông tin trở lại trình duyệt. Chúng ta có thể nói trang tạo ra lỗi máy chủ nội bộ 500: 31Bây giờ bạn sẽ thấy trạng thái nếu bạn truy cập trang với các công cụ phát triển trình duyệt mở: Chúng ta có thể đặt 93 của một phản hồi: 32Chúng ta có thể buộc chuyển hướng 301: 33Chúng tôi có thể sử dụng các tiêu đề để nói với trình duyệt Bộ đệm bộ nhớ cache này, trang web của Don Don, trang này, và nhiều hơn nữa. Cách sử dụng cookie trong PHPCookies là một tính năng trình duyệt. Khi chúng tôi gửi phản hồi cho trình duyệt, chúng tôi có thể đặt cookie được lưu trữ bởi trình duyệt, phía máy khách. Sau đó, mọi yêu cầu mà trình duyệt thực hiện sẽ bao gồm cookie trở lại cho chúng tôi. Chúng ta có thể làm nhiều việc với cookie. Chúng chủ yếu được sử dụng để tạo ra trải nghiệm cá nhân hóa mà không cần phải đăng nhập vào dịch vụ. Điều quan trọng cần lưu ý là cookie là dành riêng cho miền, vì vậy chúng tôi chỉ có thể đọc cookie mà chúng tôi đặt trên miền hiện tại của ứng dụng, chứ không phải cookie ứng dụng khác. Nhưng JavaScript có thể đọc cookie (trừ khi chúng là cookie httponly nhưng chúng tôi bắt đầu đi vào một lỗ thỏ) vì vậy cookie không nên lưu trữ bất kỳ thông tin nhạy cảm nào. Chúng ta có thể sử dụng PHP để đọc giá trị của cookie tham khảo 94 Superglobal: 34Hàm 95 cho phép bạn đặt cookie: 35Chúng ta có thể thêm một tham số thứ ba để nói khi nào cookie sẽ hết hạn. Nếu bị bỏ qua, cookie sẽ hết hạn vào cuối phiên/Khi trình duyệt được đóng. Sử dụng mã này để làm cho cookie hết hạn trong 7 ngày: 36Chúng tôi chỉ có thể lưu trữ một lượng dữ liệu hạn chế trong cookie và người dùng có thể xóa phía máy khách cookie khi họ xóa dữ liệu trình duyệt. Ngoài ra, chúng dành riêng cho trình duyệt / thiết bị, vì vậy chúng tôi có thể đặt cookie trong trình duyệt của người dùng, nhưng nếu chúng thay đổi trình duyệt hoặc thiết bị, cookie sẽ không khả dụng. Hãy cùng làm một ví dụ đơn giản với biểu mẫu chúng tôi đã sử dụng trước đây. Chúng tôi sẽ lưu trữ tên được nhập dưới dạng cookie: 37Tôi đã thêm một số điều kiện để xử lý trường hợp cookie đã được đặt và để hiển thị tên ngay sau khi biểu mẫu được gửi, khi cookie chưa được đặt (nó sẽ chỉ được đặt cho yêu cầu HTTP tiếp theo). Nếu bạn mở các công cụ nhà phát triển trình duyệt, bạn sẽ thấy cookie trong tab lưu trữ. Từ đó bạn có thể kiểm tra giá trị của nó và xóa nó nếu bạn muốn. Cách sử dụng các phiên dựa trên cookie trong PHPMột trường hợp sử dụng rất thú vị cho cookie là các phiên dựa trên cookie. PHP cung cấp cho chúng tôi một cách rất dễ dàng để tạo một phiên dựa trên cookie bằng cách sử dụng 96.Thử thêm cái này: 38Trong một tệp PHP và tải nó trong trình duyệt. Bạn sẽ thấy một cookie mới được đặt tên theo mặc định 97 với giá trị được gán.Đó là ID phiên. Điều này sẽ được gửi cho mọi yêu cầu mới và PHP sẽ sử dụng điều đó để xác định phiên. Tương tự như cách chúng tôi sử dụng cookie, giờ đây chúng tôi có thể sử dụng 98 để lưu trữ thông tin được gửi bởi người dùng-nhưng lần này, nó không được lưu trữ phía máy khách.Chỉ có ID phiên là. Dữ liệu được lưu trữ phía máy chủ bởi PHP. 39 Điều này hoạt động cho các trường hợp sử dụng đơn giản, nhưng tất nhiên đối với dữ liệu chuyên sâu, bạn sẽ cần một cơ sở dữ liệu.This works for simple use cases, but of course for intensive data you will need a database. Để xóa dữ liệu phiên, bạn có thể gọi 99.Để xóa cookie phiên sử dụng: 40Cách làm việc với các tệp và thư mục trong PHPPHP là ngôn ngữ phía máy chủ và một trong những thứ tiện dụng mà nó cung cấp là truy cập vào hệ thống tập tin. Bạn có thể kiểm tra xem một tệp có tồn tại bằng 00 không: 41Nhận kích thước của một tệp bằng cách sử dụng 01: 42Bạn có thể mở một tệp bằng 02. Ở đây chúng tôi mở tệp 03 ở chế độ chỉ đọc và chúng tôi nhận được cái mà chúng tôi gọi là bộ mô tả tệp trong 04:read-only mode and we get what we call a file descriptor in 04: 43Chúng tôi có thể chấm dứt quyền truy cập tệp bằng cách gọi 05.Đọc nội dung của một tệp vào một biến như sau: 44 06 Kiểm tra xem chúng tôi đã đạt đến cuối tệp khi 07 đọc 5000 byte cùng một lúc.Bạn cũng có thể đọc một dòng tệp từng dòng bằng cách sử dụng 08: 45Để ghi vào một tệp, trước tiên bạn phải mở nó ở chế độ ghi, sau đó sử dụng 09:write mode, then use 09: 46Chúng ta có thể xóa một tệp bằng cách sử dụng 10: 47Đó là những điều cơ bản, nhưng tất nhiên có nhiều chức năng để làm việc với các tệp. PHP và cơ sở dữ liệuPHP cung cấp các thư viện tích hợp khác nhau để làm việc với cơ sở dữ liệu, ví dụ:
Tôi sẽ không bao gồm điều này trong Sổ tay bởi vì tôi nghĩ rằng đây là một chủ đề lớn và cũng sẽ yêu cầu bạn học SQL. Tôi cũng bị cám dỗ để nói rằng nếu bạn cần cơ sở dữ liệu, bạn nên sử dụng khung hoặc ORM sẽ giúp bạn tiết kiệm các vấn đề bảo mật với SQL tiêm. Laravel từ hùng hồn là một ví dụ tuyệt vời. Cách làm việc với JSON trong PHPJSON là một định dạng dữ liệu di động mà chúng tôi sử dụng để thể hiện dữ liệu và gửi dữ liệu từ máy khách đến máy chủ. Ở đây, một ví dụ về biểu diễn JSON của một đối tượng chứa một chuỗi và một số: 48PHP cung cấp cho chúng tôi hai chức năng tiện ích để làm việc với JSON:
Example: 49Cách gửi email với PHPMột trong những điều mà tôi thích về PHP là các tiện ích, như gửi email. Gửi email bằng 13: 50Để gửi email theo quy mô, chúng tôi có thể dựa vào giải pháp này, vì các email này có xu hướng đến thư mục spam thường xuyên hơn không. Nhưng để thử nghiệm nhanh, điều này chỉ hữu ích. Các thư viện như https://github.com/phpmailer/phpmailer sẽ rất hữu ích cho các nhu cầu vững chắc hơn, sử dụng máy chủ SMTP. Cách sử dụng nhà soạn nhạc và nhà đóng góiNhà soạn nhạc là người quản lý gói của PHP. Nó cho phép bạn dễ dàng cài đặt các gói vào các dự án của bạn. Cài đặt nó trên máy của bạn (Linux/Mac hoặc Windows) và một khi bạn đã hoàn thành, bạn nên có lệnh 14 có sẵn trên thiết bị đầu cuối của bạn.Bây giờ bên trong dự án của bạn, bạn có thể chạy 15 và nó sẽ được cài đặt cục bộ. Ví dụ: hãy cài đặt thư viện carbon giúp chúng tôi làm việc với ngày trong PHP 51Nó sẽ làm một số công việc: Sau khi hoàn thành, bạn sẽ tìm thấy một số điều mới trong thư mục 16 liệt kê cấu hình mới cho các phụ thuộc: 52 17 được sử dụng để khóa khóa các phiên bản của gói theo thời gian, do đó, cùng một cài đặt chính xác mà bạn có thể được sao chép trên một máy chủ khác. Thư mục 18 chứa thư viện vừa được cài đặt và các phụ thuộc của nó.Bây giờ trong tệp 61, chúng ta có thể thêm mã này ở đầu: 53Và sau đó chúng ta có thể sử dụng thư viện! 54See? Chúng tôi đã phải tải xuống thủ công một gói từ internet và cài đặt nó ở đâu đó ... tất cả đều nhanh chóng, nhanh chóng và được tổ chức tốt.See? We didn’t have to manually download a package from the internet and install it somewhere...it was all fast, quick, and well organized. Dòng 20 là những gì cho phép tự động tải. Bạn có nhớ khi chúng tôi nói về 21 và 22 không? Điều này giải quyết tất cả những điều đó - chúng tôi không cần phải tìm kiếm tệp theo cách thủ công để bao gồm, chúng tôi chỉ sử dụng từ khóa 23 để nhập thư viện vào mã của chúng tôi.autoloading. Remember when we talked about 21 and 22? This solves all of that – we don’t need to manually search for the file to include, we just use the 23 keyword to import the library into our code.Cách triển khai ứng dụng PHPKhi bạn đã có một ứng dụng sẵn sàng, đó là thời gian để triển khai nó và làm cho nó có thể truy cập được từ bất kỳ ai trên web. PHP là ngôn ngữ lập trình với câu chuyện triển khai tốt nhất trên web. Tin tôi đi, mọi ngôn ngữ lập trình và hệ sinh thái khác mong muốn chúng dễ dàng như PHP. Điều tuyệt vời về PHP, điều nó đã đúng và cho phép nó có được thành công đáng kinh ngạc mà nó đã có, là triển khai ngay lập tức. Bạn đặt một tệp PHP trên một thư mục được phục vụ bởi một máy chủ web và voilà - nó chỉ hoạt động. Không cần phải khởi động lại máy chủ, chạy thực thi, không có gì. Đây vẫn là điều mà rất nhiều người làm. Bạn nhận được một bản lưu trữ được chia sẻ với giá 3 đô la/tháng, tải lên các tệp của bạn qua FTP và bạn đã hoàn tất. Tuy nhiên, những ngày này, tôi nghĩ rằng Git Triển khai là một thứ nên được đưa vào mọi dự án và việc lưu trữ chia sẻ nên là một điều của quá khứ. Một giải pháp là luôn có VPS riêng của bạn (Máy chủ riêng ảo), bạn có thể nhận được từ các dịch vụ như DigitalOcean hoặc Linode. Nhưng quản lý VPS của riêng bạn không phải là trò đùa. Nó đòi hỏi kiến thức nghiêm túc và đầu tư thời gian, và bảo trì liên tục. Bạn cũng có thể sử dụng cái gọi là PaaS (nền tảng làm dịch vụ), là các nền tảng tập trung vào việc chăm sóc tất cả các công cụ nhàm chán (quản lý máy chủ) và bạn chỉ cần tải lên ứng dụng của mình và nó chạy. Các giải pháp như nền tảng ứng dụng DigitalOcean (khác với VPS DigitalOcean), Heroku và nhiều loại khác là tuyệt vời cho các thử nghiệm đầu tiên của bạn.DigitalOcean App Platform (which is different from a DigitalOcean VPS), Heroku, and many others are great for your first tests. Các dịch vụ này cho phép bạn kết nối tài khoản GitHub của mình và triển khai bất cứ khi nào bạn đẩy một thay đổi mới vào kho lưu trữ Git của mình. Bạn có thể học cách thiết lập Git và GitHub từ số 0 ở đây. Đây là một quy trình công việc tốt hơn nhiều so với tải lên FTP. Hãy để một ví dụ về xương trần. Tôi đã tạo một ứng dụng PHP đơn giản chỉ bằng một tệp 61: 55Tôi thêm thư mục chính vào ứng dụng GitHub Desktop của mình, tôi khởi tạo repo git và tôi đẩy nó vào github: Bây giờ đi trên DigitalOcean.com. Nếu bạn không có tài khoản, hãy sử dụng mã giới thiệu của tôi để đăng ký nhận khoản tín dụng miễn phí 100 đô la trong 60 ngày tới và bạn có thể làm việc trên ứng dụng PHP của mình miễn phí. Tôi kết nối với tài khoản DigitalOcean của mình và tôi truy cập ứng dụng → Tạo ứng dụng. Tôi kết nối tài khoản GitHub của mình và chọn repo của ứng dụng. Đảm bảo rằng Autodployploy đã được kiểm tra, vì vậy ứng dụng sẽ tự động triển khai lại các thay đổi: Nhấp vào Tiếp theo, sau đó chỉnh sửa kế hoạch: Theo mặc định, kế hoạch pro được chọn. Sử dụng cơ bản và chọn gói $ 5/tháng. Lưu ý rằng bạn trả 5 đô la mỗi tháng, nhưng thanh toán là mỗi giờ - vì vậy bạn có thể dừng ứng dụng bất cứ khi nào bạn muốn. Sau đó quay lại và nhấn vào tiếp theo cho đến khi nút tạo tài nguyên xuất hiện để tạo ứng dụng. Bạn không cần bất kỳ cơ sở dữ liệu nào, nếu không thì đó sẽ là 7 đô la/tháng nữa. Bây giờ hãy đợi cho đến khi triển khai đã sẵn sàng: Ứng dụng hiện đang hoạt động! Sự kết luậnBạn đã đạt đến phần cuối của Sổ tay PHP! Cảm ơn bạn đã đọc qua phần giới thiệu này về thế giới phát triển PHP tuyệt vời này. Tôi hy vọng nó sẽ giúp bạn có được công việc phát triển web của bạn, trở nên tốt hơn trong nghề của bạn và trao quyền cho bạn thực hiện ý tưởng lớn tiếp theo của bạn. Lưu ý: Bạn có thể nhận được phiên bản PDF, EPUB hoặc MOBI của Sổ tay này để tham khảo dễ dàng hơn hoặc để đọc trên Kindle hoặc Tablet của bạn. Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu |