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