MeTitus Posted February 19, 2008 Share Posted February 19, 2008 Hi guys, Basically I have this in a xml document: <handler class="Registration" procedure="web_userLogin" /> the web_userLogin is a static method in Registration, the problem is that I don't know how to load the class. I was having this as reference but I wasn't yet able to succeed. [reference] PHP 5 is very very flexible in accessing member variables and member functions. These access methods maybe look unusual and unnecessary at first glance; but they are very useful sometimes; specially when you work with SimpleXML classes and objects. I have posted a similar comment in SimpleXML function reference section, but this one is more comprehensive. I use the following class as reference for all examples: <? class Foo { public $aMemberVar = 'aMemberVar Member Variable'; public $aFuncName = 'aMemberFunc'; function aMemberFunc() { print 'Inside `aMemberFunc()`'; } } $foo = new Foo; ?> You can access member variables in an object using another variable as name: <? $element = 'aMemberVar'; print $foo->$element; // prints "aMemberVar Member Variable" ?> or use functions: <? function getVarName() { return 'aMemberVar'; } print $foo->{getVarName()}; // prints "aMemberVar Member Variable" ?> Important Note: You must surround function name with { and } or PHP would think you are calling a member function of object "foo". you can use a constant or literal as well: <? define(MY_CONSTANT, 'aMemberVar'); print $foo->{MY_CONSTANT}; // Prints "aMemberVar Member Variable" print $foo->{'aMemberVar'}; // Prints "aMemberVar Member Variable" ?> You can use members of other objects as well: <? print $foo->{$otherObj->var}; print $foo->{$otherObj->func()}; ?> You can use mathods above to access member functions as well: <? print $foo->{'aMemberFunc'}(); // Prints "Inside `aMemberFunc()`" print $foo->{$foo->aFuncName}(); // Prints "Inside `aMemberFunc()`" [/reference] Any help is more than welcome, Thanks, MeTitus Link to comment https://forums.phpfreaks.com/topic/91996-loading-class/ Share on other sites More sharing options...
MeTitus Posted February 20, 2008 Author Share Posted February 20, 2008 Being a Java guy I can't believe I didn't think I could do it with reflection: $method = new ReflectionMethod('Foo', 'fooMethod'); Anyway thanks, MeTitus Link to comment https://forums.phpfreaks.com/topic/91996-loading-class/#findComment-471230 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.