Napisalem pierwszą klasę w swoim życiu

Jej zadaniem jest listowanie zawartosci katalogu i przekazywanie zawartosci do szablonów Smarty, ale tutaj jest nieco przerobiona wersja.
Problem polega na tym, że jak wylistuję sobie katalog './' i wejdę w jakiś folder to adres w pasku przeglądarki powinien wyglądać tak "index.php?katalog=./folder/" i tak wygląda, ale jak otworzę katalog, który znajduje się w katalogu 'folder', to adres wygląda tak "index.php?katalog=./to coś z katalogu folder" i wywala błąd, bo taki plik nie istnieje (powinno być "index.php?katalog=./folder/to coś")
ps. proszę o ogólne uwagi / zalecenia co do tej klasy, gdyż jak wspomnialem, jest to mój pierwszy kod OOP.
Pozdrawiam :-)
<?php class listing { //deklaracje zmiennych var $katalog = ''; //sprawdzanie czy url nie zawiera ../ function sprawdzUrl($katalog) { return false; } else { return true; } } //funkcja wczytująca zawartośc katalogu do tablicy $elementy function listing ($katalog) { $this -> katalog = $_GET['katalog']; if($plik != '.' && $plik != '..') { $this -> elementy[] = $plik; } } } else { } } } //wywołanie $klasa = new listing($_GET['katalog']); foreach ($klasa -> elementy as $klucz => $folder) { //$this -> foldery[] = $folder; echo folder } ?>