April 24, 2025

Tổng hợp những điểm mới trong PHP 5.5x và PHP 5.6x
Trong bài hôm nay mình sẽ giới thiệu với các bạn về những đặc điểm mới trong version mới của PHP, nếu bạn để ý sẽ thấy nó có rất nhiều cái hay và tiện dụng :)
Constant scalar expressions

Constant scalar expressions có nghĩa là cho phép bạn thực hiện một biểu thức ở bất kỳ nơi nào, giờ đây bạn muốn thực hiện một biểu thức tại hằng số (constant) hoặc khởi tạo tham số cho function hay một kiểu khác trở nên dễ dàng hơn.
<?php
const SO_A = 2;
const SO_B = SO_A * 2 + 1;
const SO_C = SO_B * 2;

class Operator {
    public function outNumber($number = SO_A * SO_C)
    {
         $result = "";
     for ($i = 1; $i < $number / SO_A; $i++) {
           $result.= "Từ ".$i." đến 10 <br/>";
     }
    return $result;
    }
}

echo (new Operator)->outNumber();
#Variadic functions via …

Trước kia bạn muốn lấy những tham số truyền vào cho một hàm một cách ngẫu nhiên thì bạn phải sử dụng 2 functions: func_get_arg, func_num_args. Nhưng với PHP 5.6x thì bạn có thể thực hiện nó một cách ngắn gọn hơn đó là dùng “…” thêm ba chấm vào trước $var mà bạn khởi tạo ở function.

<?php

function getNumber(...$numbers)
{
     $total = 0;
     foreach ($numbers as $number) {
    $total += $number;
     }
     return $total;
}

getNumber(1,2,3,4,5,6,7,8,9)
The way new define array with []

Đây là cách khai báo một mảng mới từ phiên bản PHP 5.4x trở lên, nó giúp bạn khai báo một mảng ngắn gọn hơn nhiều so với trước đây :)
<?php
// before
$author = array('Demon Warlock', 'Võ Minh Mẫn', 'Clackken Smith', 'Mr. Nav');
// now
$author = ['Demon Warlock', 'Võ Minh Mẫn', 'Clackken Smith', 'Mr. Nav'];
Argument unpacking via …
Điều này cho phép bạn tách rời các phần tử có trong một mảng để chuyển thành tham số cho một hàm để sử dụng chúng. Ví dụ ta có 2 phần từ trong mảng $numbers là 2 và 3 khi ta sử dụng …$numbers chúng ta sẽ có hai tham số $b = 2 và $c = 3.
<?php

function totalNumber($a, $b, $c)
{
     return $a + $b + $c;
}

$numbers = [2, 3];
echo totalNumber(5, ...$numbers);
Exponentiation via **

Trước đây khi tính luỹ thừa của một số, bạn thường dùng hàm pow(2,3) tham số thứ 1 là số nguyên và tham số thứ 2 là số mũ thì giờ mình có cách viết ngắn gọn hơn nữa đó là dùng “**”
<?php
printf("2 ** 3 == %d", 2 ** 3);
Namespace – use function and use const

Namespace? nó là gì thì có thể một số bạn newbie sẽ chưa biết nó là gì thì có thể xem ở đây. Phiên bản mới này đã cập nhật thêm 2 tính năng mới cho Namespace đó là dùng một hàm hoặc một hằng số trong một Namespace khác mà không cần phải khởi tạo nó.
<?php
// file namespace_one.php

namespace Izwebz\App;

class IzwebzApp {
    const IZWEBZ_APP = "Izwebz.com";
    public function izwebz()
    {
         echo "Izwebz - Học thiết kế web theo chuẩn";
    }
}

// file namespace_two.php

require_once('namespace_once.php');

use const Izwebz\App\IzwebzApp\IZWEBZ_APP;
use function Izwebz\App\IzwebzApp\izwebz;

echo IZWEBZ_APP;
izwebz();
New function hash_equals()

Nó giúp bạn so sánh hai chuỗi được mã hoá bởi hàm crypt(), PHP support họ khuyên rằng bạn nên sử dụng nó để giảm thiểu sự tấn công từ bên ngoài vào để đánh cắp CSDL của bạn.
<?php
$expected  = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$correct   = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$incorrect = crypt('1234',  '$2a$07$usesomesillystringforsalt$');

var_dump(hash_equals($expected, $correct)); // true
var_dump(hash_equals($expected, $incorrect)); // false


Nguồn : iZweb.Com
Nhãn:

Đăng nhận xét

Emoticon
:) :)) ;(( :-) =)) ;( ;-( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (b) (f) x-) (k) (h) (c) cheer
Click to see the code!
To insert emoticon you must added at least one space before the code.

Đăng nhận xét

    Biểu mẫu liên hệ

    Tên

    Email *

    Thông báo *

    Được tạo bởi Blogger.