Re: Include and extending classes

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

 



* Mike Smith <mikeosmith@xxxxxxxxx>:
> In core.class.php I have my generic special html methods and my db
> connection. I'm having trouble accessing $this->db (initialized in
> core.class.php) from user.class.php. Am I wrong in thinking
> user.class.php should be able to access methods/attributes of
> core.class.php?
> I'm running PHP 5.0.4 on Windows
>
> //core.class.php
>
> class core {
>
>     var $db;
>
>     function core(){
>     //initialize db connection (works from here)
>     }
> //Other methods
> }
>
> //system.class.php
> include "../../inc/core.class.php";
> class system extends core {
>
>     function system(){
>
>     }
> }
>
> //user.class.php
> include "system.class.php";
> class user extends system{
>
>     function user(){
>     //$this->db cannot be used here
>     }
> }

Since you're using PHP5, you should use the magic method __construct()
for your constructors. Then, within each child class' constructor, add
the following:

    parent::__construct();

By doing so, eventually the core class' constructor will be triggered.

-- 
Matthew Weier O'Phinney           | WEBSITES:
Webmaster and IT Specialist       | http://www.garden.org
National Gardening Association    | http://www.kidsgardening.com
802-863-5251 x156                 | http://nationalgardenmonth.org
mailto:matthew@xxxxxxxxxx         | http://vermontbotanical.org

-- 
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