Ask a Question related to PHP Development, Design and Development.
-
Lüpher Cypher #1
defining a class/instantiating object inside a method of anotherclass
Ok, here's what I'm trying to do.
I have a class. Inside the class I have a method that reads a text file.
In the text file I have a class name and a file name where that class is
defined. Now, I need to instantiate an object of that class, the problem
being that at the time I find out the class name and the file name, I'm
inside a method of another class. Well, let me just type up a little
example:
class MainClass {
$obj = null;
...
function init() {
$lines = file($some_file);
... // parsing
$kv = explode(":",$line);
$className = $kv[0];
$classFile = $kv[1];
// somehow define className that's in classFile
$this->obj = new $$className();
}
}
I don't remember exactly how it was I used a variable with new, I think
it was $$, but that's not the problem. The problem is that I don't need
to include the class definition file inside a function, I just need to
define a class using what's inside that file.
Taking the whole thing outside of the class definition is not going to
work - suppose I have many subclasses of this class, each with its own
file, then for every class I'd have to provide a separate function
outside the class definition to read the file.
Think of it as creating a tree of objects where children objects' class
names are taken out into a separate text file, so that at any time it
would be easy to change the set of succeeding children without changing
the parent class implementation.
Any ideas? :)
Lüph
Lüpher Cypher Guest
-
Pass Class Object To FMS Using NetConnection.call Method
Hello All, I have a custom class that defines several methods on itself to retrieve its data. This class object is then sent to FMS via the... -
How should I announce the list of delayed class/object/method loaders?
I've been maintaining a list of object loaders for quite some time now: http://metaperl.com/article-pod/Catalog-lazy_loaders/lazy_loaders.html ... -
Assign inside a class method
Hi, great language Exactly I want to implement a postfix increment, but I don't know how to assign inside the class method class Numeric def... -
Passing an Object Class from a method to a caller
Hi -- On Fri, 12 Sep 2003, Michael Granger wrote: I think break (pre-1.8.0 or without explicit value in 1.8.0) evaluates to nil: $ ruby... -
Passing an Object Class from a method to a caller
This is a multi-part message in MIME format. ------=_NextPart_000_004C_01C37882.24993D90 Content-Type: text/plain; charset="Windows-1252"... -
Berislav Lopac #2
Re: defining a class/instantiating object inside a method of another class
On Tue, 19 Oct 2004 04:07:11 GMT, Lüpher Cypher wrote:
No, just include the class definition file anywhere, even inside the> Taking the whole thing outside of the class definition is not going to
> work - suppose I have many subclasses of this class, each with its own
> file, then for every class I'd have to provide a separate function
> outside the class definition to read the file.
function block. As PHP is parsed and compiled before it's executed, class
definitions are valid for whole program, regardless of where they are
defined.
Berislav
Berislav Lopac Guest
-
Lüpher Cypher #3
Re: defining a class/instantiating object inside a method of anotherclass
Berislav Lopac wrote:
Cool, I didn't know that. Thanks!> On Tue, 19 Oct 2004 04:07:11 GMT, Lüpher Cypher wrote:
>
>>>>Taking the whole thing outside of the class definition is not going to
>>work - suppose I have many subclasses of this class, each with its own
>>file, then for every class I'd have to provide a separate function
>>outside the class definition to read the file.
>
> No, just include the class definition file anywhere, even inside the
> function block. As PHP is parsed and compiled before it's executed, class
> definitions are valid for whole program, regardless of where they are
> defined.
>
Lüpher Cypher Guest



Reply With Quote

