Hello Umberto,
Monday, October 15, 2007, 3:36:22 PM, you wrote:
> Posting to newsgroup php.internals, Stanislav Malyshev wrote:
>> > only reason to use type hints - to ensure the method is used
>> > correctly and build more robust applications), it is better to tell
>>
>> BTW, I'm not sure how exactly it makes the code more robust - if you
>> call it with wrong type and it's not checked, the app would probably die
>> on fatal error. If you call it with wrong type and it is checked, the
>> app would die on fatal error couple of lines above. Unless you use some
>> kind of static analysis tool to verify your app prior to deployment (if
>> you know such tools please tell me!) I don't see much difference here,
>> mostly syntax sugar and enforcing right style (which is not bad - just
>> it's not that big a deal).
> Most of the current applications of PHP do not need strict type checking, and
> PHP as we know today perfectly fits these needs. But debugging and "cleaning"
> large applications may become a nightmare.
> That's why I developed PHPLint,
I think this is a very nice tool and the way to go in PHP. You should
showcase demo it on one of the conferences! And provide links here of
course :-)
marcus
> a PHP parser and validator that performs
> a static analysis of the source, ensuring the safe handling of types. In
> a word, this tool makes PHP very close to a strong-typed language without
> the need to further complicate the interpreter with new features that would
> pervert the nature of the language.
> Every constant, variable, property has a well defined type, and every
> function and method has a well defined signature that can be guessed by
> PHPLint or provided through specific meta-code as in this example:
> $i = 123;
> # type of the variable guessed as int
> define("RND_K", 1.0 / (1.0 + getrandmax()));
> # type of the constant guessed as double
> function rnd()
> {
> return RND_K * rand();
> }
> # signature guessed as float()
> $i = rnd();
> # ERROR: assigning double to int
> function textToattribute(/*.string.*/ $a)
> {
> return "\"" . htmlspecialchars($a) . "\"";
> }
> # signature string(string)
> Best regards,
> ___
> /_|_\ Umberto Salsi
> \/_\/ www.icosaedro.it
Best regards,
Marcus
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php