Vomit
1.03.2006, 11:11:32
Ucze sie pisac w MVC, chce to robic jak najbardziej poprawnie. Spogladajac na framework hwao, ktory niedawno zaprezentował, skleiłem cos takiego:
<?php
abstract class Model
{
abstract public function Show();
}
class Index extends Model
{
public function __construct() {}
public function Show()
{
try
{
require(OPT_DIR . 'opt.class.php');
$tpl = new optClass;
$tpl -> root = 'templates/';
$tpl -> compile = 'templates_c/';
$tpl -> assign('index','hahahaha');
$tpl -> parse('index.tpl');
}
catch(optException $exception)
{
optErrorHandler($exception);
}
}
}
class Controller
{
private $action;
public function __construct() {}
public function setAction( $action = 'Index' )
{
$this->action = $action;
}
public function Display()
{
$view = new $this->action();
$view->Show();
}
}
$web = new Controller;
$web->setAction();
$web->Display();
?>
Czy zachowuje to załozenia MVC? Co powinienem dodac? Czego mi tu brakuje?
wywalilbym to require_once i uzyl __autoload, pozatym lepiej zrobic klase abstrakcyjna, ktora ma w sobie tworzenie optClass dzieki temu nie musimy w kazdej akcji tworzyc od nowa obiektu, tylko dziedizczymy po jakies klasie, ktora to implementuje, kontroler wg. mnie najlepiej zrobic jako singleton, chyba, ze masz jakis powod by nie byl to podaj, chetnie poslucham koncepcji
sobstel
1.03.2006, 12:19:12
nie do końca mi się podoba, że w tym przykładzie widok = akcja. ogranicza to trochę elastyczność aplikacji. poza tym, według mojego rozumienia w MVC tyko akcje ma prawo zmieniać dane w modelu, widok jest tylko od pobierania danych z modelu i ich wyświetlania.
Ogranicza elastycznosc w jakim sensie? Jakies rozwiniecie.
Moga byc akcje, ktore zmieniaja dane i akcje, ktore pobieraja dane i je wyswietlaja. Nie rozumiem czemu to przeszkadza

W koncu po to jest lancuch akcji.
Vomit
10.03.2006, 20:14:01
Do konca nie rozumiem, roznic w implementacji Akcji i Widoku stad jest to jedno i to samo ...
Zobacz sobie jak to jest zrobione w phiend. Tam masz akcje podzielone na logiczne - zmieniaja dane i na widokowe - wyswietlaja dane.
Vomit
10.03.2006, 21:42:39
Tak podejrzewałem ze zostane odesłany do jakiegos FW. W takim razie skad moge pobrac tego Phienda?
Z internetu. Wpisz w wyszukiwarke phiend framework.
Vomit
10.03.2006, 21:51:09
Niestety nie moge nic znalezc ...
dr_bonzo
10.03.2006, 21:56:51
Vomit
11.03.2006, 14:51:24
Nie szukam dokumentacji. Szukam kodu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.