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

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

59

On Windows it’s

Hello

60

Yours 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

61

That 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 above

Open the

Hello

61 file in a code editor

I 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ạn

Khi 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

61

Tệp này tồn tại và mã PHP được thực thi phía máy chủ trước khi Apache gửi trang trở lại trình duyệt

Trong tệp PHP, chúng tôi có 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 HTML

Dấ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 hoa

Cá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

  • Hello
    
    
    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 strings
  • Hello
    
    
    83 arrays
  • Hello
    
    
    84 đối tượng
  • Hello
    
    
    85 một giá trị có nghĩa là "không có giá trị nào được chỉ định"

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 integer

Hello

86 is one of the essential tools in your PHP debugging tool belt

How 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 operator

We 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 variable

Next 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 math

Hello

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 identical

What’s the difference?

You’ll find it with experience, but for example

Hello

1

We also have

$name = 'Flavio';

$name = "Flavio";
05 to detect if operands are not equal

Hello

2

and

$name = 'Flavio';

$name = "Flavio";
06 to detect if operands are not identical

Hello

3

Logical operators work with boolean values

Hello

4

We also have the not operator

Hello

5

I 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 example

Hello

6

All 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";
10

Hello

7

How 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

8

The big difference between using single and double quotes is that with double quotes we can expand variables in this way

Hello

9

and 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";
0

PHP 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";
1

We 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

85

Chú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";
3

Chú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";
4

Tất nhiên chúng ta có thể gán kết quả cho một biến mới

$name = 'Flavio';

$name = "Flavio";
5

Có 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

  • $name = 'Flavio';
    
    $name = "Flavio";
    
    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

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ố

  • $name = 'Flavio';
    
    $name = "Flavio";
    
    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ố

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";
6

Một mảng có thể được khởi tạo với các giá trị

$name = 'Flavio';

$name = "Flavio";
7

Mảng có thể chứa các giá trị thuộc bất kỳ loại nào

$name = 'Flavio';

$name = "Flavio";
8

Ngay cả các mảng khác

$name = 'Flavio';

$name = "Flavio";
9

Bạ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;
0

Khi 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;
1

Thay 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;
3

Kiể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;
4

Nế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;
5

Cá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

  • $name = 'Flavio';
    
    $name = "Flavio";
    
    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

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;
6

We have some functions that are especially useful for associative arrays

  • $name = 'Flavio';
    
    $name = "Flavio";
    
    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

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 on

Those 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;
7

Mã 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";
07

Sử 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;
8

GHI 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";
81

Bạ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;
9

In addition to

$name = 'Flavio';

$name = "Flavio";
82, we have the
$name = 'Flavio';

$name = "Flavio";
85 statement

We 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;
0

I know the example does not have any logic, but I think it can help you understand how

$name = 'Flavio';

$name = "Flavio";
85 works

Tuyê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;
1

Thay vì chỉ cái này

$name = 3;
2

as 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";
91

Let’s see them all

How to Use a
$name = 'Flavio';

$name = "Flavio";
88 loop in PHP

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;
3

This would be an infinite loop, which is why we use variables and comparisons

$name = 3;
4

How to Use a
$name = 'Flavio';

$name = "Flavio";
89 loop in PHP

$name = 'Flavio';

$name = "Flavio";
89 is similar, but slightly different in how the first iteration is performed

$name = 3;
5

Trong 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ện

In the

$name = 'Flavio';

$name = "Flavio";
88 loop, first we check the condition, then we do the iteration

Do a simple test by setting

$name = 'Flavio';

$name = "Flavio";
99 to 15 in the above examples, and see what happens

You'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

You can use the

$name = 'Flavio';

$name = "Flavio";
91 loop to easily iterate over an array

$name = 3;
6

Bạ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;
7

How to Use a
$name = 'Flavio';

$name = "Flavio";
90 Loop in PHP

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;
8

You can use the for loop to iterate over an array in this way

$name = 3;
9

Cách sử dụng các câu lệnh
$age = 20;
04 và
$age = 20;
05 trong PHP

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
0

This 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
1

How 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
2

Và 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
3

You 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
4

Inside 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
5

You can send multiple arguments by separating them with commas

// single line comment
6

Và chúng ta có thể lấy các tham số đó theo thứ tự chúng được xác định

// single line comment
7

Chúng ta có thể tùy ý thiết lập loại tham số

// single line comment
8

Parameters can have a default value, so if they are omitted we can still have a value for them

// single line comment
9

Mộ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

85

The 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 */
0

Chú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 */
1

Khi 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 */
2

Cá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 */
3

Bạ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 */
4

But 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 */
5

The 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 */
6

Lư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 */
7

Mộ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 */
8

Here’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 */
9

Bạn có thể truyền tham số cho hàm mũi tên

$name = 'Flavio';

var_dump[$name];
0

Lư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];
1

Cá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

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";
45

3 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 value

For example we can use it to multiply all items in an array

$name = 'Flavio';

var_dump[$name];
4

Lư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 ta

Lư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 is

Lậ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];
5

Lư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];
6

Bạ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];
7

How 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];
8

Chú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 khai

Bạn có thể gán giá trị cho các thuộc tính đó theo cách này

$name = 'Flavio';

var_dump[$name];
9

Lưu ý rằng tài sản được định nghĩa là

$age = 20;
30

That 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 it

Chú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];
0

Methods 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 access

You invoke a method on the object instance like this

$age = 20;

var_dump[$age];
1

Mộ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];
2

Notice I used

$age = 20;
38 to set and access the
Hello

75 property, and not
$age = 20;
40

Cá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];
3

Bạ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];
4

This 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];
5

By using the access modifier, the assignment from the parameter of the constructor to the local variable happens automatically

$age = 20;

var_dump[$age];
6

Thuộ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];
7

Now all works fine in this example, but try changing that to

$age = 20;
44 to require it to be an integer

PHP will raise an error if you initialize

Hello

75 with a string

$age = 20;

var_dump[$age];
8

Thú 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ác

Kế 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];
9

Every 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;
0

Chó 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;
1

Bâ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;
2

Trong 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

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 con

Cá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;
3

Now any instance of

$age = 20;
28 will use the
$age = 20;
28's implementation of the
$age = 20;
55 method

Cá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;
4

Chú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;
5

và từ bên ngoài lớp sử dụng

$base = 20;
$height = 10;

$area = $base * $height;
6

This is what happens for static methods

$base = 20;
$height = 10;

$area = $base * $height;
7

Từ 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;
8

Từ 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;
9

Cá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ông

Sự 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 them

Mặ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ông

For example

Hello

00

How 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ày

Hello

01

Cá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;
83

Hello

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

03

Other magic methods include

$age = 20;
85,
$age = 20;
86,
$age = 20;
87,
$age = 20;
88,
$age = 20;
89 and others

Bạ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áo

Bạ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 program

This 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ày

Sử 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;
93

Here’s an example

Hello

04

Cú 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ày

Bạ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

06

You can use absolute paths

Hello

07

In 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

  • $name = 3;
    
    08, a magic constant
  • $name = 3;
    
    09 [thêm về
    $name = 3;
    
    10 sau. ]

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
    $name = 3;
    
    11
  • $name = 3;
    
    12, một hằng số ma thuật khác
  • kết hợp
    $name = 3;
    
    08 với
    $name = 3;
    
    14 để có đường dẫn đầy đủ của thư mục hiện tại.
    $name = 3;
    
    15
  • use
    $name = 3;
    
    16

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;
17

Vị 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

08

Sau đó, 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;
18

Lư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ấy

Sử 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;
17

Mở 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;
23

Trong 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ói

Cá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ày

Tệp này sẽ nằm trong một thư mục khác tùy thuộc vào thiết lập của bạn

Bạn đặt vị trí này trong

$name = 3;
17 của mình

Nhật ký lỗi sẽ chứa tất cả các thông báo lỗi mà ứng dụng của bạn tạo 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;
28

Hello

09

Ngườ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 block

Hello

10

Lư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ày

Hello

11

Hã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

13

Tất nhiên đây là một ví dụ đơn giản nhưng bạn có thể thấy lợi ích. tôi có thể chặn vấn đề.

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 differently

I can have a catch-all for any throwable error at the end, like this

Hello

14

Và 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

15

Bạ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;
36

Hello

16

Khi 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ốn

Hello

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 đầu

Xem 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 1970

Hello

18

nó 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;
42

Hello

19

Và 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

73

Hello

20

Chú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;
45

Hello

21

By default they are

$age = 20;
30 but we can mark them as
$age = 20;
32 or
$age = 20;
33

Hello

22

Enums 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

23

Bây giờ chúng ta có thể tham chiếu các hằng số đó theo cách này

Hello

24

Enums 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 PHP

Mộ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

65

Chú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;
58

Cách sử dụng
$name = 3;
59,
$name = 3;
60 và
$name = 3;
61 trong PHP

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ôi

Tấ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;
60

Ngoà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ất

Cách sử dụng đối tượng
$name = 3;
10 trong PHP

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 ích

Bạ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ạy

Hello

08

Sau đó 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án

Những cái quan trọng bạn có thể sử dụng là

  • $name = 3;
    
    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

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

26

Bạ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

66

Mộ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 ở đây

Vì 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ản

Nhấ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;
85

Hello

27

Thấ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

28

Thấ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ật

Chú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

61

Hello

29

và chúng tôi có thể tạo một tệp

$name = 3;
89 mới với

Hello

30

PHP 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ẫu

Ví 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ạn

Cá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;
92

Tiê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

31

Bâ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ồi

Hello

32

Chúng tôi có thể buộc chuyển hướng 301

Hello

33

Chú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;
94

Hello

34

Hàm

$name = 3;
95 cho phép bạn đặt cookie

Hello

35

Chú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

36

Chú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

37

Tô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;
96

Hãy thử thêm cái này

Hello

38

trong 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ách

Chỉ 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

40

Cá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
00

Hello

41

Nhận kích thước của tệp bằng cách sử dụng

// single line comment
01

Hello

42

Bạ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
04

Hello

43

Chú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ần

Bạn cũng có thể đọc từng dòng tệp bằng cách sử dụng

// single line comment
08

Hello

45

To write to a file you must first open it in write mode, then use

// single line comment
09

Hello

46

Chúng tôi có thể xóa một tệp bằng cách sử dụng

// single line comment
10

Hello

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

48

PHP cung cấp cho chúng ta hai hàm tiện ích để làm việc với JSON

  • // single line comment
    
    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…]

Thí dụ

Hello

49

Cá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
13

Hello

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ình

Bâ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 PHP

Hello

51

Nó 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ộc

Hello

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 đầu

Hello

53

và sau đó chúng ta có thể sử dụng thư viện

Hello

54

See? 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

61

Hello

55

Tô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

Flavio đối phó

Đọ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.

Chủ Đề