Piotr P. Software Developer
Temat: obiektowa obsługa zdarzeń. czy tworzyć osobne klasy dla...
Daniel C.:
tak :)
ale są akcje które zawierają kilkadziesiąt linijek ;)
moje pytanie wynika bardziej z przyzwyczajenia do pewnych wyrobionych sposobów programowania. przechodzę na OOP stąd to pytanie.
Czy proceduralne czy OOP nie ma znaczenia. Każda technika ma swoje plusy i minusy. my_super_news_class_add różni się jednym znakiem od my_super_news_class::add ;)
Popatrz jeszcze raz na swój przykład ( plik per akcja ):
news.php
news.add.php
news.del.php
Jakby nie patrzeć naszkicowałeś swoją klasę z metodami.
news.php = Klasa news
news.add.php = metoda add klasy news
news.del.php = metoda del klasy news
Zamiast wielu plików z kodem, wczytujesz jeden i pozwalasz na wykonywanie akcji.
require_once 'news.php';
/* wersja toporna */
$n = new news();
switch ($_GET['action']) {
case: 'add':
$n->add($param);
break;
/* etc */
}
/* werjsa lepsza jeśli masz więcej akcji i modułów do obsłużenia */
$n = news::factory($module_name, $action);
$n->execute();
BTW, jeden plik z 100.000 lini kodu wczyta się zdecydowanie szybciej niż 100.000 plików z jedną linijką każdy ;)