Người mới bắt đầu có thể học php không?
Thống kê cho biết nó được sử dụng bởi 80% tất cả các trang web. Đó là 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 Show
And it also powers a lot of different frameworks that make Web Development easier, like Laravel. Speaking of Laravel, it may be one of the most compelling reasons to learn PHP these days Why Learn PHP?PHP is quite a polarizing language. Some people love it, and some people hate it. If we move a step above the emotions and look at the language as a tool, PHP has a lot to offer Sure it’s not perfect. But let me tell you – no language is In this handbook, I’m going to help you learn PHP This book is a perfect introduction if you’re new to the language. It’s also perfect if you’ve done “some PHP” in the past and you want to get back to it I’ll explain modern PHP, version 8+ PHP has evolved a lot in the last few years. So if the last time you tried it was PHP 5 or even PHP 4, you’ll be surprised at all the good things that PHP now offers Let’s go Here's what we'll cover in this handbook Note that you can get a PDF, ePub, or Mobi version of this handbook for easier reference, or for reading on your Kindle or tablet Introduction to PHPPHP is a programming language that many devs use to create Web Applications, among other things As a language, it had a humble beginning. It was first created in 1994 by Rasmus Lerdorf to build his personal website. He didn’t know at the time it would eventually become one of the most popular programming languages in the world. It became popular later on, in 1997/8, and exploded in the 2000s when PHP 4 landed You can use PHP to add a little interactivity to an HTML page Or you can use it as a Web Application engine that creates HTML pages dynamically and sends them to the browser It can scale to millions of page views Did you know Facebook is powered by PHP? Ever heard of Wikipedia? Slack? Etsy? What Kind of Language is PHP?Let’s get into some technical jargon Programming languages are divided into groups depending on their characteristics. For example interpreted/compiled, strongly/loosely typed, dynamically/statically typed PHP is often called a “scripting language” and it’s an interpreted 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 Those languages are compiled and the compiler generates an executable program that you then run. It’s a 2-steps process The PHP interpreter is responsible for interpreting the instructions written in a PHP program when it’s executed. It’s just one step. You tell the interpreter to run the program. It's a completely different workflow PHP is a dynamically 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. ) PHP is also loosely (weakly) typed. Compared to strongly typed languages like Swift, Go, C or Java, you don’t need to declare the types of your variables Being interpreted and loosely/dynamically typed will make bugs harder to find before they happen at runtime In compiled languages, you can often catch errors at compile time, something that does not happen in interpreted languages But on the other hand, an interpreted language has more flexibility Fun fact. PHP is written internally in C, a compiled and statically typed language In its nature, PHP is similar to JavaScript, another dynamically typed, loosely typed, and interpreted language PHP supports object-oriented programming, and also functional programming. You can use it as you prefer How to Setup PHPThere are many ways to install PHP on your local machine Cách thuận tiện nhất mà tôi 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. Đây là một gói cung cấp cho bạn tất cả các công cụ bạn cần để thiết lập và chạy PHP được điều hành bởi Máy chủ HTTP, chịu trách nhiệm trả lời các yêu cầu HTTP, những yêu cầu được tạo bởi trình duyệt. Vì vậy, bạn truy cập một URL bằng trình duyệt của mình, Chrome hoặc Firefox hoặc Safari 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, đồng thời cung cấp cho bạn một giao diện đẹp mắt để bắt đầu/dừng mọi thứ cùng một lúc Tất nhiên, bạn có thể tự thiết lập từng phần nếu muốn và nhiều hướng dẫn giải thích cách thực hiện điều đó. Nhưng tôi thích những công cụ đơn giản và thiết thực, 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 chưa cài đặt PHP và bạn muốn sử dụng MAMP, hãy truy cập https. //www. cái lược. thông tin 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 sau khi cài đặt xong, bạn sẽ cài đặt ứng dụng “MAMP” Bắt đầu và bạn sẽ thấy một cửa sổ tương tự như thế này Đảm bảo phiên bản PHP đã chọn là phiên bản mới nhất hiện có Tại thời điểm viết MAMP cho phép bạn chọn 8. 0. 8 GHI CHÚ. I noticed MAMP has a version that’s a bit behind, not the latest. You can install a more recent version of PHP by enabling the MAMP PRO Demo, then install the latest release from the MAMP PRO settings (in my case it was 8. 1. 0). Then close it and reopen MAMP (non-pro version). MAMP PRO has more features so you might want to use it, but it’s not necessary to follow this handbook Press the Start button at the top right. This will start the Apache HTTP server, with PHP enabled, and the MySQL database Go to the URL http. //localhost. 8888 and you will see a page similar to this We’re ready to write some PHP Open the folder listed as “Document root”. If you're using MAMP on a Mac it’s by default 59On Windows it’s 60Yours might be different depending on your configuration. Using MAMP you can find it in the user interface of the application In there, you will find a file named 61That is responsible for printing the page shown above How to Code Your First PHP ProgramWhen learning a new programming language we have this tradition of creating a “Hello, World. ” application. Something that prints those strings Make sure MAMP is running, and open the 62 folder as explained aboveOpen the 61 file in a code editorI recommend using VS Code, as it’s a very simple and powerful code editor. You can check out https. //flaviocopes. com/vscode/ for an introduction This is the code that generates the “Welcome to MAMP” page you saw in the browser Delete everything and replace it with
Save, refresh the page on http. //localhost. 8888, bạn nên xem cái này Tuyệt vời. Đó 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 đang lắng nghe trên cổng 64 trên máy chủ cục bộ, máy tính của bạnKhi chúng tôi truy cập http. //máy chủ cục bộ. 8888 với trình duyệt, chúng tôi đang 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ởTheo mặc định, Apache được định 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 đã định cấu hình Apache để hoạt động với PHP, sau đó nó sẽ tìm kiếm tệp 61Tệ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ó phần mở đầu 69, cho biết "ở đây bắt đầu một số mã PHP"Chúng ta có một kết thúc là 70 để đóng đoạn mã PHP và bên trong nó, chúng ta sử dụng lệnh 71 để in chuỗi được đặt trong dấu ngoặc kép vào HTMLDấu chấm phẩy là bắt buộc ở cuối mỗi câu lệnh Chúng ta có cấu trúc mở/đóng này vì chúng ta có thể nhúng PHP vào bên trong HTML. PHP là một ngôn ngữ kịch bản và mục tiêu của nó là có thể “trang trí” một trang HTML bằng 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 làm “khuôn khổ để 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 sẽ rấ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, những người nhìn vào trình duyệt và không biết gì về mã đằng sau hậu trường, không có sự khác biệt nào cả Trang này 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ổKhái niệm cơ bản về ngôn ngữ PHPSau “Xin chào thế giới” đầu tiên, đã đến lúc đ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 bằng ký hiệu đô la 73, theo sau là một mã định danh, là một tập hợp các ký tự chữ và số và dấu gạch dưới 74 ký tựBạn có thể gán cho một biến bất kỳ loại giá trị nào, chẳng hạn như chuỗi (được xác định bằng dấu ngoặc đơn hoặc dấu ngoặc kép)
Hoặc số
hoặc bất kỳ loại nào khác mà PHP cho phép, như sau này chúng ta sẽ thấy Khi một biến được gán một giá trị, chẳng hạn như một chuỗi, chúng ta có thể gán lại cho nó một loại giá trị khác, chẳng hạn như một số
PHP sẽ không phàn nàn rằng bây giờ kiểu đã khác Tên biến phân biệt chữ hoa chữ thường. 75 khác với 76Đó không phải là một quy tắc khó, nhưng tên biến thường được viết ở định dạng camelCase, như thế này. 77 hoặc 78. Chúng tôi giữ chữ cái đầu tiên viết thường và các chữ cái của các từ tiếp theo viết hoaCách viết bình luận trong PHPMộ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 bình luận một dòng trong PHP theo cách này
Nhận xét nhiều dòng được xác định 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 số cái khác cao cấp hơn How to Print the Value of a Variable in PHPChúng ta có thể sử dụng hàm có sẵn 86 để lấy giá trị của một biến
Lệnh 87 sẽ in trang 88, cho chúng ta biết biến là một chuỗi gồm 6 ký tựNếu chúng tôi sử dụng mã này
we’d have 89 back, saying the value is 20 and it’s an integer 86 is one of the essential tools in your PHP debugging tool beltHow Operators Work in PHPOnce you have a few variables you can make operations with them
The 91 I used to multiply $base by $height is the multiplication operatorWe have quite a few operators – so let’s do a quick roundup of the main ones To start with, here are the arithmetic operators. 92, 93, 91, 65 (division), 96 (remainder) and 97 (exponential)We have the assignment operator 98, which we already used to assign a value to a variableNext up we have comparison operators, like 99, 00, 01, 02. Those work like they do in math 0 03 returns true if the two operands are equal 04 returns true if the two operands are identicalWhat’s the difference? You’ll find it with experience, but for example 1We also have 05 to detect if operands are not equal 2and 06 to detect if operands are not identical 3Logical operators work with boolean values 4We also have the not operator 5I used the boolean values 07 and 08 here, but in practice you’ll use expressions that evaluate to either true or false, for example 6All of the operators listed above are binary, meaning they involve 2 operands PHP also has 2 unary operators. 09 and 10 7How to Work with Strings in PHPI introduced the use of strings before when we talked about variables and we defined a string using this notation 8The big difference between using single and double quotes is that with double quotes we can expand variables in this way 9and with double quotes we can use escape characters (think new lines 11 or tabs 12) 0PHP offers you a very comprehensive functions in its standard library (the library of functionalities that the language offers by default) First, we can concatenate two strings using the 13 operator 1We can check the length of a string using the 14 function 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 mã định danh (trong trường hợp này là ______18_______15) theo sau là dấu ngoặc đơn. Bên trong các dấu ngoặc đơn đó, chúng ta chuyển một hoặc nhiều đối số cho hàm. Trong trường hợp này, chúng ta có một đối số The function does something and when it’s done it can return a value. Trong trường hợp này, nó trả về số 16. Nếu không có giá trị nào được trả về, hàm sẽ trả về 85Chúng ta sẽ xem cách xác định các chức năng của riêng mình sau Chúng ta có thể lấy 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 hàm tích hợp sẵn mà bạn có thể sử dụng để làm việc với chuỗi Đây là một danh sách ngắn không toàn diệ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 số trong PHPTrước đây tôi đã liệt kê một số chức năng chúng ta thường sử dụng cho chuỗi Hãy tạo một danh sách các chức năng chúng tôi sử dụng với các số
Có rất nhiều hàm khác nhau cho tất cả các loại phép toán 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 Mảng hoạt động như thế nào trong PHPMảng là danh sách các giá trị được nhóm lại 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ể chứa các giá trị thuộc 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 cách sử dụng ký hiệu này 0Khi một mảng được tạo, bạn có thể nối thêm các giá trị vào nó theo cách này 1Thay vào đó, bạn có thể sử dụng 34 để thêm phần tử vào đầu mảng 2Đếm có bao nhiêu phần tử trong một mảng bằng cách 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 hay không bằng cách sử dụng hàm dựng sẵn 36 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 hàm hữu ích cho mảng trong PHPCũng như chuỗi và số, PHP cung cấp rất nhiều hàm rất hữu ích cho mảng. We’ve seen 35, 36, 37 – let’s see some more
How to Use Associative Arrays in PHPSo far we’ve used arrays with an incremental, numeric index. 0, 1, 2… You can also use arrays with named indexes (keys), and we call them associative arrays 6We have some functions that are especially useful for associative arrays
Bạn có thể xem tất cả các hàm liên quan đến mảng tại đây Cách đ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, 06. and so onThose operators are going to be super useful for one thing. điều kiện Điều kiện là cấu trúc điều khiển đầu tiên chúng ta thấy We can decide to do something, or something else, based on a comparison For example 7Mã bên trong dấu ngoặc đơn chỉ thực thi nếu điều kiện đánh giá là 07Sử dụng 76 để làm việc khác trong trường hợp điều kiện là 08 8GHI CHÚ. I used 78 instead of 79 because the single quote would terminate my string before it should. 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 xâu chuỗi bằng cách sử dụng 83 9In addition to 82, we have the 85 statementWe use this when we have a variable that could have a few different values, and we don’t have to have a long if / elseif block 0I know the example does not have any logic, but I think it can help you understand how 85 worksTuyên bố 87 sau mỗi trường hợp là cần thiết. If you don’t add that and the age is 17, you’d see this 1Thay vì chỉ cái này 2as you’d expect How Loops Work in PHPLoops are another super useful control structure We have a few different kinds of loops in PHP. 88, 89, 90 và 91Let’s see them all How to Use a $name = 'Flavio'; $name = "Flavio"; 88 loop in PHPVòng lặp 88 là vòng lặp đơn giản nhất. It keeps iterating while the condition evaluates to 07 3This would be an infinite loop, which is why we use variables and comparisons 4How to Use a $name = 'Flavio'; $name = "Flavio"; 89 loop in PHP 89 is similar, but slightly different in how the first iteration is performed 5Trong vòng lặp 89, đầu tiên chúng ta thực hiện lần lặp đầu tiên, sau đó chúng ta kiểm tra điều kiệnIn the 88 loop, first we check the condition, then we do the iterationDo a simple test by setting 99 to 15 in the above examples, and see what happensYou'll want to choose one kind of loop, or the other, depending on your use case Cách sử dụng Vòng lặp $name = 'Flavio'; $name = "Flavio"; 91 trong PHPYou can use the 91 loop to easily iterate over an array 6Bạn cũng có thể lấy 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 7How to Use a $name = 'Flavio'; $name = "Flavio"; 90 Loop in PHPVòng lặp 90 tương tự như vòng lặp while, 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ả được thực hiện ở dòng đầu tiên 8You can use the for loop to iterate over an array in this way 9Cách sử dụng các câu lệnh $age = 20; 04 và $age = 20; 05 trong PHPIn many cases you want the ability to stop a loop on demand For example you want to stop a 90 loop when the value of the variable in the array is 07 0This makes the loop completely stop at that point, and the program execution continues at the next instruction after the loop Nếu bạn chỉ muốn bỏ qua 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ế 1How Functions Work in PHPFunctions are one of the most important concepts in programming Bạn có thể sử dụng các hàm để nhóm nhiều hướng dẫn hoặc nhiều dòng mã lại với nhau và đặt tên cho chúng For example you can make a function that sends an email. Let’s call it 09, and we'll define it like this 2Và bạn có thể gọi nó ở bất kỳ nơi nào khác bằng cách sử dụng cú pháp này 3You can also pass arguments to a function. For example when you send an email, you want to send it to someone – so you add the email as the first argument 4Inside the function definition we get this parameter in this way (we call them parameters inside the function definition, and arguments when we call the function) 5You can send multiple arguments by separating them with commas 6Và chúng ta có thể lấy các tham số đó theo thứ tự chúng được xác định 7Chúng ta có thể tùy ý thiết lập loại tham số 8Parameters can have a default value, so if they are omitted we can still have a value for them 9Một hàm có thể trả về một giá trị. Chỉ một giá trị có thể được trả về từ một hàm, không nhiều hơn một. You do that using the 10 keyword. If omitted, the function returns 85The returned value is super useful as it tells you the result of the work done in the function, and lets you use its result after calling it 0Chúng ta có thể tùy ý đặt kiểu trả về của hàm bằng cú pháp này 1Khi bạn xác định một biến bên trong một hàm, biến đó là cục bộ của hàm, 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 tồn tại 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 Điều này thực thi một thực tiễn lập trình tốt vì chúng ta có thể chắc chắn rằng hàm không sửa đổi các biến bên ngoài và gây ra “tác dụng phụ” Instead you return a value from the function, and the outside code that calls the function will take responsibility for updating the outside variable Like this 3Bạn có thể chuyển giá trị của một biến bằng cách chuyển nó làm đối số cho hàm 4But you can’t modify that value from within the function Nó được truyền theo giá trị, có nghĩa là hàm nhận một bản sao của nó, không phải tham chiếu đến biến ban đầu That is still possible using this syntax (notice I used 12 in the parameter definition) 5The functions we've defined so far are named functions Họ có một cái tên We also have anonymous functions, which can be useful in a lot of cases They don’t have a name, per se, but they are assigned to a variable. Để gọi chúng, bạn gọi biến có dấu ngoặc đơn ở cuối 6Lưu ý rằng bạn cần có 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ị và tham số trả về Thật thú vị, chúng cung cấp một cách để truy cập một biến được định nghĩa bên ngoài hàm thông qua 13 7Một loại hàm khác là hàm mũi tên Hàm mũi tên là một hàm ẩn danh chỉ là 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 định nghĩa nó theo cách này 8Here’s an example 9Bạn có thể truyền tham số cho hàm mũi tên 0Lưu ý rằng như ví dụ tiếp theo cho thấy, 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 cực kỳ hữu ích khi bạn cần chuyển một hàm gọi lại. Chúng ta sẽ xem cách sử dụng chúng để thực hiện một số phép toán mảng sau Vì vậy, chúng tôi có tổng cộng 3 loại chức năng. named functions, anonymous functions, and arrow functions Mỗi người trong số họ đều có vị trí của nó và bạn sẽ học cách sử dụng chúng đúng cách theo thời gian, với sự luyện tập Cách lặp qua các mảng với Hello 56, Hello 57 và Hello 58 trong PHPAnother important set of looping structures, often used in functional programming, is the set of 46 / 47 / 453 hàm PHP tích hợp đó lấy một mảng và một hàm gọi lại trong mỗi lần lặp sẽ lấy từng 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 hàm gọi lại trên mỗi mục trong mảng 2 47 generates a new array by only getting the items whose callback function returns 07 3 45 is used to reduce an array to a single valueFor example we can use it to multiply all items in an array 4Lưu ý tham số cuối cùng - đó là 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 hiệu quả đối với ví dụ nhân của chúng taLưu ý rằng trong 46, thứ tự của các đối số bị đảo ngược. First you have the callback function and then the array. This is because we can pass multiple arrays using commas ( 27). Ideally we’d like more consistency, but that’s what it isLập trình hướng đối tượng trong PHPBây giờ chúng ta hãy nhảy đầu tiên vào một chủ đề lớn. object-oriented programming with 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 dễ hiểu và quản lý hơn 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 Lớp là bản thiết kế hoặc kiểu của đối tượng For example you have the class 28, defined in this way 5Lưu ý rằng lớp phải được định nghĩa bằng 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ể, riêng lẻ Một đối tượng được gán cho một biến và nó được khởi tạo bằ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 cho mỗi đối tượng một biến khác nhau 7How to Use Properties in PHPThose objects will all share the same characteristics defined by the class. Nhưng một khi chúng được khởi tạo, chúng sẽ có một cuộc sống của riêng chúng For example, a Dog has a name, an age, and a fur color So we can define those as properties in the class 8Chúng hoạt động giống như các biến, nhưng chúng được gắn vào đối tượng, sau khi nó được khởi tạo từ lớp. Từ khóa 30 là công cụ sửa đổi quyền truy cập và đặt thuộc tính ở chế độ có thể truy cập công khaiBạn có thể gán giá trị cho các thuộc tính đó theo cách này 9Lưu ý rằng tài sản được định nghĩa là 30That is called an access modifier. You can use two other kinds of access modifiers. 32 and 33. Private makes the property inaccessible from outside the object. Only methods defined inside the object can access itChúng ta sẽ thấy nhiều hơn về bảo vệ khi chúng ta nói về thừa kế Cách sử dụng các phương thức trong PHPDid I say method? What is a method? A method is a function defined inside the class, and it’s defined in this way 0Methods are very useful to attach a behavior to an object. In this case we can make a dog bark Notice that I use the 30 keyword. Điều đó có nghĩa là bạn có thể gọi một phương thức từ bên ngoài lớp. Like for properties, you can mark methods as 32 too, or 33, to restrict their accessYou invoke a method on the object instance like this 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ề Inside a method we can access the object’s properties using the special built-in 37 variable, which, when referenced inside a method, points to the current object instance 2Notice I used 38 to set and access the 75 property, and not 40Cách sử dụng Phương thức xây dựng trong PHPMột loại phương thức đặc biệt có tên 41 được gọi là hàm tạo 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ó sẽ tự động được gọi khi gọi 29 4This is such a common thing that PHP (starting in PHP 8) includes something called constructor promotion where it automatically does this thing 5By using the access modifier, the assignment from the parameter of the constructor to the local variable happens automatically 6Thuộc tính có thể được gõ You can require the name to be a string using 43 7Now all works fine in this example, but try changing that to 44 to require it to be an integerPHP will raise an error if you initialize 75 with a string 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à các loại khácKế thừa trong PHP là gì?Điều thú vị trong lập trình hướng đối tượng bắt đầu khi chúng ta 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 học 53 9Every animal has an age, and every animal can eat. Vì vậy, chúng tôi thêm thuộc tính 54 và phương thức 55 0Chó là một loài động vật và có tuổi và cũng có thể ăn, vì vậy lớp 28 – thay vì triển khai lại những thứ giống như 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 định nghĩa trong 53 2Trong trường hợp này, chúng ta gọi Dog là lớp con và Animal là lớp cha Inside the child class we can use 37 to reference any property or method defined in the parent, as if they were defined inside the child classĐiều đáng chú ý là mặc dù chúng ta có thể truy cập các thuộc tính và phương thức của cha mẹ từ con, nhưng chúng ta không thể làm ngược lại The parent class knows nothing about the child class $age = 20; 33 Thuộc tính và Phương thức trong PHPBây giờ chúng ta đã giới thiệu quyền thừa kế, chúng ta có thể thảo luận về 33. We already saw how we can use the 30 access modifier to set properties and methods callable from outside of a class, by the public 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 conCách ghi đè các phương thức trong PHPĐiều gì sẽ xảy ra nếu chúng tôi có một phương thức 55 trong 53 và chúng tôi muốn tùy chỉnh nó trong 28? 3Now any instance of 28 will use the 28's implementation of the 55 methodCác thuộc tính và phương thức tĩnh trong PHPChúng ta đã thấy cách định nghĩa các thuộc tính và phương thức thuộc thể hiện của một lớp, một đối tượng. Đôi khi, thật hữu ích khi gán chúng 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 chiếu hoặc gọi chúng, chúng tôi không cần tạo một đối tượng từ lớp Hãy bắt đầu với các thuộc tính tĩnh. We define them with the 72 keyword 4Chúng tôi tham khảo chúng từ bên trong lớp bằng cách sử dụng từ khóa 73, trỏ đến lớp 5và từ bên ngoài lớp sử dụng 6This is what happens for static methods 7Từ bên ngoài lớp học, chúng ta có thể gọi chúng theo cách này 8Từ bên trong lớp, chúng ta có thể tham chiếu chúng bằng cách sử dụng từ khóa 73, dùng để chỉ lớp hiện tại 9Cách so sánh các đối tượng trong PHPKhi chúng ta nói về các toán tử, tôi đã đề cập rằng chúng ta 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 nhau khôngSự khác biệt chủ yếu là ở chỗ 03 kiểm tra nội dung đối tượng, ví dụ chuỗi 78 bằng với số 79, nhưng nó không giống với nóWhen we use those operators to compare objects, 03 will check if the two objects have the same class and have the same values assigned to themMặt khác, 04 sẽ kiểm tra xem chúng có đề cập đến cùng một trường hợp (đối tượng) khôngFor example 00How to Iterate over Object Properties in 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 sao chép 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, 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 các tham chiếu – sẽ không có “nhân bản đệ quy” của chúng Để thực hiện một bản sao sâu, bạn sẽ cần thực hiện thêm một số công việc What are Magic Methods in PHP?Các phương thức ma thuật là các phương thức đặc biệt mà chúng ta định nghĩa 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 For example when a property is set, or accessed, or when the object is cloned We’ve seen 41 beforeĐó là một phương pháp kỳ diệu Co nhung nguoi khac. Ví dụ: chúng ta có thể đặt thuộc tính boolean "được nhân bản" thành true khi đối tượng được nhân bản 03Other magic methods include 85, 86, 87, 88, 89 and othersBạn có thể xem danh sách đầy đủ tại đây Cách bao gồm các tệp PHP khácBây giờ chúng ta đã nói xong về các tính năng hướng đối tượng của PHP Bây giờ chúng ta hãy khám phá một số chủ đề thú vị khác Bên trong 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ả đều được sử dụng cho trường hợp sử dụng này, nhưng chúng hơi khác nhau một chút. 90, 91, 92 và 93 90 loads the content of another PHP file, using a relative path 92 does the same, but if there’s any error doing so, the program halts. 90 sẽ chỉ tạo cảnh báoBạn có thể quyết định sử dụng cái này hay cái kia 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 không thể nhập tệp, hãy sử dụng 92 91 and 93 do the same thing as their corresponding functions without 00, but they make sure the file is included/required only once during the execution of the programThis is useful if, for example, you have multiple files loading some other file, and you typically want to avoid loading that more than once Nguyên tắc chung 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àySử dụng 91 khi bạn muốn tải tệp có điều kiện, ví dụ: “tải tệp này thay vì tệp đó”. Trong tất cả các trường hợp khác, hãy sử dụng 93Here’s an example 04Cú pháp trên bao gồm tệp 07 từ thư mục hiện tại, tệp chứa mã nàyBạn có thể sử dụng đường dẫn tương đối 05để đưa một tệp vào thư mục mẹ hoặc vào thư mục con 06You can use absolute paths 07In modern PHP codebases that use a framework, files are generally loaded automatically so you’ll have less need to use the above functions Useful Constants, Functions and Variables for Filesystem in PHPNói về đườ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 đường dẫn Bạn có thể lấy đường dẫn đầy đủ của tệp hiện tại bằng cách sử dụng
You can get the full path of the folder where the current file is using
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 ta là con người Chúng ta có thể quên một dấu chấm phẩy. Hoặc sử dụng sai tên biến. Hoặc truyền sai đối số cho một hàm Trong PHP chúng ta có
The first two are minor errors, and they do not stop the program execution. PHP sẽ in một tin nhắn, và thế là xong Errors terminate the execution of the program, and will print a message telling you why There are many different kinds of errors, like parse errors, runtime fatal errors, startup fatal errors, and more Tất cả đều là lỗi Tôi đã nói "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, việc ghi lỗi PHP trực tiếp vào trang Web là điều phổ biến, nhưng cũng có thể ghi vào nhật ký lỗi Bạn muốn thấy những lỗi đó càng sớm càng tốt, để bạn có thể sửa chúng Mặt khác, trong quá trình sản xuất, bạn không muốn hiển thị chúng trên trang Web, nhưng bạn vẫn muốn biết về chúng Vậy bạn làm gì? Tất cả điều này được quyết định trong cấu hình PHP Chúng ta chưa nói về điều này, nhưng có một tệp trong cấu hình máy chủ của bạn quyết định rất nhiều thứ về cách PHP chạy Nó được gọi là 17Vị trí chính xác của tệp này tùy thuộc vào thiết lập của bạn Để tìm ra đâu là 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í bên dưới “Tệp cấu hình đã tải” Trong trường hợp của tôi, đó là 18Lư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ấySử 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 đó vào 21. Trong đó, bạn sẽ tìm thấy tệp 17Mở tệp đó trong trình chỉnh sửa Nó chứa một danh sách cài đặt thực sự dài, với tài liệu nội tuyến tuyệt vời cho từng cài đặt Chúng tôi đặc biệt quan tâm đến 23Trong quá trình 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óiCác lỗi sẽ không hiển thị trên trang web nữa, 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àyTệ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 mìnhNhậ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 ra 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 09Người ta thường sử dụng dịch vụ ghi nhật ký để tìm lỗi, chẳng hạn như Monolog Cách xử lý ngoại lệ trong PHPĐôi khi sai sót 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ể suy nghĩ trước và viết mã có thể chặn lỗi và làm điều gì đó hợp lý khi điều này xảy ra. Như hiển thị thông báo lỗi hữu ích cho người dùng hoặc thử giải pháp thay thế Chúng tôi làm như vậy bằng cách sử dụng ngoại lệ Exceptions are used to make us, developers, aware of a problem Chúng tôi bọc một số mã có khả năng đưa ra một ngoại lệ vào khối 29 và chúng tôi có khối 30 ngay sau đó. That catch block will be executed if there’s an exception in the try block 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 xem một ví dụ Giả sử rằng tôi vô tình chia một số cho 0 12Điều này sẽ gây ra lỗi nghiêm trọng và chương trình bị tạm dừng trên dòng đó Kết thúc hoạt động trong 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 sự cố 13Tấ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 đề. Mỗi ngoại lệ có một lớp khác nhau. For example we can catch this as 34 and this lets me filter the possible problems and handle them differentlyI can have a catch-all for any throwable error at the end, like this 14Và tôi cũng có thể thêm một khối 35 vào 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 sự cố hoặc có một . 15Bạn có thể sử dụng các ngoại lệ tích hợp do PHP cung cấp nhưng bạn cũng có thể tạo các ngoại lệ của riêng mình. Cách làm việc với ngày tháng trong PHPLàm việc với ngày và giờ rất phổ biến trong lập trình. Hãy xem những gì PHP cung cấp Chúng tôi có thể lấy 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) sử dụng 36 16Khi bạn có dấu thời gian, bạn có thể định dạng ngày đó bằng cách sử dụng 37, theo định dạng bạn muốn 17 38 là đại diện gồm 4 chữ số của năm, 39 là số tháng (có số 0 đứng đầu) và 40 là số của ngày trong tháng, có số 0 đứng đầuXem danh sách đầy đủ các ký tự bạn có thể sử dụng để định dạng ngày tại đây Chúng tôi 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 thị 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 18nó khá linh hoạt Đối với ngày tháng, người ta thường 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 và Enum trong PHPChúng ta có thể định nghĩa các hằng số trong PHP bằng cách sử dụng hàm dựng sẵn 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 73 20Chúng tôi sử dụng định danh chữ hoa làm quy ước cho hằng số Thật thú vị, bên trong các lớp, chúng ta có thể định nghĩa các thuộc tính hằng bằng cách sử dụng từ khóa 45 21By default they are 30 but we can mark them as 32 or 33 22Enums cho phép bạn nhóm các hằng số dưới một “gốc” chung. For example you want to have a 49 enum that has 3 states. 50 51 52, 3 trạng thái trong một ngày của chóVì vậy, bạn có 23Bây giờ chúng ta có thể tham chiếu các hằng số đó theo cách này 24Enums là các đối tượng, chúng có thể có các phương thức và nhiều tính năng hơn chúng ta có thể tìm hiểu ở đâ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 nằm trong trang HTML, vì vậy PHP được sử dụng để “thêm” nội dung 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 PHPMột cách khác coi PHP giống như một công cụ chịu trách nhiệm tạo ra một “ứng dụng”. You don't write the HTML in a 53 file, but instead you use a templating language to generate the HTML, and everything is managed by what we call the frameworkĐây là điều xảy ra khi bạn sử dụng một framework hiện đại như Laravel Tôi sẽ coi cách đầu tiên là hơi “lỗi mốt” ngày nay, và nếu bạn 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 nên cân nhắc 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 bạn dễ dàng xây dựng một ứng dụng an toàn hơn. Và họ làm cho tất cả phát triển nhanh hơn Điều đó nói rằng, chúng ta sẽ không nói về việc sử dụng các khuôn khổ trong sổ tay này. Nhưng tôi sẽ nói về các khối xây dựng cơ bản, nền tảng của PHP. Chúng là những điều 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 việc của framework yêu thích của mình thay vì các tính năng cấp thấp hơn do PHP cung cấp Tất nhiên, điều này không chỉ áp dụng cho PHP – đó là một “vấn đề” 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à tệp đó phản hồi trên đường dẫn 65Chúng tôi đã thấy điều đó khi chúng tôi tạo ví dụ Hello World ngay từ đầu Tương tự, bạn có thể tạo một tệp 07 và tự động đó sẽ là tệp mà Apache phục vụ trên tuyến đường 58Cách sử dụng $name = 3; 59, $name = 3; 60 và $name = 3; 61 trong PHPCác tệp phản hồ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 cách sử dụ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ôiTất nhiên, điều này 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 Đối với các yêu cầu POST, PUT và DELETE, nhiều khả năng bạn sẽ 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 cung cấp cho bạn bằng cách sử dụng 60Ngoài ra còn có 61 chứa tất cả 59 và 60 được kết hợp trong một biến duy nhấtCách sử dụng đối tượng $name = 3; 10 trong PHPChúng tôi cũng có biến siêu toàn cầu 10, mà bạn sử dụng để nhận được nhiều thông tin hữu íchBạn đã thấy cách sử dụng 19 trước đây. Hãy sử dụng lại để xem $_SERVER cung cấp cho chúng ta những gìTrong tệp 61 của bạn trong thư mục gốc của MAMP chạy 08Sau đó tạo trang tại localhost. 8888 và tìm kiếm 10. Bạn sẽ thấy tất cả cấu hình được lưu trữ và các giá trị được gánNhững cái quan trọng bạn có thể sử dụng là
Cách sử dụng biểu mẫu trong PHPBiể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 biểu mẫu đơn giản trong HTML 26Bạn có thể đặt cái này vào tệp 61 của mình giống như nó được gọi là 66Một tệp PHP giả định rằng bạn viết HTML trong đó bằng một số “PHP rắc” bằng cách sử dụng 83 để Máy chủ Web có thể đăng tệp đó lên máy khách. Đôi khi, phần PHP chiếm toàn bộ trang và đó là khi bạn tạo tất cả HTML thông qua PHP – nó ngược lại với cách tiếp cận mà chúng tôi đang thực hiện ở đâyVì vậy, chúng tôi có tệp 61 tạo biểu mẫu này bằng cách sử dụng HTML đơn giảnNhấn nút Gửi sẽ tạo yêu cầu GET tới 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=kiểm tra Chúng ta có thể thêm một số mã để kiểm tra xem tham số đó có được đặt hay không bằng cách sử dụng hàm 85 27Thấy chưa? . Những gì bạn thường làm với các biểu mẫu, mặc dù bạn thực hiện một yêu cầu POST 28Thấy chưa, bây giờ chúng ta đã 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 đang sử dụng 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 sẽ vẫn 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 đang bậtChúng tôi đang trộn một loạt mã và chúng tôi có thể tách trình xử lý yêu cầu biểu mẫu khỏi mã tạo biểu mẫu So we can have this in 61 29và chúng tôi có thể tạo một tệp 89 mới với 30PHP sẽ hiển thị nội dung này ngay bây giờ sau khi chúng tôi gửi biểu mẫu, bởi vì chúng tôi đã đặt thuộc tính HTML 90 trên biểu mẫuVí dụ này rất đơn giản, nhưng tệp 89 là nơi chúng tôi có thể lưu dữ liệu vào cơ sở dữ liệu hoặc tệp chẳng hạnCách sử dụng tiêu đề HTTP trong PHPPHP cho phép chúng tôi đặt tiêu đề HTTP của phản hồi thông qua hàm 92Tiêu đề HTTP là một cách để gửi thông tin trở lại trình duyệt Chúng tôi có thể nói rằng trang tạo ra 500 Internal Server Error 31Bây giờ bạn sẽ thấy trạng thái nếu bạn truy cập trang bằng Công cụ dành cho nhà phát triển trình duyệt đang mở Chúng tôi có thể đặt 93 của phản hồi 32Chúng tôi có thể buộc chuyển hướng 301 33Chúng ta có thể sử dụng các tiêu đề để nói với trình duyệt “lưu trang này vào bộ đệm”, “không lưu trang này vào bộ đệm”, v.v. Cách sử dụng cookie trong PHPCookie là một tính năng của trình duyệt Khi chúng tôi gửi phản hồi tới trình duyệt, chúng tôi có thể đặt cookie sẽ đượ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 đưa ra sẽ gửi lại cookie cho chúng tôi Chúng ta có thể làm nhiều thứ với cookie. Chúng chủ yếu được sử dụng để tạo trải nghiệm cá nhân hóa mà bạn 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 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 của mình, chứ không phải cookie của ứ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 đang bắt đầu đi vào lỗ thỏ) vì vậy cookie không được 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 một cookie tham chiếu đến siêu toàn cầu 94 34Hàm 95 cho phép bạn đặt cookie 35Chúng tôi có thể thêm một tham số thứ ba để nói khi nào cookie sẽ hết hạn. Nếu bỏ qua, cookie sẽ hết hạn vào cuối phiên/khi đóng trình duyệt Sử dụng mã này để làm cho cookie hết hạn sau 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 cookie phía máy khách 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 họ thay đổi trình duyệt hoặc thiết bị, thì cookie sẽ không khả dụng Hãy làm một ví dụ đơn giản với biểu mẫu chúng ta đã sử dụng trước đây. Chúng tôi sẽ lưu trữ tên đã 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ông cụ dành cho 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 muốn Cách sử dụng Phiên dựa trên cookie trong PHPMột trường hợp sử dụng cookie rất thú vị 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 phiên dựa trên cookie bằng cách sử dụng 96Hãy 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ên mặc định là 97 với một giá trị được chỉ địnhĐó 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 do người dùng gửi – nhưng lần này nó không được lưu trữ phía máy kháchChỉ 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 phù hợp với 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 cơ sở dữ liệu. Để xóa dữ liệu phiên, bạn có thể gọi 99Để xóa sử dụng cookie phiên 40Cách làm việc với tệp và thư mục trong PHPPHP là ngôn ngữ phía máy chủ và một trong những tiện ích mà nó cung cấp là quyền truy cập vào hệ thống tệp Bạn có thể kiểm tra xem tệp có tồn tại hay không bằng cách sử dụng 00 41Nhận kích thước của tệp bằng cách sử dụng 01 42Bạn có thể mở tệp bằng cách sử dụ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 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 thành một biến như thế này 44 06 kiểm tra xem chúng tôi chưa đến cuối tệp vì 07 đọc 5000 byte mỗi lầnBạn cũng có thể đọc từng dòng tệp bằng cách sử dụng 08 45To write to a file you must first open it in write mode, then use 09 46Chúng tôi 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 hơn để làm việc với các tệp PHP và cơ sở dữ liệuVí dụ, PHP cung cấp nhiều thư viện tích hợp khác nhau để làm việc với cơ sở dữ liệu
Tôi sẽ không trình bày vấn đề này trong sổ tay vì tôi nghĩ đây là một chủ đề lớn và cũng là chủ đề yêu cầu bạn phải học SQL Tôi cũng muốn nói rằng nếu bạn cần một cơ sở dữ liệu, bạn nên sử dụng một khung hoặc ORM sẽ giúp bạn tránh các vấn đề bảo mật với SQL injection. Eloquent của Laravel là một ví dụ tuyệt vời Cách làm việc với JSON trong PHPJSON là định dạng dữ liệu di động mà chúng tôi sử dụng để biểu diễn dữ liệu và gửi dữ liệu từ máy khách đến máy chủ Đây là 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 ta hai hàm tiện ích để làm việc với JSON
Thí dụ 49Cách gửi email bằng PHPMột trong những điều mà tôi thích về PHP là sự tiện lợi, như gửi email Gửi email bằng cách sử dụng 13 50Để gửi email trên quy mô lớn, chúng tôi không thể dựa vào giải pháp này vì những email này có xu hướng đến thư mục thư rác thường xuyên hơn không. Nhưng để kiểm tra nhanh, điều này chỉ hữu ích Các thư viện như https. //github. com/PHPMailer/PHPMailer sẽ cực kỳ 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 Composer và PackagistComposer là trình 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 dự án của mình Cài đặt nó trên máy của bạn ( hoặc ) và sau khi hoàn tất, bạn sẽ có sẵn lệnh 14 trên thiết bị đầu cuối của mìnhBâ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 ta làm việc với ngày tháng trong PHP 51Nó sẽ làm một số công việc Sau khi hoàn tất, bạn sẽ tìm thấy một số thứ mới trong thư mục 16 liệt kê cấu hình mới cho các phần phụ thuộc 52 17 được sử dụng để “khóa” các phiên bản của gói kịp thời, do đó, bản cài đặt chính xác mà bạn có 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à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 vào đầu 53và sau đó chúng ta có thể sử dụng thư viện 54See? We didn’t have to manually download a package from the internet and install it somewhere. tất cả đều nhanh chóng, nhanh chóng và được tổ chức tốt. Dòng 20 là thứ cho phép tự động tải. Bạn có nhớ khi chúng ta nói về 21 và 22 không? Cách triển khai một ứng dụng PHPKhi bạn đã có một ứng dụng sẵn sàng, đã đến lúc 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 có 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 đều mong muốn chúng dễ dàng như PHP Điều tuyệt vời về PHP, điều mà nó đã làm đúng và cho phép nó đạt được thành công ngoài sức tưởng tượng, đó là khả năng triển khai ngay lập tức. Bạn đặt một tệp PHP vào một thư mục được cung cấp bởi máy chủ Web và thì đấy – nó chỉ hoạt động Không cần khởi động lại máy chủ, chạy tệp 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 dịch vụ lưu trữ chia sẻ với giá $3/tháng, tải tệp lên qua FTP và bạn đã hoàn tất Tuy nhiên, ngày nay, tôi nghĩ triển khai Git là thứ nên được đưa vào mọi dự án và lưu trữ chia sẻ sẽ là dĩ vãng Một giải pháp là luôn có VPS riêng (Máy chủ riêng ảo) mà 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 chuyện đù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 (Platform as a Service), là nền tảng tập trung vào việc xử lý tất cả những thứ nhàm chán (quản lý máy chủ) và bạn chỉ cần tải ứng dụng của mình lên và ứng dụng sẽ 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 giải pháp khác rất phù hợp cho các thử nghiệm đầu tiên của bạn 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ể tìm hiểu cách thiết lập Git và GitHub từ con số 0 tại đây Đây là quy trình công việc tốt hơn nhiều so với tải lên FTP Hãy làm một ví dụ về xương trần Tôi đã tạo một ứng dụng PHP đơn giản chỉ với một tệp 61 55Tôi thêm thư mục mẹ vào ứng dụng GitHub Desktop của mình, tôi khởi tạo repo Git và đẩy nó lên GitHub Bây giờ hãy vào Digitalocean. com Nếu bạn chưa có tài khoản, hãy sử dụng mã giới thiệu của tôi để đăng ký, nhận 100 đô la tín dụng miễn phí trong 60 ngày tới và bạn có thể làm việc miễn phí trên ứng dụng PHP của mình Tôi kết nối với tài khoản DigitalOcean của mình và tôi đi tới Ứ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 cho ứng dụng của mình Đảm bảo “Tự động triển khai” được chọn để ứng dụng sẽ tự động triển khai lại khi có thay đổi Nhấp vào “Tiếp theo” rồi Chỉnh sửa Kế hoạch Theo mặc định, gói 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 tính phí theo giờ – vì vậy bạn có thể dừng ứng dụng bất kỳ lúc nào bạn muốn Sau đó quay lại và nhấn “Tiếp theo” cho đến khi xuất hiện nút “Tạo tài nguyê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 khác Bây giờ hãy đợi cho đến khi triển khai sẵn sàng Ứng dụng hiện đã hoạt động Phần kết luậnBạn đã đọc đến phần cuối của Cẩm nang 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. Tôi hy vọng nó sẽ giúp bạn có được công việc phát triển web, trở nên giỏi 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 mình Ghi chú. bạn có thể lấy 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 máy tính bảng của bạn QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Đọc thêm bài viết Nếu bài viết này hữu ích, hãy tweet nó Học cách viết mã miễn phí. Chương trình giảng dạy mã 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. Get started Học PHP cho người mới bắt đầu có dễ không?Thêm vào đó, PHP rất dễ học . Cú pháp của nó tương tự như HTML và thậm chí sử dụng một số HTML nhúng trong mã của nó. Vì bạn có thể tái sử dụng các khối mã và chức năng tích hợp, PHP là một trong những ngôn ngữ lập trình đơn giản nhất.
Tôi có thể tự học PHP không?Bạn có thể bắt đầu học PHP trực tuyến, vì vậy bạn sẽ có thể quản lý thời gian của mình theo cách bạn muốn mà không phải chịu bất kỳ nghĩa vụ nào. Có rất nhiều khóa học và hướng dẫn trực tuyến hữu ích mà bạn nên thử và cải thiện kỹ năng của mình về PHP. Ngoài ra, hãy nhớ rằng bạn cần phải thực hành rất nhiều, vì vậy đừng trốn tránh các bài tập thực hành.
PHP khó học như thế nào?Nhìn chung, PHP được đánh giá là ngôn ngữ lập trình dễ học đối với những người mới bắt đầu học lập trình. Như với bất kỳ ngôn ngữ lập trình nào, PHP có các quy tắc viết mã, viết tắt và thuật toán. Học PHP sẽ dễ hay khó tùy thuộc vào cách bạn tiếp cận việc học ngôn ngữ này .
Is PHP easy to learn than Python?Cú pháp của một ngôn ngữ xác định khả năng đọc và dễ viết của ngôn ngữ đó, và về mặt cú pháp, Python đơn giản và dễ đọc hơn nhiều vì nó rất giống với ngôn ngữ tiếng Anh, trong khi PHP has a wide range of conventions which makes it less easy to understand. |