Re: About declare(strict_types = 1)
| From: | Xinchen Hui | 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/