Search code examples
phpfunctionvariablesampersand

How to return a class variable as a reference (&/ampersand) in PHP?


This is sample of my code.

class SomeClass extends SomeOtherClass
{

    function __construct($input)
    {
        parent::__construct($input);
        $this->conn = new mysqli('a','b','c','d');
    }

    function getConnection()
    {
        return &$this->conn;
    }

}

My main object is that i want to return the MySQLi connection by referencing it instead of creating another MySQLi class.


Solution

  • It's:

    function &getConnection()
    {
       return $this->conn;
    }
    

    and when calling:

    $conn = &$instance->getConnection();
    

    That's how to return variables by reference in general, but for resource type variables you don't need to.