Afficher un message
Vieux 29/07/2007, 18h08   #2
Rik
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: is this possible in PHP

On Sun, 29 Jul 2007 18:53:24 +0200, Jeff
<it_consultant1@hotmail.com.NOSPAM> wrote:

> PHP version 5.2.3
> Below you see some .NET code. This is a class contain a private member
> variable. For other classes to access this private variable they have to
> use
> the public method. I'm wondering if something similar is possible with
> object-oriented PHP (5.2.3) programming??
>
> class Period
> {
> private double _second;
> public double Seconds
> {
> get { return _second; }
> set { _second = value; }
> }
> }
>
>


An implementation of this could be:

<?php
class Period{
private $_second;

function __set($name,$value){
echo 'Setting '.$name;
$this->$name = $value;
}
function __get($name){
echo 'Getting '.$name;
if(isset($this->$name)) return $this->$name;
echo 'No such property: Period::'.$name;
}
}
$foo = new Period();
$foo->_second = 123;
echo $foo->_second ;
?>

Check the manual for the __get()/__set() functions. If you want to force
the variable to be a float (or whatever you want) you can enforce that in
the __set() method.

<http://nl3.php.net/manual/en/language.oop5.overloading.php>
--
Rik Wasmus
  Réponse avec citation
 
Page generated in 0,05692 seconds with 9 queries