Re: Documentation for VAR

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I was looking for formal documentation because I am doing a pre-processor 
for some PHP extensions and wanted to know the right and formal description 
for it.  Nevertheless, I think your examples below cover most cases, a help 
much appreciated.  Thanks

Satyam



"Jochem Maas" <jochem@xxxxxxxxxxxxx> wrote in message 
news:42694092.6000405@xxxxxxxxxxxxxxxx
> Richard Davey wrote:
>> Hello Satyam,
>>
>> Friday, April 22, 2005, 3:59:38 PM, you wrote:
>>
>> S> I've been going through the manual and haven't found 'var'
>> S> documented anywhere, as far as I found, it is just used, and that's
>> S> it. It seems it first appears when it talks about Classes, and it
>> S> is just used in the examples as if everyone knew what var is
>> S> supposed to do.
>>
>> It's a "constant initializer" - which is both an accurate and
>> misleading title at the same time :) It will initialise a variable to
>> be constant through-out your entire class (meaning any method can
>> access it) but unlike true PHP constants (those created with define)
>> the value of the variable can be manipulated from just about anywhere.
>
>
> indeed in php you can do the following instead:
>
> <?
>
> error_reporting( E_ALL & E_STRICT );
> class Test
> {
>     // this first var (commented out) should (I thought) act as if defined
>     // 'public' - it doesn't given a parse error with php -l, but does 
> when run.
>     // I haven't run into this problem in 1.5 years of writing php5...
>     // I must be having a brain freeze :-/
>     //$myVar;
>
>     // publically accessible instances variables
>     public $myVar1; // not initialized with a value
>     public $myVar2 = "2"; // initialized with a value
>
>     // an instance variable thats only available
>     // from within _all_ methods of this object.
>     // .. methods could be defined in subclasses or parent-classes
>     protected $myVar3 = "3";
>
>     // an instance variable that is only available to the
>     // methods defined in _this_ class
>     private $myVar4 = "4";
>
>     // a variable with class scope (all instances see the same value),
>     // publically accessible
>     static $myVar5 = "5";
>     static public $myVar6 = "6";
>
>     // a variable with class scope (all instances see the same value),
>     // thats only available from within _all_ methods of this object.
>     static protected $myVar7 = "7";
>
>     // a variable with class scope (all instances see the same value),
>     // thats only available from methods defined in _this_ class
>     static private $myVar8 = "8";
>
>     public function get4() { return $this->myVar4; }
>     public function get8() { return self::$myVar8; }
> }
>
> // basic usage examples:
>
> var_dump( ($t = new Test), $t->myVar2, $t->get4(), Test::$myVar6, 
> $t->get8() );
>
> ?>
>
> I can thoroughly recommend php5's much improved object model,
> try other variations of calls to the defined 'myVar's, also try doing
> with sublcasses, see what does/doesn't work, have fun :-)
>
>>
>> It is of course PHP4 only and is depreciated in PHP5.
>>
>> Best regards,
>>
>> Richard Davey 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux