i z góry przepraszam moderację za ogólny temat wątku ale szczerze nie wiedziałem jak inaczej go nazwać. Otóż przyglądając się ostatnio budowie Zenda natknąłem się na dość nie zrozumiałą dla mnie "rzecz".
Najpierw kawałek kodu:
// Źródło "http://www.karolnowicki.pl/zend-framework/artykul/pokaz/system-logowania-w-zend-framework/" public function loginAction() { $form = new Form_Login(); $form->setAction('/uzytkownicy/login') ->setMethod('post'); if ($this->_request->isPost() && $form->isValid($_POST)) { // pobieramy dane z formularza $data = $form->getValues(); // pobieramy domyślny adapter bazy danych $db = Zend_Db_Table::getDefaultAdapter(); // tworzymy instancję adaptera autoryzacji $authAdapter = new Zend_Auth_Adapter_DbTable($db, 'uzytkownicy', 'email', 'haslo'); // wprowadzamy dane do adaptera $authAdapter->setIdentity($data['email']); // sprawdzamy, czy użytkownik jest aktywny $authAdapter->setCredentialTreatment("? AND status = '1'"); // autoryzacja $result = $authAdapter->authenticate(); if ($result->isValid()) { // umieszczamy w sesji dane użytkownika $auth = Zend_Auth::getInstance(); $storage = $auth->getStorage(); 'id', 'email', 'imie', 'nazwisko', 'rola' ))); return $this->_redirect('/'); } else { $this->view->loginMessage = "Niepoprawny login lub hasło"; } } $this->view->form = $form; }
Jak widać jest to akcja logowania w kontrolerze UzytkownicyController.php. Tu pojawia się moje pytanie czy w kontrolerze powinno się podawać hmm jak by to nazwać... dane statyczne(nie mylić ze static ;p) takie jak:
$authAdapter = new Zend_Auth_Adapter_DbTable($db, 'uzytkownicy', 'email', 'haslo')
$authAdapter->setIdentity($data['email']);
$authAdapter->setCredential(md5($data['password']));
$storage->write($authAdapter->getResultRowObject(array(
'id', 'email', 'imie', 'nazwisko', 'rola'
)));
Wiem, że pytanie prosto z księżyca ale ni jak mi to nie pasuje do wzorca MVC gdzie kontroler "Odpowiedzialny jest za przetwarzanie zadań i wywoływanie właściwej akcji lub widoku".
ps. wiem, że PHP'owskie FW nie implementują "prawdziwego" MVC ale czy to oznacza, że dopuszczalne jest pakowanie takich rzeczy do kontrolera?