1

I have a Model.class.php and a Bag.class.php, the Bag class extends the Model class.

But when i try to call a function defined in Bag.class.php, it show a fatal error " Call to undefined function fill_entity() in"

bag.class.php :

class Bag extends Model{
 public function __construct($table_name){
    $this->table_name = $table_name;
 }

 public function fill_entity($row){
     $this->id = $row['bagID'];
     $this->name = $row['bagName'];
     $this->price = $row['bagPrice'];
     $this->url = $row['bagURL'];
     $this->img_url = $row['bagImgURL'];
     $this->mall_id = $row['mallID'];
     $this->brand_id = $row['brandID'];
 }

here's my php page where i call this function :

$bag = new Bag($bagtype);
$bag.fill_entity($row);  <---- error on this line.
2
  • 3
    Use -> instead of . to reference the function. Commented Jul 23, 2012 at 2:39
  • 2
    ...Because what you've written is valid PHP. It attempts to concatenate the output of a non-existant global function fill_entity() with the variable $bag. Commented Jul 23, 2012 at 2:45

2 Answers 2

2

You're using the wrong syntax. PHP doesn't use dot notation, but rather -> (arrow/pointer notation)

Try using this:

$bag->fill_entity($row);

(The . is still used in PHP, but is used for string concatenation.)

Don't feel bad about missing this, I did it plenty of times when I first tackled PHP.

Sign up to request clarification or add additional context in comments.

Comments

2

In PHP, it would be $bag->fill_entity($row); rather than $bag.fill_entity($row);.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.