Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP: How can I access / use a method within its own class?

Tags:

php

I am trying to figure out how to use a method within its own class. example:

class demoClass
{
    function demoFunction1()
    {
        //function code here
    }

    function demoFunction2()
    {
        //call previously declared method
        demoFunction1();
    }
}

The only way that I have found to be working is when I create a new intsnace of the class within the method, and then call it. Example:

class demoClass
{
    function demoFunction1()
    {
        //function code here
    }

    function demoFunction2()
    {
        $thisClassInstance = new demoClass();
        //call previously declared method
        $thisClassInstance->demoFunction1();
    }
}

but that does not feel right... or is that the way? any help?

thanks

like image 975
mspir Avatar asked Mar 02 '10 17:03

mspir


3 Answers

$this-> inside of an object, or self:: in a static context (either for or from a static method).

like image 184
jasonbar Avatar answered Oct 19 '22 13:10

jasonbar


You need to use $this to refer to the current object:

The pseudo-variable $this is available when a method is called from within an object context. $this is a reference to the calling object (usually the object to which the method belongs, but possibly another object, if the method is called statically from the context of a secondary object).

So:

class demoClass
{
    function demoFunction1()
    {
        //function code here
    }

    function demoFunction2()
    {
        // $this refers to the current object of this class
        $this->demoFunction1();
    }
}
like image 26
Gumbo Avatar answered Oct 19 '22 11:10

Gumbo


Just use:

$this->demoFunction1();
like image 40
a'r Avatar answered Oct 19 '22 11:10

a'r