Re: Ερώτηση για mysql - php

Aggelos Karalias d_angel at freemail.gr
Thu Dec 17 13:12:23 EET 2009


Αν και έχουμε διαφορετική προσέγγιση αυτό δεν είναι πρόβλημα.

Αρχικά δεν μας δείχνεις πως παίρνεις το connection (υποθέτω είναι στο
connect_base.php) αλλά whatever...

Αυτό που μπορείς να βελτιώσεις είναι ότι αφού έτσι κι αλλιώς όποιο query
αποτύχει θα κάνεις rollback στο τέλος, με τον έλεγχο του num==flag, γιατί τα
τρέχεις όλα?

Αν σκάσεις στους actors για παράδειγμα μπορείς να πετάξεις ενα πολύ ωραίο
exception (ενδεχομένως και ένα δικό σου συγκεκριμένο) ή αν δεν σου αρέσει το
try-catch approach μπορείς να πετάξεις και error από όσο θυμάμαι στην php
και στο handling του να κάνεις rollback και να επιστρέψεις χωρίς να έχεις
κάνει όλα τις υπόλοιπα loops και queries.

<offtopic>
Επίσης προσοχή στην extract και στα unstrusted data, δεν έχεις πουθενά
validation, θα πάει το injection και το xss σύννεφο. Δες το warning στο
http://gr.php.net/extract.
</offtopic>

Και κάτι τελευταίο. Προσπάθησε να μην έχεις τόσο flat αρχιτεκτονική, χώρισε
την εφαρμογή σου σε κομμάτια. Δεν ξέρω πως να το πω πιο απλά (και θεωρώ ότι
είναι κομμάτι άλλης κουβέντας) αλλά δεν φαντάζεσαι πόσο θα σε βοηθήσει ένα
καλύτερο design.

Μπορείς να δεις αυτά για αρχή:
1) http://en.wikipedia.org/wiki/Model-view-controller<http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller>
[Ειδικά
στην περίπτωσή σου]
2) http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)
3) http://en.wikipedia.org/wiki/Design_pattern_(computer_science)

Αν και είναι αρκετή πληροφορία, ειδικά για το MVC, θα βρεις πολλά frameworks
που έχουν υλοποιημένο το μοντέλο και απλά πατάς πάνω υλοποιώντας μόνο τα
κομμάτια της εφαρμογής σου.

Αυτά...

2009/12/17 panagiotis takis_rs <takispadaz at hotmail.com>
>
>
> ...
>
Συγνώμη αρκέτα απρόσεκτος ο προηγούμενος κώδικας προσθέτω τον σωστό
> http://pastebin.com/m52dd5481
> ...
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20091217/711a2734/attachment.htm>


More information about the Linux-greek-users mailing list