Nepřístupnost DB a MVC návrh

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kedrigern
Člen | 102
+
0
-

Tak jsem se už něco málo s Nette naučil (ale jsem určitě ještě úplný začátečník). Udělal jsem webík (pár stránek, přihlašování, zobrazování nějakých příspěvků z DB, admin rozhraní… prostě klasika.

Používám presentery, dědičnost a tak. Moc se mi to líbí (jsem programátor dělám v C#, C++, BASH a tak, s PHP nemám skoro žádné zkušenosti).

Teď jsem si uvědomil jednu věc. Co když není DB dostupná. Laděnka vyhodí např.:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'nette.post' doesn't exist
No jo, ale tak práce z DB není vše. Lze to nějak obecně v návrhu ošetřit a nebo každé místo, kde se pracuje s DB musím ošetřit zvlášť? Zvláště mě to pak zajímá u services.

Stačí nakopnout. Není to akutní, jen mě prostě zajímá jak na to.

Aurielle
Člen | 1281
+
0
-

Buď budeš výjimky zachytávat na nějaké vyšší úrovni (presenter), nebo je necháš probublat až do ErrorPresenteru.

Filip Procházka
Moderator | 4668
+
0
-

Netřeba tohle řešit. Pokud ti spadne připojení k databázi během vykreslování stránky, tak prostě smůla. Na další request už to bude v pohodě, pokud ne, tak máš větší problémy, než špatně vykreslená šablona.

Můžeš ale udělat to, že si upravíš ErrorPresenter, aby sám sebou překryl celou stránku, pokud se vykreslí, tak jako to dělá laděnka. Uživatel tedy neuvidí kus špatně vykreslené stránky, ale jenom chybovou hlášku.