Jump to content
php.lv forumi

Unexpected DB rezultāti


metal-0-1

Recommended Posts

Kā pēc 'best practise' OOP'iskā MVC aplikācijā rīkojas situācijā, kad kāds querijs Modelī nofeilo?

  • Mest exceptionus tur pat uz vietas
  • "return: false;", uzķert atgriezto vērtību Kontrollerī un tur mest exceptionus?
  • Nemest exceptionus, darīt kaut ko citu.
Edited by metal-0-1
Link to comment
Share on other sites

Met uzreiz exception un ļauj tam izpeldēt līdz pašai virsai. Tad pašā augšā aplikācijas līmenī uztaisi vienu generic exceptionu apstrādi - tipa lai norūtē uz kļūdas lapu, kur var arī izvadīt detalizētāku kļūdas aprakstu.

Tādā veidā visi exceptioni tiks parādīti.

Ja kādā kontrolierī vajadzēs specifiksku kļūdas apstrādi, tad jau ķersi to kontrolierī un domāsi ko tālāk darīt

Link to comment
Share on other sites

Kontroleris izsauks modeļa metodi, kura izsauks citu modeļa metodi, kura izsauks utilītu, kura citu, kura izmetīs eksepšenu, tu to varēsi noķert kontrolerī. Tas, kas izsauc kontroleri, to ietin try-catch, kurš to ielogo (sīki, ar visu info) un atgriež 500, smuko, erroru jūzerim.

Link to comment
Share on other sites

 "ļaut izpeldēt līdz pašai virsai" - nekur neliec liekus try catch blokus

 

es te tā rupji iezīmēšu

application load (index.php) - te liec savu try catch, kas vispārīgi apstrādā visus exception

    -> routes load

         -> controller load

              -> model load

                      -> modelis - šeit izmet exception un tas peldēs uz augšu līdz kamēr viņu kāds try catch bloks noķers

 

Tavā piemēram vispār stulbi sanāk, pats izmet exception un pats uzreiz noķer :)

Link to comment
Share on other sites

Pirmkārt, specifiskiem exceptioniem vajag savas klases, nevis visu, kas ir, lādēt iekšā "throw new Exception()", jo beigās ne sūda nevarēs saprast, kas meta, kas ķēra un kāpēc.

 

Otrkārt, kas tas par vājprātu - viena metode, kas ielasa kaut kādu id, bet jau piedirsta ar try/catch bloku un divu līmeņu if'u. PIZĢETS BĻEĢ NAHUJ! Tā tu taisies atkārtot katrā metodē?

 

Kam ir domāta datubāzes abstrakcija, kura pati noteikti lieliski prot izmest exceptionu, ja ar DB tiešām nebūs labi?

 

Un es vēl pat neesmu ticis līdz vienkāršai loģikas kļūdai - sanāk, ja tu meklē id pēc kaut kāda random username, tad pie neeksistējoša userneima tas ir "Unexpected DB behavior"?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...