Is it possible to write strictly typed PHP code?

Edit: This answer applies to versions of PHP 5.6 and earlier. As noted in recent answers, PHP version 7.0 and later does have some support for this


Original answer:

No. There is only support for type hinting since php5, but "Type Hints can only be of the object and array (since PHP 5.1) type. Traditional type hinting with int and string isn't supported."

In PHP 7 are implemented "Scalar Type Declarations" see the answer below.

That is as far as php currently goes, and as far as it should go if you ask me.


In PHP 7 are implemented "Scalar Type Declarations", e.g.:

public function getBalance(): int {
    return 555;
}

You need to declare, that you will use strict types:

<?php
    declare(strict_types=1);

    function sum(int $a, int $b): int {
        return $a + $b;
    }

    sum(1, 2);
?>

More information: https://wiki.php.net/rfc/scalar_type_hints_v5

Tags:

Php

Oop