1. Tổng quan.
PHP 7 nghe qua thì mọi người cũng
biết nó là gì rồi đúng không? PHP 7 là một phiên bản mới của PHP được phát hành
vào ngày 09 tháng 06 năm 2015 và đến thời điểm mình viết bài này thì nó
hiện đang ở phiên bản 7.1.3 (phát hành ngày 07-05-2016).
PHP 7 là phiên bản mà được rất
nhiều các lập trình viên mong đợi, vì nó có rất nhiều cải tiến cả về hiệu năng
lẫn các thư viện.
2. Những thứ mới trong PHP 7.
Dưới đây một số các thay đổi
trong PHP 7.0.X so với PHP 5.6.X
Hiệu năng
Đầu tiên phải kể đến đó là về hiệu
năng, PHP 7 đã cải tiến hiệu năng vượt trội so với các phiên bản cũ. Ở các
CMS hay các framework thì PHP 7 đều cho chúng ta một kết quả cực tốt. Cụ thể nó
có thể nhanh gấp 2 lần so với các phiên bản cũ hơn.
So
sánh hiệu năng PHP 7.
|
Như
chúng ta thấy thì PHP 7 đều cho kết quả nhanh gấp đôi so với PHP 5.6.2, nhưng
dường như ở phiên bản 7.1.0 thì có đôi chút chậm hơn so với PHP 7 (Chú ý: PHP 7.1.3 đã cho hiệu năng nhanh hơn PHP 7.0)
Và với các framework mạnh như
Laravel và Zend cũng đều cho kết quả rất tốt.
Ràng buộc dữ liệu truyền vào hàm
Ở phiên bản này PHP đã cho phép
chúng ta ràng buộc dữ liệu truyền vào hàm.
VD:
<?php
function getSum(int $number)
{
return $number + 5;
}
Xác định kiểu dữ liệu trả về cho hàm
Không những ràng buộc dữ liệu
truyền vào PHP còn ràng buộc cả dữ liệu trả về của hàm.
VD:
<?php
function getResult(int $number) : int
{
return $number;
}
Toán tử null Coalesce
Nếu như trước đây chúng ta phải sử
dụng các câu lệnh điều kiện loằng ngoàng để gán giá trị cho một biến thì giờ
đây với PHP 7 chúng ta có thể gán giá trị hết sức ngắn gọn với toán tử ?? .
VD:
<?php
//Nếu tồn tại biến $c thì $a = $c
//Nếu không tồn tại biến $c thì $a = 4
$a = $c ?? 4;
Toán tử Spaceship
Bổ sung thêm toán tử <=>
.
VD:
<?php
echo 5 <=> 6; //-1
echo 6 <=> 6; //0
echo 7 <=> 6; //1
echo "a" <=> "b";
//-1
echo "b" <=> "b"; //0
echo "b" <=> "a"; //1
Hằng có thể là mảng
Nếu như trước đây chúng ta chỉ có
thể khai báo hằng là số hoặc chuỗi với define() thì ở PHP 7 chúng ta
có thể khai báo hằng là một mảng dữ liệu.
VD:
<?php
define('CONNGUOI',[
'nguoi lon',
'tre con'
]);
echo CONNGUOI[0]; //nguoi lon
Lớp ẩn danh (anonymous classes)
Nếu như ở các version trước các
bạn chỉ có thể sử dụng được hàm ẩn danh, thì ở phiên bản này đã hỗ trợ chúng ta
lớp ẩn danh.
VD:
<?php
interface NguoiLon
{
public function getName();
}
class ConNguoi
{
private $nguoiLon;
public function setNguoiLon(NguoiLon $nguoiLon)
{
$this->nguoiLon = $nguoiLon;
}
public function getNguoiLon(): NguoiLon
{
return $this->nguoiLon;
}
}
$connguoi = new ConNguoi();
$connguoi->setNguoiLon(new class implements NguoiLon {
public
function getName(): string
{
return 'anonymouse class';
}
});
echo $connguoi->getNguoiLon()->getName();
//anonymouse class
Nhóm use
Nếu như trước đây bạn phải khai báo
nhiều use cho các namespace có cùng tên thì giờ đây bạn có thể gộp chúng lại
một group use.
VD:
<?php
// trước PHP 7
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;
// PHP 7 trở lên
use some\namespace\{ClassA, ClassB, ClassC as
C};
Bổ sung thêm hàm intdiv()
Bổ sung thêm hàm intdiv() với chức
năng chia lấy nguyên.
VD:
<?php
echo
intdiv(9,3); //3
echo
intdiv(10,3); //3
echo
intdiv(11,3); //3
3. Những thứ bị loại bỏ khỏi PHP 7.
Hàm khởi tạo trùng tên class
- Một là khai báo trùng với tên
class
- Hai là khai báo magic methods
__construct().
Thì giờ đây PHP 7 chỉ chấp nhận
cách khai báo hàm khởi bằng magicmethods.
VD:
<?php
class foo {
function foo() {
echo 'Class Foo được gọi';
}
}
//Deprecated: Methods with the same
name as their class will not be
// constructors in a future version
of PHP; foo has a deprecated constructor
Loại bỏ các extensions
- ereg
- mssql
- mysql
- sybase_ct
Loại bỏ các SAPIs
- aolserver
- apache
- apache_hooks
- apache2filter
- caudium
- continuity
- isapi
- milter
- nsapi
- phttpd
- pi3web
- roxen
- thttpd
- tux
- webjames
4. Lời kết.
Dựa những cải tiến mới của PHP
7 thì theo quan điểm của mình thì mọi người nên dần chuyển sang sử dụng PHP 7
nhằm khắc phục được phần nào về hiệu năng cũng như tính thiết kế thiếu chặt chẽ
của nó. Về vấn đề máy chủ thì đến thời điểm mình viết bài này, hầu như tất cả
các nhà cung cấp hosting lớn đã hỗ trợ hết PHP 7 rồi nên các bạn cứ yên tâm mà
dùng PHP 7.
PHP 7 với những tính năng nổi bật. |
Với nhiều năm kinh nghiệm trong việc thiết kế website bằng php, XJK luôn mang đến cho quý khách những dịch vụ hoàn hảo nhất, những website tuyệt vời nhất. Chỉ cần gọi: 08.6675.1357 chúng tôi sẽ giúp bạn hoàn thành tất cả những gì bạn mong đợi.
XJK với phương châm “Chất lượng tạo thành công” cam kết mang đến cho quý khách hàng những dịch vụ hoàn hảo nhất.
Xem thêm các dịch vụ khác của chúng tôi tại thiết kế website giá rẻ quận 12
No comments:
Post a Comment