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