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