Cytat(marcio @ 16.04.2008, 19:58:22 )

Heh nie znam sie na OOP wiec nie dam rady tego napisc ale idea jest obra moze pokazalbys jak ty to robisz bo do tej pory ja tak to robilem jak napisalem wczesniej i wszystko dobrze i bezpiecznie dzialalo ale moze bylo lamersko napisane

Wiesz, skoro działa i wystarcza, to znaczy że dobrze, nie wiem dlaczego miało by być "lamersko".
Ale możesz coś w tym stylu:
<?php
interface IAction {
public function run();
}
?>
a w głównym kontlorerze:
<?php
if( !ctype_alfnum( $_GET['action'] ){
//Not found
}
$strClassName = 'prefix' . $_GET['action'];
if( class_exists( $strClassName ) ){
$objAction = new $strClassName();
if( $objAction instanceof IAction ){
$objAction->run();
}
}
?>
W tym przypadku przydaje się autoloader dobrze napisany, aby ładował akcje sam.
Oczywiście co przekazujesz do akcji, czy akcja jest tylko interfejsem (lepiej nie), czy też jest abstrakcyjna, to potem ułatwia, masz pewne rzeczy z głowy. Np. jak chcesz autoryzacje, taką prostszą to może wystarczyć
UserFactory::gerAuth()->mustLevel( iUserAuth::ADMIN );
Lub po prostu odpowiednie dziedziczenie, po abstrakcji z autoryzacją i zaimplementowanie odpowiedniej metody...
Sposobów jest wiele, ale obiektowe podejście wiele rzeczy ułatwia jak się dobrze zrobi.