Hello Xinchen,

Am 16.03.2015 um 06:28 schrieb Xinchen Hui:
>      lib.php
>      <?php
>        declare(strict_types = 1);
>        function add(int $a, int $b) {
>        }
> 
>      <?php 
>       add($_GET['a'], $_GET['b']);
> 
>      that means, I need to add a lots of (int) while I try to call a
> function in a library which is not written by myself.

that is not right and has been discussed a thousand times over.
The declare changes the rules only for function calls in the file it is
declared in.

so:
lib.php:
<?php
        declare(strict_types = 1);
        function foo(int $a) {
        // no function call here
        }
?>
The declare here does just nothing.

<?php
        require "lib.php";
        foo("123"); // will work
?>

<?php
        declare(strict_types = 1);
        require "lib.php";
        foo("123"); // will give an error
?>

Very easy, explained a thousand times over. Bringing up the same false
arguments up again and again does really not help the discussion.

Greets
Dennis





-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to