Re: [RFC] Strict type hints (parameter and return value)

From: Date: Sun, 20 Apr 2008 16:25:30 +0000
Subject: Re: [RFC] Strict type hints (parameter and return value)
References: 1 2 3 4 5 6  Groups: php.internals 
Request: Send a blank email to internals+get-37150@lists.php.net to get a copy of this message
Markus Fischer schrieb:
$foo->bar( (int)$baz, (string)$sober, (bool)$result['column_checkbox'] ); but this means he is really forced to think what he is really passing.
I'm surprised that you find this desirable.
It will not raise the overall code quality in a major way, but it helps developers on both sides (devs of libraries, devs of using the libraries) to ensure proper passing of varaibles. It is optional. And it will likely be only used by library/framework/component/whatever. But for them, I think, it's a win.
As explained before I consider a good framework to take work *off* of me, not make me think about details like whether $result['column_checkbox'] is 0, false or null to signify "option not checked". Why should I care? Typos in your parameters should be detected by testing (or something we've been thinking to implement as a PHP patch for a while but haven't gotten around yet: a warning about variables which are only used once). I would even go one step further and compare this approach to the UAC in Windows Vista: It is annoying and at the same time teaches users to ignore warnings by simply "clicking Ok" (casting) because 99% of the time that's the right thing to do anyway. A framework is written once but (hopefully) used any times. Why not make the framework robust enough to spare those details from its users? I'm tempted to call this approach unPHPonic (-:C Ok, my horse is officially dead now ;-) - Chris

« previous php.internals (#37150) next »