CSCI 297 Scripting Languages Day Seven Objects in PHP CSCI 297 Scripting Languages Day Seven
Declaring a Class and an Instance <?php class User { public $name, $passwd, $balance; blah blah blah } $X = new User; print_r ($X); User Object ( [name] => [passwd] => [balance] => )
Copying Instances $X = new User; $Y = $X; $X->name = "Bob"; $Y->name = "Sue" echo $X->name . "<br>"; echo $Y->name . "<br>"; $Y = clone $X; Sue
Accessing Public Properties and Public Functions $X->name = "Bob Smith"; $X->balance = 0.0; ================== $amt_due = $X->get_balance(); $X->set_balance(99.99);
Declaring Methods function get_balance() { return $this->balance; } function set_balance ($param) $this->balance = $param;
Declaring Properties 1 of 3 Legal, but VERY bad idea class User {} // that's legal!!! $X = new User; $X->name = "Sue"; // now X has a new property
Declaring Properties 2 of 3 class User { var $name; // name is public public $balance; private $passwd; protected $something; }
Declaring Properties 3 of 3 class User { static $static_property; ... =================== $X = new User; $X->static_property = "Bob"; // illegal User::static_property = "Bob"; // legal
Constructors & Destructors class User { function _construct() $this->balance = 0.0; } function _destruct() blah blah
Subclasses class Customer extends User { function _construct() parent::_construct(); }