note 115245 added to language.oop5.overloading
| From: | bimal at sanjaal dot com | Date: | Thu, 19 Jun 2014 09:05:45 +0000 |
| Subject: | note 115245 added to language.oop5.overloading | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-199720@lists.php.net to get a copy of this message | ||
Use of magic functions may make your private variables behave like public ones.
But it becomes strict; you cannot (in fact should not) assign any properties dynamically during the
runtime.
<?php
class order
{
private $OrderID='';
private $OrderAmount=0.00;
public function __set($name='', $value='')
{
if(property_exists($this, $name))
{
$this->$name = $value;
}
}
public function __get($name='')
{
$value = null;
if(property_exists($this, $name))
{
$value = $this->$name;
}
return $value;
}
}
$order = new order();
$order->OrderID = '201305062202';
$order->OrderAmount = 23.45;
$order->InvalidMember = 'Missed Assignment';
echo '<pre>', print_r($order, true), '</pre>';
?>
Outputs:
order Object
(
[OrderID:order:private] => 201305062202
[OrderAmount:order:private] => 23.45
)
----
Server IP: 72.52.91.14
Probable Submitter: 217.165.125.22
----
Manual Page -- http://php.net/manual/en/language.oop5.overloading.php
Edit -- https://master.php.net/note/edit/115245
Del: integrated -- https://master.php.net/note/delete/115245/integrated
Del: useless -- https://master.php.net/note/delete/115245/useless
Del: bad code -- https://master.php.net/note/delete/115245/bad+code
Del: spam -- https://master.php.net/note/delete/115245/spam
Del: non-english -- https://master.php.net/note/delete/115245/non-english
Del: in docs -- https://master.php.net/note/delete/115245/in+docs
Del: other reasons-- https://master.php.net/note/delete/115245
Reject -- https://master.php.net/note/reject/115245
Search -- https://master.php.net/manage/user-notes.php