Computer Webmaster Gaming Console Graphics Forum

Welcome to the Computer Webmaster Gaming Console Graphics Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

MK PitStop Main Earn $25 Earn Money Posting Extras Members Blogs Image Hosting User Pages
Go Back   Computer Webmaster Gaming Console Graphics Forum > Webmaster Forum > Website Coding > PHP
Register FAQ/Rules Become A V.I.P. Member Search Today's Posts Mark Forums Read

PHP PHP for some can be one of the hardest website programming codes, so do you need help on your PHP script, if it is php4, php5 or lower this is the place for you for any PHP help.

Google
Closed Thread
 
LinkBack Thread Tools Display Modes
Old 05-20-2007, 6:33 PM   #1
ZeldorBlat
 
ZeldorBlat's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Function tables

On May 2, 4:56 pm, Mark Stanton <m...@vowleyfarm.co.uk> wrote:
> I'd like to implement one of these (a function table).
>
> First I thought that execution through variable functions
> ($foo='bar', $foo() executes the function 'bar') would work work, but
> this seems to get upset when my function is actually a method of a
> class.


You can use variable function names with class methods. The following
works just fine and echo's out "baz":

class Foo {
public function bar($x) {
echo $x;
}
}

$f = new Foo();

$funcName = 'bar';
$f->$funcName('baz');

>
> Then I hoped that call_user_func(_array) would do the trick, but this
> seems to get upset when the method uses "this", which is something of
> a serious limitation it seems to me.


call_user_func() can also be used with object methods (even when they
reference "this"). The following also correctly echo's out "baz":

class Foo {
protected $x = 'baz';

public function bar() {
echo $this->x;
}
}

$f = new Foo();
call_user_func(array($f, 'bar'));

>
> Anyone know ways around either or both of these apparent (to me)
> problems?
>
> Regards
> Mark


So these aren't really problems.

 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Advertisements
Old 05-20-2007, 6:33 PM   #2
ZeldorBlat
 
ZeldorBlat's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Function tables

On May 2, 6:02 pm, ZeldorBlat <zeldorb...@gmail.com> wrote:
> On May 2, 4:56 pm, Mark Stanton <m...@vowleyfarm.co.uk> wrote:
>
> > I'd like to implement one of these (a function table).

>
> > First I thought that execution through variable functions
> > ($foo='bar', $foo() executes the function 'bar') would work work, but
> > this seems to get upset when my function is actually a method of a
> > class.

>
> You can use variable function names with class methods. The following
> works just fine and echo's out "baz":
>
> class Foo {
> public function bar($x) {
> echo $x;
> }
>
> }
>
> $f = new Foo();
>
> $funcName = 'bar';
> $f->$funcName('baz');
>
>
>
> > Then I hoped that call_user_func(_array) would do the trick, but this
> > seems to get upset when the method uses "this", which is something of
> > a serious limitation it seems to me.

>
> call_user_func() can also be used with object methods (even when they
> reference "this"). The following also correctly echo's out "baz":
>
> class Foo {
> protected $x = 'baz';
>
> public function bar() {
> echo $this->x;
> }
>
> }
>
> $f = new Foo();
> call_user_func(array($f, 'bar'));
>
>
>
> > Anyone know ways around either or both of these apparent (to me)
> > problems?

>
> > Regards
> > Mark

>
> So these aren't really problems.


Correction. In the first case, that's an /object/ method. If you
want to call a /class/ (static) method that way, you would do it with
call_user_func like this (which I think is what you're trying to get
to):

class Foo {
public static function bar($x) {
echo $x;
}
}

call_user_func(array('Foo', 'bar'), 'baz');

 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Old 05-20-2007, 6:33 PM   #3
Usenet
 
Usenet's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Function tables

In article <1178143629.149286.195870@h2g2000hsg.googlegroups. com>,
ZeldorBlat wrote:
> > You can use variable function names with class methods. The following
> > works just fine and echo's out "baz":


Thank you for that. I'll give it a go as soon as I have a chance.

I first tried this a couple of months ago, then couldn't post to this
newsgroup for a long time and have just been able to. So now I'm going to
have to think hard to try to remember exactly what I was trying to do :-(

Regards
Mark

 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Featured Websites
Free Space
Free Space
Free Space Free Space
Closed Thread
Tags: ,




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
CSS and tables together fireshark HTML 9 09-29-2006 2:31 PM
CSS vs Tables :P webbymonster CSS 6 07-31-2006 12:41 AM
Why don't the tables to what I want them to do! Klaas_Koopman HTML 12 07-30-2006 7:04 PM
Basic Usage Of Php Mail Function Whatcha PHP 3 05-11-2006 2:46 AM


Featured Websites




All times are GMT +1. The time now is 11:58 PM.


Powered by: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.0.0
Cheap Computers
MK PitStop Copyright 2005 - 2008

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98