Cytat
Łatwy w edycji i rozbudowie obiektowy kod PHP.
Kod nie jest ani obiektowy, ani łatwy w edycji. Ile masz tam klas? Raptem sześć, wyłączając OPT, i wszystkie z nich łamią podstawowe zasady projektowania obiektowego. Cała reszta to funkcje i przysłowiowy groch z kapustą, czyli wymieszanie wszystkiego ze wszystkim. Jak chcesz zobaczyć, na czym polega obiektowość, ściągnij sobie Zend Framework albo Symfony.
Cytat
System szablonów (wbudowana obsługa OPT).
Fajnie, że użyłeś OPT, ale czemu w nierozwijanej już od ponad dwóch lat wersji 1.x?! Ponadto sam sposób jego wykorzystania woła o pomstę do nieba - chwalisz się obecnością systemu szablonów, tylko co z tego, kiedy połowa kodu CMS-a wygląda tak:
// Pobieranie danych o polach rejestracji
$result = $sql_object->select('query', array('title', 'type', 'name', 'value'), SQL_PFX.'mod_reg_fields');?>
<form id='reg_form' method='POST' action='<?= $_SERVER['PHP_SELF'] ?>'>
To już uważam osobiście za kpinę z programistów oraz z mojej pracy

.
Cytat
Możliwość zarządzania polami rejestracji.
I to zarządzanie wygląda w ten sposób, że na sztywno jest przewidziane miejsce, gdzie mają się pokazywać pola i mimo tego, że już OPT 1.x posiada mechanizm generowania dynamicznych formularzy, Ty wynajdujesz koło od zera i robisz własny. Więc po co Ci ten OPT?
Ogólnie uważam, że przed Tobą jeszcze duuuuuuuuuuuużo nauki programowania, bo w tej formie póki co ten CMS równa w dół, do najgorszych, zamiast w górę, do najlepszych. Kilka rad, które pomogą Ci podnieść swoje umiejętności:
1. naucz się sensownie rozdzielać zadania między elementy aplikacji. Jeśli robisz funkcję, to niech ta funkcja zajmuje się
dokładnie jednym zadaniem. Jeśli robisz klasę, niech ona zajmuje się jednym zadaniem.
2. kod powinien być logicznie zorganizowany, tj. powinien istnieć jeden system wyświetlania, jeden system autoryzacji, jeden system robiący XYZ, jeden system robiący ABC. Jeśli ABC chce wykonać czynność podpadającą pod XYZ, to ABC powinien poprosić o jej wykonanie system XYZ, a nie zajmować się tym we własnym zakresie.
3. naucz się programowania obiektowego.
4. jeśli już decydujesz się na użycie zewnętrznej biblioteki, to poznaj jej możliwości i naucz się jej używać, a później patrz pkt. 2.