Thursday 16 November 2017

php - Call to a member function on a non-object






So I'm refactoring my code to implement more OOP. I set
up a class to hold page
attributes.



class PageAtrributes

{
private $db_connection;
private
$page_title;

public function __construct($db_connection)

{
$this->db_connection = $db_connection;


$this->page_title = '';
}

public function
get_page_title()
{
return $this->page_title;

}

public function set_page_title($page_title)

{

$this->page_title = $page_title;

}
}


Later on
I call the set_page_title() function like
so



function
page_properties($objPortal) {

$objPage->set_page_title($myrow['title']);
}



When
I do I receive the error
message:




Call to a
member function set_page_title() on a
non-object




So what
am I missing?


itemprop="text">
class="normal">Answer





It means that
$objPage is not an instance of an object. Can we see the code
you used to initialize the variable?



As you
expect a specific object type, you can also make use of href="http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration"
rel="noreferrer">PHPs type-hinting
featureDocs to get the error when
your logic is violated:



function
page_properties(PageAtrributes $objPortal) {
...

$objPage->set_page_title($myrow['title']);
}



This
function will only accept PageAtrributes for the first
parameter.


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...