Re: How to type arguments
| From: | Nathan Rixham | Date: | Tue, 02 Dec 2008 20:49:37 +0000 |
| Subject: | Re: How to type arguments | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-284007@lists.php.net to get a copy of this message | ||
Richard Heyes wrote:
also worth noting that you can type-hint as long as the type you're hinting is an object and not a primitive: function post(SomeObject $obj) { // php will effectively throw a catchable fatal error if // $obj is not an instance of SomeObject } sadly you can't: function post(int $number) { // doesn't work for primitives // but then php has limited primitive types :( } so safest bet is as you mentioned but with at least some scalar checking first function post( $id ) { if( is_scalar($id) ) {I'm a french student, sorry for my mail : I want to know how can I type my functions' arguments ? It is heavy to do : function post($id) { $id=(int)$id; //...PHP is loosely typed so strictly (...) speaking, that would be fine. However, you're best off making sure that what you've been given is what you think it is. Ergo, what you've written, is what I would do.or tu put (int) before each use...Not necessary to put it there for each use, just the first.
return (int)$id;} // if you get here you're id is an object, resource // or array and can't be cast to scalar type. }