wiki

View on GitHub

Tham số của method và function

Các tham số mà có giá trị mặc định phải nằm ở các vị trí sau cùng trong danh sách các tham số.

//bad
<?php

namespace Vendor\Package;

class ClassName
{
    public function foo(int $arg1 , &$arg3 = [] , $arg2)
    {
        // method body
    }
}
//good
<?php

namespace Vendor\Package;

class ClassName
{
    public function foo(int $arg1, &$arg2, $arg3 = [])
    {
        // method body
    }
}

declare(strict_types=1);

namespace Vendor\Package;

class ReturnTypeVariations { public function functionName(int $arg1, $arg2):string { return ‘foo’; }

public function anotherFunction(
    string $foo,
    string $bar,
    int $baz
): string {
    return 'foo';
} } // good  <?php

declare(strict_types=1);

namespace Vendor\Package;

class ReturnTypeVariations { public function functionName(int $arg1, $arg2): string { return ‘foo’; }

public function anotherFunction(
    string $foo,
    string $bar,
    int $baz
): string {
    return 'foo';
} } ```` - Nếu khai khai bảo trả về kiểu nullable, thì không được có khoảng trắng giữa dấu hỏi chấm và kiểu dữ liệu.

Nếu sử dụng toán tử & trước các tham số, thì không được có khoảng trắng ở phía sau nó.

//bad
<?php

declare(strict_types=1);

namespace Vendor\Package;

class ReturnTypeVariations
{
    public function functionName(?string $ arg1, ?int & $arg2): ? string
    {
        return 'foo';
    }
}
//good
<?php

declare(strict_types=1);

namespace Vendor\Package;

class ReturnTypeVariations
{
    public function functionName(?string $arg1, ?int &$arg2): ?string
    {
        return 'foo';
    }
}