PHP 5 supports public, private and protected properties. The PHP 4 style var are treated as public, but will raise an E_STRICT warning when used.

<?php
class foo {
    public 
$foo=1// everyone can access
    
private $bar=2// can only be accessed by the class internally
    
protected $baz=3// can be accessed by the class internally & any extending classes

    
function p1() { echo $this->foo $this->bar $this->baz; }
}

class 
foo_ex extends foo {
    function 
p2() { echo $this->foo $this->bar $this->baz; }
}

$a = new foo();
echo 
$a->p1(); // will print 123
$b = new foo_ex();
echo 
$b->p2(); // will print 13 + notice about unknown property foo_ex::$bar 
// accessing private/protected properties directly will result is a E_ERROR (fatal error)
echo $a->foo $a->bar $a->baz;
?>