Hi!

1. right now we *have* strict type checks for classes and arrays in the
    form of "classname" or "array"

Because classes and arrays were never intechangeable types and there was never implicit or explicit conversion between SplRecursiveTreeIterator and Zend_Pdf_Generator - it doesn't even make sense to suggest it. There always was conversion between int and string or int and bool. These two things are completely different.

2. the strict scalary type hint patch reuses this same syntax in the
    form of<type-name>  to do the same thing in function arguments

It's not a good thing. As I mentioned, primitive types and classes are very different in their use cases and established patterns in PHP. Primitive types are largely interchangeable, classes are not. (As for arrays, arrays really should be a class by their usage patterns etc. but for historic reasons... you know)

3. we have casting type hints in the rest of the code in the form of
    "(int)".

Just to make it simpler and less confusing, of course. It's nothing like language having two features that look almost exactly the same but work in different way, and using plenty of ()s is an added bonus for all Lisp fans out there.

Some people don't like strict typehints, but the syntax as it currently
is regarding type hints is *consistent*. Now, to allow both strict and
casting hints, the logical step seems to be, to give the weak typehint
advocates their tool as well:

Calling something that works completely differently from all the established patterns of PHP - like internal functions, etc. - "*consistent*" requires totally new definition of this word.
--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

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

Reply via email to