Jak już się Prph doczepił tych helperów to i ja to zrobie. Przytoczę kawałek kodu
<?php
addPasswordInput($name,$cssId = null,$cssClass = null)
?>
nie przewidziałeś że np ktoś może sachceć dodać inne parametry, chociażby np style. Czyżby przeróbka funckji? Nie lepiej zrobić, żebym listę parametrów ładował w tablicy?
Funkcje addTextInput() i addPasswordInput() w zasadzie różnią się słowem text/password, nie cierpie proceduralnego kopiowania kodu...
Zabolała mnie jeszcze jedna rzecz. Mianowicie fetching zapytań masz w klasie turquery.class.php, wykonanie ich turquery.class.php, obsługę bazy w tursql.class.php. Powiem tak: SYF. Klasa odpowiedzialna za baze danych powinna stanowić całość. A jak użyja innej bazy danych niż MySQL to chyba komponent turquery.class.php nie pójdzie do kosza? używasz tam funkcji do obsługi mysql... radzę zrobić jedność. Aby połączyć się z bazą muszę także ręcznie wywołać metodę za to odpowiedzialną. Nie wiam jak u Ciebie, ale u mnie w modelu podajesz nazwę klasy odpowiedzilną za obsługę źródła danych, wówczas konfigi, połączenie itd wykonuje się samo

W dispatcher
<?php
?>
po co static?
Obsługa uzytkownika (o mój Boże). Znowu jestem uzależniony od mysql... klasa chyba powinna TYLKO przechowywać info o nim, zbieranie danych z bazy danych to Model

<?php
if(count($this->vars) > 0
){ foreach($this->vars as $name => $val){
}
}
}
?>
po co... a nie lepiej wsadzić w template <?= $sText ?> albo <?php= $sText ?> , nie ma to jak szybkość działania.
Rozumiesz co to zmienne statyczne?
<?php
public final function registry($name){
?>
Używa się ich zazwyczaj w metodach statycznych, a Ty kombinujesz je w normalnych metodach wymagających instancji obiektu.
Podsumowywując... nie jest najlepiej. Przynajmniej takie jest moje zdanie.
Pozdrawiam, Athlan

btw polecam zajżeć
http://strzalek.net/blog/5/przyjazne-urle-piszemy-router