On 15 May 2011 23:06, Andre Polykanine <andre@xxxxxxxx> wrote: > Hello Richard, > > Â Â ÂI'd Âlike Âto Âmake Âa database wrapping class (yet another one, > aha!) as flexible, as possible. > So I'd like to make possible to call, for example, > $db->num_rows($result) > Â Â Â Â Â Â Â Â Â Â and > $db->NumRows($result) > And was just wondering :-). > > -- > With best regards from Ukraine, > Andre > Skype: Francophile > My blog: http://oire.org/menelion (mostly in Russian) > Twitter: http://twitter.com/m_elensule > Facebook: http://facebook.com/menelion > > ------------ Original message ------------ > From: Richard Quadling <rquadling@xxxxxxxxx> > To: Andre Polykanine > Date created: , 12:48:30 AM > Subject: Functions/methods aliases in PHp 5.2 > > > Â Â ÂOn 15 May 2011 21:45, Andre Polykanine <andre@xxxxxxxx> wrote: >> Hi everyone, >> >> Is there any possibility to make a method or function alias in PHP? >> Yes, I know I can do the following: >> >> <?php >> function foo_bar($x) { >> // And so we code... >> return $result; >> } >> >> function FooBar($x) { >> return foo_bar($x) >> } >> >> But maybe there is a more elegant solution? >> Thanks! > > Whilst you can do class_alias() - something I use to hide the long > class name for soap services - there isn't a function alias. > > But, if you are creating your own functions, then you could use a > closure and that can be assigned to a variable ... > > $fn_FooBar = function() { ... }; > > $fn_FooBar($a, $b, $c); > > or > > someFunc($fn_FooBar) { ... } > > > Closures are ideal for callbacks. > > Why do you want to alias functions? Is it to obscure the existing name? > > If so, take a look at using an encoder. This uses the compiled code > rather than the source to run. > > It is faster to run as there is no compile phase and the "code" isn't > very easy to reverse. A couple of things come to mind. 1 - If you create a subclass and were overriding num_rows(), the subclass would have to also override NumRows(). Twice as much work. 2 - You could use __call() and __callStatic() magic methods, but you'd have limited options for documentation then (assuming you use docblocks. Personally, I would recommend using 1 naming convention and sticking with it. Richard. -- Richard Quadling Twitter : EE : Zend @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php