Jump to content

Recommended Posts

Hi, 

Please consider the following:

 

 

--------------------------------------------------------------

Cool.php

--------------------------------------------------------------

 

<?php

    include_once "Common.class.php";

    include_once "Test.class.php";

 

    $common = new Common;

 

 

--------------------------------------------------------------

Common.class.php

--------------------------------------------------------------

 

<?php

 

class Common

{

    public blahblah;

 

    public function __construct()

    {

        blah blah

    }

 

    public function initSomething()

    {

         //Do something

    }

}

 

--------------------------------------------------------------

Test.class.php

--------------------------------------------------------------

 

<?php

 

class Test

{

 

    public function __construct()

    {

        initSomething(); // This is the method in the Common class and I want to use it here.

    }

}

 

In Test.class.php I want to use the initSomething() method in the Common class and in this case how do you normally archive this? 

 

Thanks in advance.

 

That's not enough information to say how you would "normally" achieve this, you will need to provide the full context of what you are trying to achieve.  One way would be to extend the common class, but that's situation dependant, It could just be that your class structure is wrong.

Don't use inheritance. Test is not a Common. Instead pass it through the constructor or a setter.

 

class Test {
  private $common;
  public function __construct(Common $common) {
    $common->initSomething();
  }
}
Edited by ignace
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.