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
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 PHP
PHP 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 PHP
There 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
Hello
59On Windows it’s
Hello
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
Hello
61That is responsible for printing the page shown above
How to Code Your First PHP Program
When 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
Hello
62 folder as explained aboveOpen the
Hello
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
Hello
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
Hello
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
Hello
66 có trong thư mục Hello
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 Hello
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
Hello
69, cho biết "ở đây bắt đầu một số mã PHP"Chúng ta có một kết thúc là
Hello
70 để đóng đoạn mã PHP và bên trong nó, chúng ta sử dụng lệnh Hello
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
Hello
Đố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
Hello
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ữ PHP
Sau “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 PHP
Các biến trong PHP bắt đầu bằng ký hiệu đô la
Hello
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 Hello
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]
$name = 'Flavio';
$name = "Flavio";
Hoặc số
$age = 20;
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ố
$name = 3;
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.
Hello
75 khác với Hello
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.
Hello
77 hoặc Hello
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 PHP
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 bình luận một dòng trong PHP theo cách này
// single line comment
Nhận xét nhiều dòng được xác định theo cách này
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
Các loại trong PHP là gì?
Tôi đã đề cập đến chuỗi và số
PHP có các loại sau
79 giá trị boolean [true/false]Hello
80 số nguyên [không có số thập phân]Hello
81 số dấu phẩy động [số thập phân]Hello
82 stringsHello
83 arraysHello
84 đối tượngHello
85 một giá trị có nghĩa là "không có giá trị nào được chỉ định"Hello
và một số cái khác cao cấp hơn
How to Print the Value of a Variable in PHP
Chúng ta có thể sử dụng hàm có sẵn
Hello
86 để lấy giá trị của một biến$name = 'Flavio';
var_dump[$name];
Lệnh
Hello
87 sẽ in trang Hello
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
$age = 20;
var_dump[$age];
we’d have
Hello
89 back, saying the value is 20 and it’s an integerHello
86 is one of the essential tools in your PHP debugging tool beltHow Operators Work in PHP
Once you have a few variables you can make operations with them
$base = 20;
$height = 10;
$area = $base * $height;
The
Hello
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.
Hello
92, Hello
93, Hello
91, Hello
65 [division], Hello
96 [remainder] and Hello
97 [exponential]We have the assignment operator
Hello
98, which we already used to assign a value to a variableNext up we have comparison operators, like
Hello
99, $name = 'Flavio';
$name = "Flavio";
00, $name = 'Flavio';
$name = "Flavio";
01, $name = 'Flavio';
$name = "Flavio";
02. Those work like they do in mathHello
0$name = 'Flavio';
$name = "Flavio";
03 returns true if the two operands are equal$name = 'Flavio';
$name = "Flavio";
04 returns true if the two operands are identicalWhat’s the difference?
You’ll find it with experience, but for example
Hello
1We also have
$name = 'Flavio';
$name = "Flavio";
05 to detect if operands are not equalHello
2and
$name = 'Flavio';
$name = "Flavio";
06 to detect if operands are not identicalHello
3Logical operators work with boolean values
Hello
4We also have the not operator
Hello
5I used the boolean values
$name = 'Flavio';
$name = "Flavio";
07 and $name = 'Flavio';
$name = "Flavio";
08 here, but in practice you’ll use expressions that evaluate to either true or false, for exampleHello
6All of the operators listed above are binary, meaning they involve 2 operands
PHP also has 2 unary operators.
$name = 'Flavio';
$name = "Flavio";
09 and $name = 'Flavio';
$name = "Flavio";
10Hello
7How to Work with Strings in PHP
I introduced the use of strings before when we talked about variables and we defined a string using this notation
Hello
8The big difference between using single and double quotes is that with double quotes we can expand variables in this way
Hello
9and with double quotes we can use escape characters [think new lines
$name = 'Flavio';
$name = "Flavio";
11 or tabs $name = 'Flavio';
$name = "Flavio";
12]$name = 'Flavio';
$name = "Flavio";
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
$name = 'Flavio';
$name = "Flavio";
13 operator$name = 'Flavio';
$name = "Flavio";
1We can check the length of a string using the
$name = 'Flavio';
$name = "Flavio";
14 function$name = 'Flavio';
$name = "Flavio";
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ố
$name = 'Flavio';
$name = "Flavio";
16. Nếu không có giá trị nào được trả về, hàm sẽ trả về Hello
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
$name = 'Flavio';
$name = "Flavio";
18$name = 'Flavio';
$name = "Flavio";
3Chúng ta có thể thay thế một phần của chuỗi bằng cách sử dụng
$name = 'Flavio';
$name = "Flavio";
19$name = 'Flavio';
$name = "Flavio";
4Tất nhiên chúng ta có thể gán kết quả cho một biến mới
$name = 'Flavio';
$name = "Flavio";
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
20 dải khoảng trắng ở đầu và cuối chuỗi$name = 'Flavio'; $name = "Flavio";
21 tạo thành một chuỗi chữ hoa$name = 'Flavio'; $name = "Flavio";
22 tạo thành một chuỗi chữ thường$name = 'Flavio'; $name = "Flavio";
23 viết hoa ký tự đầu tiên$name = 'Flavio'; $name = "Flavio";
24 tìm sự xuất hiện đầu tiên của chuỗi con trong chuỗi$name = 'Flavio'; $name = "Flavio";
25 để tách một chuỗi thành một mảng$name = 'Flavio'; $name = "Flavio";
26 để nối các phần tử mảng trong một chuỗi$name = 'Flavio'; $name = "Flavio";
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 PHP
Trướ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ố
27 để làm tròn số thập phân, lên/xuống tùy thuộc vào giá trị có > 0 không. 5 hoặc nhỏ hơn$name = 'Flavio'; $name = "Flavio";
28 để làm tròn một số thập phân lên$name = 'Flavio'; $name = "Flavio";
29 để làm tròn số thập phân xuống$name = 'Flavio'; $name = "Flavio";
30 tạo ra một số nguyên ngẫu nhiên$name = 'Flavio'; $name = "Flavio";
31 tìm số thấp nhất trong các số được truyền dưới dạng đối số$name = 'Flavio'; $name = "Flavio";
32 tìm số cao nhất trong các số được truyền dưới dạng đối số$name = 'Flavio'; $name = "Flavio";
33 trả về true nếu số không phải là số$name = 'Flavio'; $name = "Flavio";
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 PHP
Mả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
$name = 'Flavio';
$name = "Flavio";
6Một mảng có thể được khởi tạo với các giá trị
$name = 'Flavio';
$name = "Flavio";
7Mảng có thể chứa các giá trị thuộc bất kỳ loại nào
$name = 'Flavio';
$name = "Flavio";
8Ngay cả các mảng khác
$name = 'Flavio';
$name = "Flavio";
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
$age = 20;
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
$age = 20;
1Thay vào đó, bạn có thể sử dụng
$name = 'Flavio';
$name = "Flavio";
34 để thêm phần tử vào đầu mảng$age = 20;
2Đếm có bao nhiêu phần tử trong một mảng bằng cách sử dụng hàm
$name = 'Flavio';
$name = "Flavio";
35 tích hợp$age = 20;
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
$name = 'Flavio';
$name = "Flavio";
36$age = 20;
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
$name = 'Flavio';
$name = "Flavio";
37$age = 20;
5Các hàm hữu ích cho mảng trong PHP
Cũ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
$name = 'Flavio';
$name = "Flavio";
35, $name = 'Flavio';
$name = "Flavio";
36, $name = 'Flavio';
$name = "Flavio";
37 – let’s see some more
41 để kiểm tra xem một biến có phải là một mảng không$name = 'Flavio'; $name = "Flavio";
42 để xóa các giá trị trùng lặp khỏi một mảng$name = 'Flavio'; $name = "Flavio";
37 để tìm kiếm một giá trị trong mảng và trả về khóa$name = 'Flavio'; $name = "Flavio";
44 để đảo ngược một mảng$name = 'Flavio'; $name = "Flavio";
45 để giảm một mảng thành một giá trị bằng cách sử dụng hàm gọi lại$name = 'Flavio'; $name = "Flavio";
46 để áp dụng hàm gọi lại cho từng mục trong mảng. Thường được sử dụng để tạo một mảng mới bằng cách sửa đổi các giá trị của một mảng hiện có mà không thay đổi nó$name = 'Flavio'; $name = "Flavio";
47 để lọc một mảng thành một giá trị bằng hàm gọi lại$name = 'Flavio'; $name = "Flavio";
32 để lấy giá trị lớn nhất có trong mảng$name = 'Flavio'; $name = "Flavio";
31 to get the minimum value contained in the array$name = 'Flavio'; $name = "Flavio";
50 để lấy một mục ngẫu nhiên từ mảng$name = 'Flavio'; $name = "Flavio";
51 để đếm tất cả các giá trị trong mảng$name = 'Flavio'; $name = "Flavio";
26 to turn an array into a string$name = 'Flavio'; $name = "Flavio";
53 to remove the last item of the array and return its value$name = 'Flavio'; $name = "Flavio";
54 same as$name = 'Flavio'; $name = "Flavio";
53 but removes the first item instead of the last$name = 'Flavio'; $name = "Flavio";
56 to sort an array$name = 'Flavio'; $name = "Flavio";
57 để sắp xếp một mảng theo thứ tự đảo ngược$name = 'Flavio'; $name = "Flavio";
58 similarly to$name = 'Flavio'; $name = "Flavio";
46 does something for every item in the array, but in addition it can change values in the existing array$name = 'Flavio'; $name = "Flavio";
How to Use Associative Arrays in PHP
So 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
$age = 20;
6We have some functions that are especially useful for associative arrays
60 to check if a key exists in the array$name = 'Flavio'; $name = "Flavio";
61 to get all the keys from the array$name = 'Flavio'; $name = "Flavio";
62 để lấy tất cả các giá trị từ mảng$name = 'Flavio'; $name = "Flavio";
63 để sắp xếp một mảng kết hợp theo giá trị$name = 'Flavio'; $name = "Flavio";
64 to sort an associative array in descending order by value$name = 'Flavio'; $name = "Flavio";
65 to sort an associative array by key$name = 'Flavio'; $name = "Flavio";
66 để sắp xếp một mảng kết hợp theo thứ tự giảm dần theo khóa$name = 'Flavio'; $name = "Flavio";
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 PHP
Trước đây tôi đã giới thiệu các toán tử so sánh.
Hello
99, $name = 'Flavio';
$name = "Flavio";
00, $name = 'Flavio';
$name = "Flavio";
01, $name = 'Flavio';
$name = "Flavio";
02, $name = 'Flavio';
$name = "Flavio";
03, $name = 'Flavio';
$name = "Flavio";
04 , $name = 'Flavio';
$name = "Flavio";
05, $name = 'Flavio';
$name = "Flavio";
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
$age = 20;
7Mã bên trong dấu ngoặc đơn chỉ thực thi nếu điều kiện đánh giá là
$name = 'Flavio';
$name = "Flavio";
07Sử dụng
$name = 'Flavio';
$name = "Flavio";
76 để làm việc khác trong trường hợp điều kiện là $name = 'Flavio';
$name = "Flavio";
08$age = 20;
8GHI CHÚ. I used
$name = 'Flavio';
$name = "Flavio";
78 instead of $name = 'Flavio';
$name = "Flavio";
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 $name = 'Flavio';
$name = "Flavio";
80 theo cách này. $name = 'Flavio';
$name = "Flavio";
81Bạn có thể có nhiều câu lệnh
$name = 'Flavio';
$name = "Flavio";
82 được xâu chuỗi bằng cách sử dụng $name = 'Flavio';
$name = "Flavio";
83$age = 20;
9In addition to
$name = 'Flavio';
$name = "Flavio";
82, we have the $name = 'Flavio';
$name = "Flavio";
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
$name = 3;
0I know the example does not have any logic, but I think it can help you understand how
$name = 'Flavio';
$name = "Flavio";
85 worksTuyên bố
$name = 'Flavio';
$name = "Flavio";
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$name = 3;
1Thay vì chỉ cái này
$name = 3;
2as you’d expect
How Loops Work in PHP
Loops are another super useful control structure
We have a few different kinds of loops in PHP.
$name = 'Flavio';
$name = "Flavio";
88, $name = 'Flavio';
$name = "Flavio";
89, $name = 'Flavio';
$name = "Flavio";
90 và $name = 'Flavio';
$name = "Flavio";
91Let’s see them all
How to Use a $name = 'Flavio';
$name = "Flavio";
88 loop in PHP
$name = 'Flavio';
$name = "Flavio";
Vòng lặp
$name = 'Flavio';
$name = "Flavio";
88 là vòng lặp đơn giản nhất. It keeps iterating while the condition evaluates to $name = 'Flavio';
$name = "Flavio";
07$name = 3;
3This would be an infinite loop, which is why we use variables and comparisons
$name = 3;
4How to Use a $name = 'Flavio';
$name = "Flavio";
89 loop in PHP
$name = 'Flavio';
$name = "Flavio";
$name = 'Flavio';
$name = "Flavio";
89 is similar, but slightly different in how the first iteration is performed$name = 3;
5Trong vòng lặp
$name = 'Flavio';
$name = "Flavio";
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
$name = 'Flavio';
$name = "Flavio";
88 loop, first we check the condition, then we do the iterationDo a simple test by setting
$name = 'Flavio';
$name = "Flavio";
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 PHP
$name = 'Flavio';
$name = "Flavio";
You can use the
$name = 'Flavio';
$name = "Flavio";
91 loop to easily iterate over an array$name = 3;
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
$name = 3;
7How to Use a $name = 'Flavio';
$name = "Flavio";
90 Loop in PHP
$name = 'Flavio';
$name = "Flavio";
Vòng lặp
$name = 'Flavio';
$name = "Flavio";
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$name = 3;
8You can use the for loop to iterate over an array in this way
$name = 3;
9Cách sử dụng các câu lệnh $age = 20;
04 và $age = 20;
05 trong PHP
$age = 20;
$age = 20;
In many cases you want the ability to stop a loop on demand
For example you want to stop a
$name = 'Flavio';
$name = "Flavio";
90 loop when the value of the variable in the array is $age = 20;
07// single line comment
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
$age = 20;
05 để thay thế// single line comment
1How Functions Work in PHP
Functions 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
$age = 20;
09, and we'll define it like this// single line comment
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
// single line comment
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
// single line comment
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]
// single line comment
5You can send multiple arguments by separating them with commas
// single line comment
6Và chúng ta có thể lấy các tham số đó theo thứ tự chúng được xác định
// single line comment
7Chúng ta có thể tùy ý thiết lập loại tham số
// single line comment
8Parameters can have a default value, so if they are omitted we can still have a value for them
// single line comment
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
$age = 20;
10 keyword. If omitted, the function returns Hello
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
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
0Chúng ta có thể tùy ý đặt kiểu trả về của hàm bằng cú pháp này
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
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
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
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
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
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
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
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
$age = 20;
12 in the parameter definition]/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
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
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
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
$age = 20;
13/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
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
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
8Here’s an example
/*
this is a comment
*/
//or
/*
*
* this is a comment
*
*/
//or to comment out a portion of code inside a line:
/* this is a comment */
9Bạn có thể truyền tham số cho hàm mũi tên
$name = 'Flavio';
var_dump[$name];
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
$age = 20;
13$name = 'Flavio';
var_dump[$name];
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 PHP
Hello
Hello
Hello
Another important set of looping structures, often used in functional programming, is the set of
$name = 'Flavio';
$name = "Flavio";
46 / $name = 'Flavio';
$name = "Flavio";
47 / $name = 'Flavio';
$name = "Flavio";
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
$name = 'Flavio';
$name = "Flavio";
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$name = 'Flavio';
var_dump[$name];
2$name = 'Flavio';
$name = "Flavio";
47 generates a new array by only getting the items whose callback function returns $name = 'Flavio';
$name = "Flavio";
07$name = 'Flavio';
var_dump[$name];
3$name = 'Flavio';
$name = "Flavio";
45 is used to reduce an array to a single valueFor example we can use it to multiply all items in an array
$name = 'Flavio';
var_dump[$name];
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à
$age = 20;
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
$name = 'Flavio';
$name = "Flavio";
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 [$age = 20;
27]. Ideally we’d like more consistency, but that’s what it isLập trình hướng đối tượng trong PHP
Bâ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
$age = 20;
28, defined in this way$name = 'Flavio';
var_dump[$name];
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
$age = 20;
29$name = 'Flavio';
var_dump[$name];
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
$name = 'Flavio';
var_dump[$name];
7How to Use Properties in PHP
Those 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
$name = 'Flavio';
var_dump[$name];
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
$age = 20;
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
$name = 'Flavio';
var_dump[$name];
9Lưu ý rằng tài sản được định nghĩa là
$age = 20;
30That is called an access modifier. You can use two other kinds of access modifiers.
$age = 20;
32 and $age = 20;
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 PHP
Did I say method? What is a method?
A method is a function defined inside the class, and it’s defined in this way
$age = 20;
var_dump[$age];
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
$age = 20;
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 $age = 20;
32 too, or $age = 20;
33, to restrict their accessYou invoke a method on the object instance like this
$age = 20;
var_dump[$age];
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
$age = 20;
37 variable, which, when referenced inside a method, points to the current object instance$age = 20;
var_dump[$age];
2Notice I used
$age = 20;
38 to set and access the Hello
75 property, and not $age = 20;
40Cách sử dụng Phương thức xây dựng trong PHP
Một loại phương thức đặc biệt có tên
$age = 20;
41 được gọi là hàm tạo$age = 20;
var_dump[$age];
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
$age = 20;
29$age = 20;
var_dump[$age];
4This is such a common thing that PHP [starting in PHP 8] includes something called constructor promotion where it automatically does this thing
$age = 20;
var_dump[$age];
5By using the access modifier, the assignment from the parameter of the constructor to the local variable happens automatically
$age = 20;
var_dump[$age];
6Thuộc tính có thể được gõ
You can require the name to be a string using
$age = 20;
43$age = 20;
var_dump[$age];
7Now all works fine in this example, but try changing that to
$age = 20;
44 to require it to be an integerPHP will raise an error if you initialize
Hello
75 with a string$age = 20;
var_dump[$age];
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
Hello
82, Hello
80, Hello
81, Hello
82, Hello
84, Hello
83, Hello
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
$age = 20;
53$age = 20;
var_dump[$age];
9Every animal has an age, and every animal can eat. Vì vậy, chúng tôi thêm thuộc tính
$age = 20;
54 và phương thức $age = 20;
55$base = 20;
$height = 10;
$area = $base * $height;
0Chó là một loài động vật và có tuổi và cũng có thể ăn, vì vậy lớp
$age = 20;
28 – thay vì triển khai lại những thứ giống như chúng ta có trong $age = 20;
53 – có thể mở rộng lớp đó$base = 20;
$height = 10;
$area = $base * $height;
1Bây giờ chúng ta có thể khởi tạo một đối tượng mới của lớp
$age = 20;
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 $age = 20;
53$base = 20;
$height = 10;
$area = $base * $height;
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
$age = 20;
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 PHP
$age = 20;
Bây giờ chúng ta đã giới thiệu quyền thừa kế, chúng ta có thể thảo luận về
$age = 20;
33. We already saw how we can use the $age = 20;
30 access modifier to set properties and methods callable from outside of a class, by the public$age = 20;
32 thuộc tính và phương thức chỉ có thể được truy cập từ bên trong lớp$age = 20;
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
$age = 20;
55 trong $age = 20;
53 và chúng tôi muốn tùy chỉnh nó trong $age = 20;
28? $base = 20;
$height = 10;
$area = $base * $height;
3Now any instance of
$age = 20;
28 will use the $age = 20;
28's implementation of the $age = 20;
55 methodCác thuộc tính và phương thức tĩnh trong PHP
Chú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
$age = 20;
72 keyword$base = 20;
$height = 10;
$area = $base * $height;
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
$age = 20;
73, trỏ đến lớp$base = 20;
$height = 10;
$area = $base * $height;
5và từ bên ngoài lớp sử dụng
$base = 20;
$height = 10;
$area = $base * $height;
6This is what happens for static methods
$base = 20;
$height = 10;
$area = $base * $height;
7Từ bên ngoài lớp học, chúng ta có thể gọi chúng theo cách này
$base = 20;
$height = 10;
$area = $base * $height;
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
$age = 20;
73, dùng để chỉ lớp hiện tại$base = 20;
$height = 10;
$area = $base * $height;
9Cách so sánh các đối tượng trong PHP
Khi chúng ta nói về các toán tử, tôi đã đề cập rằng chúng ta có toán tử
$name = 'Flavio';
$name = "Flavio";
03 để kiểm tra xem hai giá trị có bằng nhau không và $name = 'Flavio';
$name = "Flavio";
04 để kiểm tra xem chúng có giống nhau khôngSự khác biệt chủ yếu là ở chỗ
$name = 'Flavio';
$name = "Flavio";
03 kiểm tra nội dung đối tượng, ví dụ chuỗi $age = 20;
78 bằng với số $age = 20;
79, nhưng nó không giống với nóWhen we use those operators to compare objects,
$name = 'Flavio';
$name = "Flavio";
03 will check if the two objects have the same class and have the same values assigned to themMặt khác,
$name = 'Flavio';
$name = "Flavio";
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
Hello
00How to Iterate over Object Properties in PHP
Bạ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
$name = 'Flavio';
$name = "Flavio";
91, như thế nàyHello
01Cách sao chép các đối tượng trong PHP
Khi bạn có một đối tượng, bạn có thể sao chép nó bằng từ khóa
$age = 20;
83Hello
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
$age = 20;
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
Hello
03Other magic methods include
$age = 20;
85, $age = 20;
86, $age = 20;
87, $age = 20;
88, $age = 20;
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ác
Bâ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.
$age = 20;
90, $age = 20;
91, $age = 20;
92 và $age = 20;
93$age = 20;
90 loads the content of another PHP file, using a relative path$age = 20;
92 does the same, but if there’s any error doing so, the program halts. $age = 20;
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
$age = 20;
92$age = 20;
91 and $age = 20;
93 do the same thing as their corresponding functions without $name = 3;
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
$age = 20;
90 hoặc $age = 20;
92 vì bạn có thể tải cùng một tệp hai lần. $age = 20;
91 và $age = 20;
93 giúp bạn tránh vấn đề nàySử dụng
$age = 20;
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 $age = 20;
93Here’s an example
Hello
04Cú pháp trên bao gồm tệp
$name = 3;
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
Hello
05để đưa một tệp vào thư mục mẹ hoặc vào thư mục con
Hello
06You can use absolute paths
Hello
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 PHP
Nó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
08, a magic constant$name = 3;
09 [thêm về$name = 3;
10 sau. ]$name = 3;
You can get the full path of the folder where the current file is using
- chức năng tích hợp sẵn
11$name = 3;
12, một hằng số ma thuật khác$name = 3;
- kết hợp
08 với$name = 3;
14 để có đường dẫn đầy đủ của thư mục hiện tại.$name = 3;
15$name = 3;
- use
16$name = 3;
Cách xử lý lỗi trong PHP
Mọ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ó
- Warnings
- thông báo
- lỗi
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à
$name = 3;
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
Hello
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à
$name = 3;
18Lưu ý rằng thông tin được tạo bởi
$name = 3;
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ở
$name = 3;
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 $name = 3;
21. Trong đó, bạn sẽ tìm thấy tệp $name = 3;
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
$name = 3;
23Trong quá trình sản xuất, bạn muốn giá trị của nó là
$name = 3;
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
$name = 3;
25 trong thư mục $name = 3;
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
$name = 3;
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
$name = 3;
28Hello
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
$name = 3;
29 và chúng tôi có khối $name = 3;
30 ngay sau đó. That catch block will be executed if there’s an exception in the try blockHello
10Lưu ý rằng chúng tôi có một đối tượng
$name = 3;
31 $name = 3;
32 được chuyển đến khối $name = 3;
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àyHello
11Hãy xem một ví dụ
Giả sử rằng tôi vô tình chia một số cho 0
Hello
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ố
Hello
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
$name = 3;
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
Hello
14Và tôi cũng có thể thêm một khối
$name = 3;
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 . Hello
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 PHP
Là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
$name = 3;
36Hello
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
$name = 3;
37, theo định dạng bạn muốnHello
17$name = 3;
38 là đại diện gồm 4 chữ số của năm, $name = 3;
39 là số tháng [có số 0 đứng đầu] và $name = 3;
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
$name = 3;
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 1970Hello
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 PHP
Chú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
$name = 3;
42Hello
19Và sau đó chúng ta có thể sử dụng
$name = 3;
43 như thể nó là một biến, nhưng không có dấu Hello
73Hello
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
$name = 3;
45Hello
21By default they are
$age = 20;
30 but we can mark them as $age = 20;
32 or $age = 20;
33Hello
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
$name = 3;
49 enum that has 3 states. $name = 3;
50 $name = 3;
51 $name = 3;
52, 3 trạng thái trong một ngày của chóVì vậy, bạn có
Hello
23Bây giờ chúng ta có thể tham chiếu các hằng số đó theo cách này
Hello
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 web
PHP 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
$name = 3;
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
$name = 3;
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 PHP
Hã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
Hello
61 và tệp đó phản hồi trên đường dẫn Hello
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
$name = 3;
07 và tự động đó sẽ là tệp mà Apache phục vụ trên tuyến đường $name = 3;
58Cách sử dụng $name = 3;
59, $name = 3;
60 và $name = 3;
61 trong PHP
$name = 3;
$name = 3;
$name = 3;
Cá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
$name = 3;
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
$name = 3;
60Ngoài ra còn có
$name = 3;
61 chứa tất cả $name = 3;
59 và $name = 3;
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 PHP
$name = 3;
Chúng tôi cũng có biến siêu toàn cầu
$name = 3;
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
$name = 3;
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
Hello
61 của bạn trong thư mục gốc của MAMP chạyHello
08Sau đó tạo trang tại localhost. 8888 và tìm kiếm
$name = 3;
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à
72$name = 3;
73$name = 3;
74$name = 3;
75$name = 3;
76$name = 3;
16$name = 3;
78$name = 3;
79$name = 3;
80$name = 3;
Cách sử dụng biểu mẫu trong PHP
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 biểu mẫu đơn giản trong HTML
Hello
26Bạn có thể đặt cái này vào tệp
Hello
61 của mình giống như nó được gọi là Hello
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
$name = 3;
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
Hello
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
$name = 3;
85Hello
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
Hello
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
Hello
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
Hello
61Hello
29và chúng tôi có thể tạo một tệp
$name = 3;
89 mới vớiHello
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
$name = 3;
90 trên biểu mẫuVí dụ này rất đơn giản, nhưng tệp
$name = 3;
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 PHP
PHP cho phép chúng tôi đặt tiêu đề HTTP của phản hồi thông qua hàm
$name = 3;
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
Hello
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
$name = 3;
93 của phản hồiHello
32Chúng tôi có thể buộc chuyển hướng 301
Hello
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 PHP
Cookie 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
$name = 3;
94Hello
34Hàm
$name = 3;
95 cho phép bạn đặt cookieHello
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
Hello
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
Hello
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 PHP
Mộ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
$name = 3;
96Hãy thử thêm cái này
Hello
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à
$name = 3;
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
$name = 3;
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
Hello
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
$name = 3;
99Để xóa sử dụng cookie phiên
Hello
40Cách làm việc với tệp và thư mục trong PHP
PHP 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
// single line comment
00Hello
41Nhận kích thước của tệp bằng cách sử dụng
// single line comment
01Hello
42Bạn có thể mở tệp bằng cách sử dụng
// single line comment
02. Ở đây, chúng tôi mở tệp // single line comment
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 // single line comment
04Hello
43Chúng tôi có thể chấm dứt quyền truy cập tệp bằng cách gọi
// single line comment
05Đọc nội dung của một tệp thành một biến như thế này
Hello
44// single line comment
06 kiểm tra xem chúng tôi chưa đến cuối tệp vì // single line comment
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
// single line comment
08Hello
45To write to a file you must first open it in write mode, then use
// single line comment
09Hello
46Chúng tôi có thể xóa một tệp bằng cách sử dụng
// single line comment
10Hello
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ệu
Ví 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
- PostgreSQL
- MySQL/MariaDB
- MongoDB
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 PHP
JSON 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ố
Hello
48PHP cung cấp cho chúng ta hai hàm tiện ích để làm việc với JSON
11 để mã hóa một biến thành JSON// single line comment
12 để giải mã chuỗi JSON thành kiểu dữ liệu [đối tượng, mảng…]// single line comment
Thí dụ
Hello
49Cách gửi email bằng PHP
Mộ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
// single line comment
13Hello
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à Packagist
Composer 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
// single line comment
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
// single line comment
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 PHPHello
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
// single line comment
16 liệt kê cấu hình mới cho các phần phụ thuộcHello
52// single line comment
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 // single line comment
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
Hello
61, chúng ta có thể thêm mã này vào đầuHello
53và sau đó chúng ta có thể sử dụng thư viện
Hello
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
// single line comment
20 là thứ cho phép tự động tải. Bạn có nhớ khi chúng ta nói về // single line comment
21 và // single line comment
22 không? Cách triển khai một ứng dụng PHP
Khi 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
Hello
61Hello
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ận
Bạ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