Re: About declare(strict_types = 1)

From: Date: Mon, 16 Mar 2015 05:55:47 +0000
Subject: Re: About declare(strict_types = 1)
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-84985@lists.php.net to get a copy of this message
Hey: On Mon, Mar 16, 2015 at 1:49 PM, Dennis Birkholz <dennis@birkholz.biz> wrote: > 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. That is why I don't see it before (thousand times, too long to read... but not in RFC) anyway, thanks for answering then I have no further questions anymore. thanks > > Greets > Dennis > > > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php -- Xinchen Hui @Laruence http://www.laruence.com/

« previous php.internals (#84985) next »