Chiến thắng

Dịch vụ lưu trữ web của công ty bạn đã sẵn sàng để bạn nâng cấp lên PHP8. Bây giờ bạn có thể cập nhật phiên bản WordPress lên phiên bản mới nhất hỗ trợ PHP 8 với nhiều tính năng hoàn toàn mới

1. Có gì mới trong PHP 8?

Bản cập nhật mới lớn này mang lại nhiều tối ưu hóa và các tính năng ngôn ngữ mạnh mẽ. Chúng tôi rất sẵn lòng hướng dẫn bạn những thay đổi thú vị nhất sẽ cho phép chúng tôi viết mã tốt hơn và xây dựng các ứng dụng mạnh mẽ hơn.

PHP JIT [Dịch đúng lúc]

“PHP JIT được triển khai như một phần gần như độc lập với OPcache của bạn. Nó có thể được bật/tắt trong khi biên dịch PHP và trong khi chạy. Khi được bật, mã gốc của các tệp PHP của bạn được lưu trữ trong một vùng bổ sung của bộ nhớ được OPcache và op_array → opcodes sử dụng chung. [Các] Trình xử lý xử lý việc xử lý mã JIT-ed của bạn tới các điểm vào. ,

Tiện ích mở rộng OPcache

PHP là một bản dịch ngôn ngữ. Điều này có nghĩa là, khi một lệnh PHP được chạy, trình thông dịch sẽ phân tích lỗi, biên dịch và thực thi mã chính xác nhiều lần trên mỗi yêu cầu. Điều này có thể dẫn đến lãng phí tài nguyên CPU và thêm thời gian

“OPcache cải thiện hiệu suất bằng cách lưu trữ mã bytecode được biên dịch sẵn trong bộ nhớ được sử dụng bởi PHP, do đó loại bỏ nhu cầu PHP tải và phân tích mã theo từng yêu cầu.”. ”

Khi bật OPcache, PHP chỉ trải qua 4 bước được đề cập ở trên khi lệnh được chạy lần đầu tiên. Bởi vì mã byte PHP được lưu trữ trong bộ nhớ dùng chung, nên chúng luôn sẵn có dưới dạng biểu diễn mức trung gian và có thể được thực thi ngay lập tức trên máy ảo Zend.

Những cải tiến trong PHP 8 và các tính năng mới

Ngoài JIT, bạn có thể mong đợi nhiều tính năng và cải tiến hơn với PHP 8. Nhiều thay đổi để tăng tốc các lệnh và thành phần trong PHP

PHP8. 0 là một bản cập nhật lớn cho ngôn ngữ PHP của bạn. Nó chứa nhiều tính năng tối ưu hóa và tối ưu hóa mới bao gồm các đối số được đặt tên, JIT, các loại liên kết, thuộc tính, biểu thức khớp thuộc tính hàm tạo, quảng cáo, toán tử nullsafe và nhiều cải tiến về loại hệ thống, xử lý lỗi và những cải tiến phổ biến nhất.

PHP8

wordpress php 8

Hướng dẫn nâng cấp PHP 8 lên website WordPress

Xem các trang web của bạn trên PHP 7. 1 hoặc phiên bản thấp hơn sẽ khiến họ có nguy cơ gặp sự cố về quyền riêng tư. Không chỉ vậy, bạn cũng sẽ bỏ lỡ những cải tiến đối với hiệu suất hệ thống của mình trong các phiên bản PHP mới hơn. PHP 8 là phiên bản của PHP vừa được phát hành, có nghĩa là nó sẽ giới thiệu một số thay đổi mang tính đột phá, cũng như một số tính năng mới và cải tiến hiệu suất.

Ngoài những thay đổi mạnh mẽ này, PHP 8 còn mang đến hàng loạt tính năng mới như hệ thống biên dịch JIT [JIT Compiler], các kiểu kết hợp, thuộc tính, v.v. v

php 8 wordpress

PHP là một hệ thống lớn cần được sửa chữa và cải tiến liên tục. Mỗi phiên bản mới đi kèm với sửa lỗi trên các phiên bản trước. Do đó, bạn nên sử dụng các phiên bản PHP mới nhất để ngăn chặn các cuộc tấn công mạng và bảo vệ tài sản, dữ liệu của mình.

php 8 wordpress

Do tính chất động của PHP, có nhiều trường hợp các kiểu kết hợp có thể hữu ích. Các loại liên kết là một tập hợp các loại hoặc loại mà bạn biết là một trong những loại có thể được sử dụng

public function foo[Foo|Bar $input]: int|float;

Lưu ý rằng void không bao giờ có thể là một phần của loại kết hợp của bạn, bởi vì nó 'hoàn toàn không trả về một giá trị nào'. Hơn nữa, nullable có thể được viết bằng cách sử dụng |null hoặc sử dụng ký hiệu ?

public function foo[Foo|null $foo]: void;

public function bar[?Bar $bar]: void;

Laravel php 8

Truyền dữ liệu theo tên – hàm PHP 8

Việc một hàm có nhiều tham số [ý tôi là nó trở thành 3 tham số], có thể khiến developer loay hoay khi sử dụng vì không nhớ chính xác ý nghĩa của từng tham số, cũng như thứ tự chúng được truyền vào.

Ví dụ, hàm mkdir[] trong PHP có 4 đối số

  • ________số 8. Quan trọng, là đường dẫn tạo thư mục
  • $permissions. Không bắt buộc, có thể truy cập menu [phím 0777 hoặc 0655], theo mặc định 0777
  • void0. Không bắt buộc, cho phép bạn tạo thư mục ngay cả khi thư mục không tồn tại, mặc định là void1
  • void2. Không bắt buộc, nhưng tôi không hiểu ý nghĩa của nó, tôi chưa bao giờ sử dụng số này

Các vấn đề mà nhà phát triển có thể gặp phải khi sử dụng mkdir[]

  • Đôi khi bạn không nhớ thứ tự 2 số $permissionsvoid0 của mình, không biết số nào viết trước
  • Nếu bạn muốn thay đổi giá trị của tham số _______10 thành _______11 thành _______18, nhà phát triển phải chuyển tham số _______9 [từ $permissions trước void0].

Nếu có vấn đề với tất cả chúng gây bất tiện khi sử dụng, để khắc phục, PHP cung cấp bản sửa lỗi mới cho phép truyền dữ liệu theo tên

1

2

3

4

5

6

7

8

9

nullable2

nullable3

nullable4nullable5nullable6nullable7

nullable8

nullable4|null0nullable6|null2

|null3

nullable4nullable5nullable6|null7

Lưu ý.
– Đây chỉ là thủ thuật mới mà PHP 8 cung cấp để sử dụng thuận tiện hơn khi cần thiết, nhưng bạn vẫn có thể sử dụng thủ thuật cũ nói chung trên phiên bản PHP 8 của mình.

– Tên dữ liệu bạn không được phép “nghĩ” phải đúng với nội dung PHP của bạn. Như ví dụ trên, |null8 và |null9 là 2 tham số mà chúng ta phải tuân theo trong tài liệu mà PHP cung cấp.

ấu trùng php 8

Hợp lý hóa JIT trong PHP 8

Mặc dù không phải lúc nào cũng là ưu tiên hàng đầu của trang web của bạn. Tôi đã thực hiện các bài đăng thử nghiệm của riêng bạn trên các ứng dụng web của tôi trong đời thực và có vẻ như JIT không tạo ra nhiều sự khác biệt. JIT [Just In Time] là một kỹ thuật được tích hợp vào PHP để dịch mã PHP sang máy học, cho phép PHP 8 đạt hiệu suất cao hơn 1,5 – 2 lần so với PHP 7. Nhưng đừng vội, hãy xem biểu hiện dưới đây và nó sẽ giải thích cho bạn hiểu

  • băng ghế. php, micro_batch. php, N-body, Mandelbrot đều dễ chạy thử nghiệm trên ứng dụng PHP của bạn
  • Bạn càng thêm nhiều bài kiểm tra, ứng dụng PHP của bạn sẽ càng được kiểm tra đi kiểm tra lại nhiều lần.
  • Đường màu đen, đường thẳng đứng trong biểu diễn, là giá trị lớn nhất khi PHP không sử dụng JIT.
  • Hướng dẫn sửa widget wordpress

Các ứng dụng PHP đơn giản sử dụng JIT sẽ hiệu quả hơn, nhưng các ứng dụng PHP phức tạp sử dụng các framework, CMS phổ biến như WordPress, Symfony [hay thậm chí Laravel cũng không phải là ngoại lệ] không sử dụng JIT sẽ có nhiều lợi ích hơn. Ngay cả trong trường hợp của Symfony, khi JIT được áp dụng, ứng dụng sẽ chạy chậm hơn, vì vậy có thể không áp dụng được gì cả.

Php8

Một cập nhật khác trên PHP 8

Một số cập nhật khác tiêu biểu trong PHP 8 như

  • Thay vì sử dụng PHPDoc cho các chú thích, PHP 8 đã cung cấp nhiều siêu dữ liệu cấu trúc hơn

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

nullable2

?1

?2 ?3

?4

?5?6

?7?8

?7public function foo[Foo|null $foo]: void;0

?5public function foo[Foo|null $foo]: void;2 public function foo[Foo|null $foo]: void;3 public function foo[Foo|null $foo]: void;4public function foo[Foo|null $foo]: void;5public function foo[Foo|null $foo]: void;6public function foo[Foo|null $foo]: void;7 public function foo[Foo|null $foo]: void;8

public function foo[Foo|null $foo]: void;8

nullable8

?2 ?3

?4

?5public function bar[?Bar $bar]: void;5public function bar[?Bar $bar]: void;6public function bar[?Bar $bar]: void;7public function bar[?Bar $bar]: void;8public function bar[?Bar $bar]: void;9

?5public function foo[Foo|null $foo]: void;2 public function foo[Foo|null $foo]: void;3 public function foo[Foo|null $foo]: void;4public function foo[Foo|null $foo]: void;5public function foo[Foo|null $foo]: void;6public function foo[Foo|null $foo]: void;7 public function foo[Foo|null $foo]: void;8

public function foo[Foo|null $foo]: void;8

  • Mã thông báo cho "lỗi im lặng" không còn được sử dụng trong PHP 8.

1

2

3

4

5

6

nullable2

$directory0

$directory1

$directory2

$directory3$directory4|null2

  • Cthm $directory6 không thể thay đổi thành $Exception khi bắt

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

nullable2

?1

$directory9 ?4

?5$permissions2

public function foo[Foo|null $foo]: void;8$permissions4 $permissions5$permissions6

?5____98nullable5______100|null2

public function foo[Foo|null $foo]: void;8

nullable8

$directory9 ?4

?5$permissions2

public function foo[Foo|null $foo]: void;8$permissions4 $permissions5void11

?5____98nullable5______100|null2

public function foo[Foo|null $foo]: void;8

  • Vui lòng đánh dấu phần cuối của danh sách dữ liệu

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

nullable2

?1

?2 void21

?4

?5void24 public function foo[Foo|null $foo]: void;3 void26

void27void28void29void30

void27void28void33void30

void27void28void37void30

void27void28void41void30

void27void44void45void30

void27void48void49void30

void27void28void53void30

void27void28void57 void58

?5public function foo[Foo|null $foo]: void;6

void27void62

?5public function foo[Foo|null $foo]: void;8

public function foo[Foo|null $foo]: void;8

nullable8

?2 void21

?4

?5void24 public function foo[Foo|null $foo]: void;3 void26

void27void28void29void30

void27void28void33void30

void27void28void37void30

void27void28void41void30

void27void44void45void30

void27void48void49void30

void27void28void53void30

void27void28void57void30nullable06

?5public function foo[Foo|null $foo]: void;6

void27void62

?5public function foo[Foo|null $foo]: void;8

public function foo[Foo|null $foo]: void;8

  • Bổ sung một số hàm mới str_contains[], str_starts_with[], str_ends_with[]

hướng dẫn nâng cấp lên php 8

Cần chuẩn bị những gì để nâng cấp lên PHP 8?

Phiên bản PHP8. 0, nó có thể yêu cầu chương trình xem lại mã khi nó thay đổi. Do đó, người sáng lập công ty, đồng thời cũng là chuyên gia tư vấn chuyên nghiệp của Công ty tư vấn PHP, Stefan Priebsch khuyên người dùng nên chuẩn bị kỹ lưỡng trước khi chuyển đổi, vì một số tính năng cũ sẽ bị loại bỏ khỏi phiên bản 8. 0

Phiên bản ví dụ PHP 8. 0 không có sẵn các thành phần PHP-PSR, Phalcon 4, ionCube 10, Snuffleupagus, Memcache và SourceGuardian

Một số phần mềm không tương thích với PHP 8. 0

  • D.S.O. Mặc dù, cPanel lưu trữ hỗ trợ PHP8, quá trình xử lý DSO không giống như cPanel hỗ trợ PHP 8. 0
  • Phần mở rộng của XMLRPC của bạn. Chuyển với PECL

Nâng cấp điều kiện PHP 8

  • Hosting, hosting wordpress sử dụng cPanel/ DirectAdmin và được trang bị tính năng chọn phiên bản PHP [Select PHP Version]
  • Tương thích với PHP8
  • Chủ đề và plugin của bạn sẽ tương thích tốt với PHP 8
  • Trang web của bạn đã được cập nhật lên phiên bản WordPress 5. 6 hoặc cao hơn. Các phiên bản WordPress thấp hơn phiên bản này không hỗ trợ PHP 8

Nâng cấp PHP 8

Trước hết, bạn truy cập vào cPanel/DirectAdmin, tìm mục Select PHP Version và click vào đó.

Trong tab Tiện ích mở rộng, bạn sẽ chọn PHP 8 trong mục Phiên bản PHP hiện tại rồi nhấp vào nút Đặt làm hiện tại. Tiếp theo, thiết lập các tiện ích mở rộng [mô-đun] như hình bên dưới

nullable14

nullable15

Chuyển sang tab Tùy chọn, bạn sẽ thiết lập dữ liệu của mình

Số lượng tối đa của nullable16, nullable17 và nullable18 của bạn có thể thay đổi tùy thuộc vào nhà cung cấp dịch vụ lưu trữ. Nếu bạn được phép đặt bất kỳ thông tin tùy chỉnh nào, hãy thử đặt nó như hình trên. Truy cập thật vào website của bạn và kiểm tra giao diện cũng như các tính năng có hoạt động bình thường hay không. Nếu vậy thì có nghĩa là bạn đã nâng cấp thành công lên PHP 8. Nếu xảy ra lỗi, vui lòng kiểm tra ____nullable19 để xem chủ đề hoặc plugin nào không tương thích. Trong trường hợp không khắc phục được, bạn chỉ cần quay lại phiên bản PHP cũ

Vậy là xong Sieutoviet hướng dẫn các bạn nâng cấp lên PHP 8, xem các bài viết khác về cách xây dựng website với công nghệ mới nhất

Chủ Đề