Follow US

Lifestyle

Sports

Gallery

Latest Post

Technology

About US

Random Posts

Business

Popular Posts

Email Me

Email mehere

About Me

Duis turpis tellus, commodo non dapibus quis, gravida ut lacus. Praesent cursus, elit blandit mollis pharetra, arcu justo dignissim nulla, sed.

Image: Louisa Stokes / FreeDigitalPhotos.net

Learn more

My Friends

Follow Me

Popular Posts

Menu

Tổng hợp những điểm mới trong PHP 5.5x và PHP 5.6x

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
Tag : PHP

Bài viết liên quan

Nhận xét Bình luận



0 nhận xét "Tổng hợp những điểm mới trong PHP 5.5x và PHP 5.6x"


Hỗ trợ - Liên hệ
  • Tư vấn - Robbie Tiến

    Call: 0932169882

    robbietien@gmail.com

    skype Robbie Tiến

  • Kỹ thuật - Robbie Tiến

    Call: 0932.169.882

    robbietien@gmail.com

    skype Robbie Tiến

  • Kỹ Thuật - Robbie Tiến

    Call: 0932.169.882

    robbietien@gmail.com

    skype robbietien

Back To Top