<?php
 
 
namespace Lotos;
 
ini_set("display_errors", true);
 
error_reporting(E_ALL);
 
date_default_timezone_set('Europe/Warsaw');
 
 
require('./typehint.php');
 
 
$x = new \TypeHint();
 
echo "<pre>";
 
 
function testString(string $a) {
 
    var_dump($a);
 
}
 
 
function testBoolean(bool $a) {
 
    var_dump($a);
 
}
 
 
function testInt(int $a) {
 
    var_dump($a);
 
}
 
 
class test
 
{
 
    public static function staticTester(string $a) {
 
        var_dump($a);
 
    }
 
    
 
    public function objectTester(bool $a) {
 
        var_dump($a);
 
    }
 
}
 
 
$tester = new test();
 
$tester->objectTester(true);
 
test::staticTester("a");
 
 
// OK
 
testString("a");
 
 
// ERROR: Catchable fatal error: Argument 1 passed to testString() must be an instance of string, integer given, called in C:\lotos\public_html\example.php on line 30 and defined in C:\lotos\public_html\example.php on line 13
 
testString(12);
 
 
/*
 
 
// OK
 
testBool(true);
 
 
// ERROR
 
testBool(false);
 
 
*/
 
 
/*
 
 
// OK
 
testInt(12);
 
 
// ERROR
 
testInt("a");
 
 
*/
 
 |