Show
Gửi báo cáo yêu cầu kéo một lỗi Kể từ Php 7.2.0, phần mở rộng này được gói với PHP. Đối với các phiên bản PHP cũ hơn, tiện ích mở rộng này có sẵn thông qua PECL. Hệ thống LinuxĐể sử dụng tiện ích mở rộng này, bạn phải biên dịch PHP với hỗ trợ natri bằng cách sử dụng tùy chọn cấu hình--with-natri [= dir].--with-sodium[=DIR] configure option. các cửa sổ Để sử dụng tiện ích mở rộng này, bạn phải thêm Cài đặt thông qua PECLThông tin để cài đặt tiện ích mở rộng PECL này có thể được tìm thấy trong chương thủ công có tiêu đề Cài đặt các phần mở rộng PECL. Thông tin bổ sung như phát hành mới, tải xuống, tệp nguồn, thông tin bảo trì và thay đổi, có thể được đặt tại đây: »& nbsp; https: //pecl.php.net/package/libsodium + Thêm một ghi chú Người dùng đóng góp ghi chúKhông có người dùng đóng góp ghi chú cho trang này. PHP 7.4 là phiên bản cuối cùng trước khi PHP 8 ra mắt, phiên bản này mang đến nhiều tính năng mới, bổ sung cú pháp và sửa lỗi. là phiên bản cuối cùng trước khi PHP 8 ra mắt, phiên bản này mang đến nhiều tính năng mới, bổ sung cú pháp và sửa lỗi. là phiên bản cuối cùng trước khi PHP 8 ra mắt, phiên bản này mang đến nhiều tính năng mới, bổ sung cú pháp và sửa lỗi. Nội dung chính ShowShow
Đó, đó là một số điểm thay đổi mới trong phiên bản PHP 7.4. Có thể nói, The Core Team đã làm việc rất vất vả. Và nếu bạn đã đọc đến tận đây, rất có thể là bạn quan tâm đến PHP. PHP. Vậy thì đừng quên chia sẻ và luôn luôn cập nhật công nghệ để bắt kịp cùng các lập trình viên PHP hàng đầu nhé.phiên bản PHP7.4. > Tham khảo ngay: KHÓA HỌC PHP FULL STACK (Khóa học giảng dạy kết hợp trên PHP 5 và PHP 7)KHÓA HỌC PHP FULL STACK (Khóa học giảng dạy kết hợp trên PHP 5 và PHP 7) Các tính năng mới trong PHP 7.41. Arrow function 1. Arrow function2. Typed Properties 3. Type Variance array_map(function (User $user) { (function (User $user) { (function (User $user) { return $user->id; $user->id; $user->id; Có rất nhiều điều để nói về tính năng này, nhưng chúng ta sẽ đi chi tiết ở bài viết khác nhé.$users) 4. Toán tử gán kết hợp Null Bạn có thể làm thế này:(fn (User $user) => $user->id, $users) // [0, 1, 2, 3, 4, 5, 6, 7]
2. Typed Properties3. Type Variance Có rất nhiều điều để nói về tính năng này, nhưng chúng ta sẽ đi chi tiết ở bài viết khác nhé. public string $name; string $name; string $name; public ?Foo $foo; ?Foo $foo; ?Foo $foo; 4. Toán tử gán kết hợp Null Có rất nhiều điều để nói về tính năng này, nhưng chúng ta sẽ đi chi tiết ở bài viết khác nhé. 3. Type VarianceThật tốt khi thấy một số cải tiến đang thực sự đến trong lõi của PHP. Bạn có thể sử dụng covariant return types - class ChildType extends ParentType {} ChildType extends ParentType {} ChildType extends ParentType {} class A A A { public function covariantReturnTypes(): ParentType function covariantReturnTypes(): ParentType function covariantReturnTypes(): ParentType } /* … */ }/* … */ } Có rất nhiều điều để nói về tính năng này, nhưng chúng ta sẽ đi chi tiết ở bài viết khác nhé. class B extends A B extends A B extends A { public function covariantReturnTypes(): ChildType function covariantReturnTypes(): ChildType function covariantReturnTypes(): ChildType } /* … */ }/* … */ } } /* … */ } Có rất nhiều điều để nói về tính năng này, nhưng chúng ta sẽ đi chi tiết ở bài viết khác nhé. { public function contraVariantArguments(ChildType $type) function contraVariantArguments(ChildType $type) function contraVariantArguments(ChildType $type) } /* … */ }/* … */ } Có rất nhiều điều để nói về tính năng này, nhưng chúng ta sẽ đi chi tiết ở bài viết khác nhé. class B extends A B extends A B extends A { } /* … */ } function contraVariantArguments(ParentType $type) } /* … */ }/* … */ } } /* … */ } }} function contraVariantArguments(ParentType $type) Thật tốt khi thấy một số cải tiến đang thực sự đến trong lõi của PHP. Bạn có thể sử dụng covariant return types -['date'] = $data['date'] ?? new DateTime(); class ChildType extends ParentType {} ChildType extends ParentType {} {['date'] ??= new DateTime(); } /* … */ }} /* … */ } $arrayB = [4, 5]; = [4, 5]; = [4, 5]; $result = [0, ...$arrayA, ...$arrayB, 6 ,7]; = [0, ...$arrayA, ...$arrayB, 6 ,7]; = [0, ...$arrayA, ...$arrayB, 6 ,7]; } } function contraVariantArguments(ParentType $type) Có rất nhiều điều để nói về tính năng này, nhưng chúng ta sẽ đi chi tiết ở bài viết khác nhé.3. Type Variance $unformattedNumber = 107925284.88; = 107925284.88; = 107925284.88; Bạn có thể sử dụng covariant return types -['date'] = $data['date'] ?? new DateTime(); = 107_925_284.88; class ChildType extends ParentType {} { /* … */ }['date'] ??= new DateTime();} { /* … */ } - và contravariant arguments public function contraVariantArguments(ParentType $type)4. Toán tử gán kết hợp NullPreloading. Đây là một bổ sung tuyệt vời cho phần lõi của PHP, nó có thể dẫn đến một số cải tiến hiệu suất đáng kể. Tiếp theo là toán tử gán kết hợp null. Viết tắt cho các hoạt động liên kết null. Thay vì làm điều này: = 107_925_284.88; $data['date'] = $data['date'] ?? new DateTime();Bạn có thể làm thế này: $data['date'] ??= new DateTime(); tại đây. 5. Spread OperatorTiếp theo, giờ đây có thể sử dụng toán tử trải rộng trong mảng: // [0, 1, 2, 3, 4, 5, 6, 7] Lưu ý rằng điều này chỉ hoạt động với các mảng với key là số. Key là chuỗi chưa được hỗ trợ.Preloading. Đây là một bổ sung tuyệt vời cho phần lõi của PHP, nó có thể dẫn đến một số cải tiến hiệu suất đáng kể. 6. Ký tự phân tách sốPHP 7.4 cho phép sử dụng dấu gạch dưới để phân tách trực quan các giá trị số. Nó trông như thế này: $formattedNumber = 107_925_284.88;Các dấu gạch dưới chỉ đơn giản là bị bỏ qua bởi PHP Engine. 7. Foreign funtion interfacetại đây.Chuyển sang một số tính năng cấp độ cốt lõi hơn: Foreign funtion interface gọi tắt là 'FFI', cho phép chúng ta gọi code C từ userland. Điều này có nghĩa là các phần mở rộng PHP có thể được viết bằng PHP thuần túy và được tải thông qua composer. Cần lưu ý rằng đây là một chủ đề phức tạp. Bạn vẫn cần có kiến thức C để có thể sử dụng đúng tính năng này. có một chút không rõ ràng về lợi ích, may mắn là, Sara đã cung cấp thêm một ít thông tin: 8. Preloading Một số thay đổi và Không dùng nữaBên cạnh các tính năng mới, cũng có rất nhiều thay đổi về ngôn ngữ. Hầu hết các thay đổi này là không phá vỡ, mặc dù một số có thể có ảnh hưởng đến code base của bạn. Lưu ý rằng có một số thông báo không dùng nữa cho các lập trình viên là một số tính năng sẽ bị xóa hoặc thay đổi trong tương lai. Sẽ tốt hơn nếu bạn không bỏ qua các cảnh báo và khắc phục chúng ngay lập tức. Vì nó sẽ làm làm cho bạn có thể nâng cấp lên PHP 8.0 dễ dàng hơn. > UPDATE: PHP8 đã ra mắt ngày 26/11/2020. Xem ngay PHP 8 có gì mới?UPDATE: PHP8 đã ra mắt ngày 26/11/2020. Xem ngay PHP 8 có gì mới?UPDATE: PHP8 đã ra mắt ngày 26/11/2020. Xem ngay PHP 8 có gì mới? Left-associative ternaryToán tử ternary có một số biến thể kỳ lạ trong PHP. RFC này thêm một cảnh báo không dùng nữa cho các câu lệnh ternary lồng nhau. Trong PHP 8, nó sẽ được chuyển thành runtime error.RFC này thêm một cảnh báo không dùng nữa cho các câu lệnh ternary lồng nhau. Trong PHP 8, nó sẽ được chuyển thành runtime error.RFC này thêm một cảnh báo không dùng nữa cho các câu lệnh ternary lồng nhau. Trong PHP 8, nó sẽ được chuyển thành runtime error. 1 ? 2 : 3 ? 4 : 5; // Không còn dùng nữa ? 2 : 3 ? 4 : 5; // Không còn dùng nữa ? 2 : 3 ? 4 : 5; // Không còn dùng nữa (1 ? 2 : 3) ? 4 : 5; // ok 1 ? 2 : 3) ? 4 : 5; // ok 1 ? 2 : 3) ? 4 : 5; // ok Ngoại lệ được phép trong $this1 Trước đây, các ngoại lệ không thể được ném trong Hành vi này hiện đã được thay đổi và ngoại lệ có thể được ném từ ConcatenationNếu bạn đã từng viết một cái gì đó như thế này: PHP trước đây sẽ thông dịch nó thế này: echo ("sum: " . $a) + $b; ("sum: " . $a) + $b; ("sum: " . $a) + $b; Nhưng, PHP 8 sẽ làm cho nó được thông dịch như thế này: echo "sum :" . ($a + $b); "sum :" . ($a + $b); "sum :" . ($a + $b); PHP 7.4 thêm cảnh báo không dùng nữa khi gặp biểu thức có chứa một dấu $this7 không tham số Kể từ khi thêm spread operator, có thể có trường hợp bạn muốn sử dụng $merged = array_merge(...$arrayOfArrays); = array_merge(...$arrayOfArrays); = array_merge(...$arrayOfArrays); Để hỗ trợ trường hợp trong đó Một mảng trống sẽ được trả về nếu không có đầu vào nào được truyền. Dấu ngoặc nhọn để truy cập mảng và chuỗiCó thể truy cập các mảng và chuỗi bằng dấu ngoặc nhọn: Cái này sẽ không dùng nữa. Thông báo truy cập mảng không hợp lệNếu bạn đã sử dụng cú pháp truy cập mảng trên (giả sử) một số nguyên. PHP trước đây sẽ trả về null. Kể từ PHP 7.4, bạn sẽ nhận được một thông báo. Cải tiến return2 Các thay đổi đã được thực hiện cho Điều này được thực hiện bằng cách chuyển một mảng thay vì một chuỗi cho lệnh. strip_tags cũng chấp nhận mảngBạn đã từng chỉ có thể tách nhiều tag như vậy: strip_tags($string, '') ($string, '($string, ' ' )PHP 7.4 cũng cho phép sử dụng một mảng: strip_tags($string, ['a', 'p']) ($string, ['a', 'p']) ($string, ['a', 'p']) return4 luôn có sẵnPhần mở rộng này hiện có sẵn vĩnh viễn trong tất cả các bản cài đặt PHP. PEAR không còn có sẵn mặc địnhVì PEAR không được duy trì tích cực nữa, The Core Team đã quyết định xóa cài đặt mặc định của nó với PHP 7.4. Một số cảnh báo không dùng nữa khácRFC này có rất nhiều cảnh báo không dùng nữa. Hãy chắc chắn đọc một lời giải thích chi tiết hơn trên trang RFC.RFC.RFC. Và còn nhiều thứ nữa.... Nếu bạn chưa biết, mọi thay đổi trong phiên bản của PHP đều được đưa ra để vote. Và năm nay quy trình này có một số cải tiến. Cải tiến quy trình bỏ phiếu cho RFCVề mặt kỹ thuật, đây không phải là bản cập nhật liên quan đến PHP 7.4, nhưng nó đáng để nói đến: Các quy tắc bỏ phiếu cho RFC đã được thay đổi.
Lời kếtĐó, đó là một số điểm thay đổi mới trong phiên bản PHP 7.4. Có thể nói, The Core Team đã làm việc rất vất vả. Và nếu bạn đã đọc đến tận đây, rất có thể là bạn quan tâm đến PHP. PHP. PHP. Vậy thì đừng quên chia sẻ và luôn luôn cập nhật công nghệ để bắt kịp cùng các lập trình viên PHP hàng đầu nhé. > Tham khảo ngay: KHÓA HỌC PHP FULL STACK (Khóa học giảng dạy kết hợp trên PHP 5 và PHP 7)KHÓA HỌC PHP FULL STACK (Khóa học giảng dạy kết hợp trên PHP 5 và PHP 7)KHÓA HỌC PHP FULL STACK (Khóa học giảng dạy kết hợp trên PHP 5 và PHP 7) --- HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay! Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội SĐT: 02435574074 - 096805156109680515610968051561 Email: Fanpage: https://facebook.com/NIIT.ICT/ #niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #python #java #php |