Hey:


On Mon, Mar 16, 2015 at 7:33 PM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote:
> Hi Derick,
>
> On Mon, Mar 16, 2015 at 8:18 PM, Derick Rethans <der...@php.net> wrote:
>>
>> On Mon, 16 Mar 2015, Xinchen Hui wrote:
>>
>> > On Mon, Mar 16, 2015 at 5:00 PM, Pierre Joye <pierre....@gmail.com>
>> > wrote:
>> > >
>> > > On Mar 16, 2015 4:29 PM, "Xinchen Hui" <larue...@php.net> wrote:
>> > >>
>> > >>      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.
>> > >>
>> > >>      is that right?
>> > >
>> > > You got the answer but one thing bothers me a lot right now.
>> > >
>> > > How did you vote against this rfc while missing the core point of it
>> > > (after
>> > > actually having a strict mode)?
>>
>> > as I said,
>> > "
>> >  acutaly, I believe in most applications, they will still keep this
>> > off..
>> >
>> >   so why we introduce such thing?
>> > "
>> > I don't like strict_types at all..
>>
>> To be frank, I don't think "I don't like this" is a terribly good reason
>> to vote against (or for something). What is important is how many people
>> would actually benefit from a feature, without it causing issues for
>> others. I am certainly no fan of the "declare" *syntax*, but I do know,
>> from talking at conferences that many many developers would like to see
>> scalar type hints in some way — both weak (mode 1 of the STHv5 RFC), and
>> strict (mode 2). It even caters for people that don't want to use them
>> at all, as they can simply not use them. I also know, that without a
>> dual mode, it seems very unlikely for scalar type hints to make it
>> into PHP 7, and I don't think that is what users want. As this is our
>> *best* bet, I can only vote "yes".
>
>
> Are you sure on your bet?
>
> lib.php:
> <?php
>         declare(strict_types = 1);
>         function foo(int $a) {
>         // no function call here
>         }
> ?>
> The declare here does just nothing.
>
> a.php:
> <?php
>         require "lib.php";
>         foo("123"); // will work
> ?>
>
> b.php:
> <?php
>         declare(strict_types = 1);
>         require "lib.php";
>         foo("123"); // will give an error
> ?>
>
> This behavior is unacceptable.
> Caller (a.php, b.php) must satisfy lib.php expectation to make lib.php
> work as it should. Otherwise, all kinds of unexpected for lib.php and it's
> users may happen.
>
> Regards,
>
> --
> Yasuo Ohgaki
> yohg...@ohgaki.net

And last comment,  if there no such declare thing, I will definitely
vote yes to this RFC.

that's why I want vote no for this, and wait for Bob's  Basic STH.

thanks
>



-- 
Xinchen Hui
@Laruence
http://www.laruence.com/

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

Reply via email to