Re: PHP 5 Question about OO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Okay, I see there is a workaround but nothing realy satisfying, but I'm
not hoing to complain, I'm hapy to have oo in PHP at all. I never worked
with __autoload so far, but I will give it a try and check it out
thx
janbro

Marcus Bointon schrieb:
> On 1 Jun 2005, at 09:01, janbro wrote:
> 
>> require (Class2.php);
>> class Class1{
>>     private function ... {
>>         $refClass2 = new Class2;
>>     }
>> }
>>
>> Now my question, is it possible to skip that require/ include part? In
>> Java you don't need that, as class and file names are identical.
> 
> 
> PHP doesn't have this luxury - people can call files whatever they 
> like. However, PHP5 does have a nice feature to deal with this. In  your
> class1 class, create a function called __autoload like this:
> 
> function __autoload($class_name) {
>    require_once $class_name . '.php';
> }
> 
> In this case when you ask for a new class2 and you've not required it 
> before, it will automatically call __autoload with $class_name set to 
> 'Class2', which then requires the class file according to the pattern 
> used in the function, in this case 'Class2.php'. Note that while PHP  is
> not case sensitive to class names, the file system you're on  probably
> is, so keep your case consistent throughout.
> 
> Docs are here: http://www.php.net/manual/en/language.oop5.autoload.php
> 
> Marcus

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux