Posłużę się takim przykładem:
<?php
class nazwaklasy
{
var $atrybut; // deklaracja zmiennej
function ustawAtrybut($param)
{
$this->atrybut = $param; // przypisanie atrybutowi wartości parametru
}
function wypiszAtrybut()
{
echo $this->atrybut; // wypisanie wartości atrybutu }
}
// tworzymy sobie 2 obiekty klasy nazwaklasy
$obiekt1=new nazwaklasy;
$obiekt2=new nazwaklasy;
// przypisanie obiektom 2 różnych wartości atrybutu
$obiekt1->ustawAtrybut('asdf');
$obiekt2->ustawAtrybut('qwer');
$obiekt1->wypiszAtrybut(); // wypisze asdf
$obiekt2->wypiszAtrybut(); // wypisze qwer
?>
Deklaracje zmiennych w klasie robi się dla przejrzystości kodu. Patrzysz na początek klasy i wiesz jakie ma atrybuty i jakich typów, nie musisz ich szukać w poszczególnych metodach.
$this oznacza jakby odwołanie się do samego siebie, czyli jeśli masz obiekt jakiejś klasy który nazywa się $obiekt1 to $this jest tożsame z $obiekt1 (dla tego obiektu).
Nieźle zamotałem, ciekawe ile w tym racji - ja to tak rozumiem, a z obiektówką jestem po tyłach niestety. Tak więc proszę - poprawcie mnie jeśli się mylę.