Συντόμευση development time

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από vcore » 29 Μαρ 2010 01:01

Ναι θα ήθελα να ακούσω ποιοι από εσάς χρησιμοποιείται έτοιμες βιβλιοθήκες που βοηθούν στην εξοικονόμηση χρόνου κατά τη διάρκεια του development.

‘Έχω μείνει λίγο πίσω και θα ήθελα να σας ακούσω με ποιον τρόπο κάνετε την δουλειά σας πιο γρήγορα

Σας ευχαριστώ
Φιλικά Teo
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από korgr » 29 Μαρ 2010 10:21

Προσωπικά βολευομαι με την βιβλιοθηκη των δικων μου functions που εχω δημιουργησει κατα καιρους για προηγουμενα projects.
Πχ αν θελω να διαγραψω ενα αρχειο θα χρησιμοποιησω αντι για την unlink($filename), την deleteFile($filename) η οποια κανει τους απαραιτητους ελεγχους και δεν θα μου επιστρεψει error σε περιπτωση μη υπαρξης του αρχειου.
Αυτο βεβαια ειναι ενα πολυ απλο παραδειγμα με μια μικρουλα function.
Αν πιασουμε τις μεγαλες, μπορω να σου πω για την:

Κώδικας: Επιλογή όλων

setImageSize($id, $path, $file, $ext, $max_image_width, $max_image_height, $thumb_width, $medium_image_width)
H οποια μετα απο το upload μιας εικονας, κανει resize αναλογικα σε max_image_width ή σε max_image_height (αναλογα για landscape or portrait images), δημιουργει ενα medium και ενα small thumbnail και υποστηριζει και transparent images).
Η συγκεκριμενη functions εχει 260 γραμμες κωδικα (υπολογιζοντας και διαφορες child functions που καλει) οποτε καταλαβαινεις με τετοια παραδειγματα ποσο χρονο γλυτωνεις...

Σε καθε project κανω include* και ενα php file που ονομαζω dll.php και εχει ολες τις απαραιτητες functions που χρειαζομαι...

*require για την ακριβεια...

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Συντόμευση development time

Δημοσίευση από fafos » 29 Μαρ 2010 16:37

ego exo merikes sto saloni, alles sto patari kai 5-6 ksexasmenes sthn varka.. genika eimai akatastatos :lol:

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από dva_dev » 29 Μαρ 2010 20:44

Δεν νομίζω να υπάρχει κάποιος που να μην χρησιμοποιεί έτοιμες βιβλιοθήκες. Αν εννοείς βιβλιοθήκες που έχουμε γράψει εμείς ή βιβλιοθήκες που έχει γράψει άλλος, εκεί βρίσκεται η διαφορά.
Επίσης μάλλον πρέπει να διευκρινήσεις αν αναφέρεσαι μόνο σε php βιβλιοθήκες ή και σε οποιαδήποτε άλλη μπορεί να έχει μια ιστοσελίδα.

Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από vcore » 30 Μαρ 2010 00:32

korgr έγραψε:Προσωπικά βολευομαι με την βιβλιοθηκη των δικων μου functions που εχω δημιουργησει κατα καιρους για προηγουμενα projects.
Πχ αν θελω να διαγραψω ενα αρχειο θα χρησιμοποιησω αντι για την unlink($filename), την deleteFile($filename) η οποια κανει τους απαραιτητους ελεγχους και δεν θα μου επιστρεψει error σε περιπτωση μη υπαρξης του αρχειου.
Αυτο βεβαια ειναι ενα πολυ απλο παραδειγμα με μια μικρουλα function.
Αν πιασουμε τις μεγαλες, μπορω να σου πω για την:

Κώδικας: Επιλογή όλων

setImageSize($id, $path, $file, $ext, $max_image_width, $max_image_height, $thumb_width, $medium_image_width)
H οποια μετα απο το upload μιας εικονας, κανει resize αναλογικα σε max_image_width ή σε max_image_height (αναλογα για landscape or portrait images), δημιουργει ενα medium και ενα small thumbnail και υποστηριζει και transparent images).
Η συγκεκριμενη functions εχει 260 γραμμες κωδικα (υπολογιζοντας και διαφορες child functions που καλει) οποτε καταλαβαινεις με τετοια παραδειγματα ποσο χρονο γλυτωνεις...

Σε καθε project κανω include* και ενα php file που ονομαζω dll.php και εχει ολες τις απαραιτητες functions που χρειαζομαι...

*require για την ακριβεια...
Ωραιότατα :wink:
Μια μικρή παρατήρηση:

Αν έχεις όλες τις function σε ένα αρχείο δεν είναι λίγο messy η φάση ?
Γιατί αν για παράδειγμα θέλεις να τροποποιήσεις κάτι η να διορθώσεις κάτι δεν θα είναι λίγο δυσκολότερο από το να έκανες ξεχωριστά functions που κάνουν συγκεκριμένη δουλειά σε ξεχωριστά files και ανάλογα το Project να έκανες require οτι ακριβώς χρειαζόσουν?
fafos έγραψε:Ο κλασσικός φαφούλης όπως πάντα keep it that way
:wink:
dva_dev έγραψε:Εννοώ custom βιβλιοθήκες που κάνει κάποιος για να μην επαναλαμβάνεται σε κάθε project
Προχτές έπεσα πάνω εδώ:
http://www.ricocheting.com/scripts/php_ ... rapper.php

Περιλαμβάνει τα common database operations για records και μου άρεσε η προσέγγιση!
Ευχαριστώ.
Τελευταία επεξεργασία από το μέλος vcore την 30 Μαρ 2010 01:12, έχει επεξεργασθεί 1 φορά συνολικά.
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από Basilakis » 30 Μαρ 2010 00:45

προσωπικά τα αποθηκεύω μέσα στο functions.php...

έτσι δουλεύει το framework :P

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Συντόμευση development time

Δημοσίευση από fafos » 30 Μαρ 2010 01:07

analoga me thn empeiria tou kathenos, h diadromh paei kapos etsi:

aples synthikes => functions => classes => hyper classes

Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από vcore » 30 Μαρ 2010 01:14

Τις κλάσες δεν τις έχω πιάσει ακόμα με πιάνει πονοκέφαλος :P μέχρι τις functions καλά τα πάμε :)
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

Άβαταρ μέλους
theminio
Δημοσιεύσεις: 150
Εγγραφή: 20 Ιουν 2006 20:26

Συντόμευση development time

Δημοσίευση από theminio » 30 Μαρ 2010 01:26

Υπάρχουν και τα frameworks που είναι ένα σύνολο από βιβλιoθήκες, οπού τα περισσότερα δουλεύουν με το μοντέλο MVC.

Εγώ έχω χρησιμοποιήσει και χρησιμοποιώ ακόμα το codeigniter framework, αρκετά ελαφρύ και επίσης εύκολο προς παραμετροποιήση και την επεκτάσιμοτητά του καθώς και πολύ καλό documentation.
Επίσης παρόμοια framework σε php είναι το cakephp, symfony.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από korgr » 30 Μαρ 2010 10:33

vcore έγραψε: Αν έχεις όλες τις function σε ένα αρχείο δεν είναι λίγο messy η φάση ?
Γιατί αν για παράδειγμα θέλεις να τροποποιήσεις κάτι η να διορθώσεις κάτι δεν θα είναι λίγο δυσκολότερο από το να έκανες ξεχωριστά functions που κάνουν συγκεκριμένη δουλειά σε ξεχωριστά files και ανάλογα το Project να έκανες require οτι ακριβώς χρειαζόσουν?
korgr έγραψε: Σε καθε project κανω include* και ενα php file που ονομαζω dll.php και εχει ολες τις απαραιτητες functions που χρειαζομαι...
Ενοειται πως καθε project εχει τις functions που χρειαζεται μονο. Ως βιβλιοθηκη, καθε function ειναι αποθηκευμενη σε ξεχωριστο php file. Απλα οσες χρειαζομαι τις συμπυκνωνω καθε φορα σε ενα αρχειο (dll.php).

Εχω κατα καιρους μελετησει διαφορες database clases που υποσχονται να κανουν πιο ευκολη τη ζωη μας. Τελικα καμια δεν με κερδισε.
Ισως γιατι εχω τον δικο μου τροπο σκεψης στο db management.
Για παραδειγμα, ποσοι εδω μεσα μπορουν να καταλαβουν την λογικη του κατωθι insert query?

Κώδικας: Επιλογή όλων

$res_items_fields = mysql_query("select * from items_fields where recordTable='items' order by sort");
$values="'$id'";
while($items_fields = mysql_fetch_array($res_items_fields)){
$values.=",'".${$items_fields[fieldName]}."'";
} 
mysql_query("INSERT INTO items VALUES($values)") or die("MYSQL ERROR: ".mysql_error());

Άβαταρ μέλους
Kainourios
Ruby Moderator
Δημοσιεύσεις: 504
Εγγραφή: 18 Μάιος 2005 16:20
Τοποθεσία: Κορυδαλλός
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από Kainourios » 30 Μαρ 2010 11:44

Προσωπικά χρησιμοποιώ και είμαι υπερ των web frameworks όπου σε βοηθούν να γράφεις πιο γρήγορα πολλά πράγματα... από το να κάνεις generate ένα xml αρχείο, μέχρι το οτι δεν χρειάζεται να γράφεις sql (λόγω ORM), ajax calls πανεύκολα, έτοιμα πολλά πράγματα με plugins (ajax sort, upload, search, pagination, cache κλπ.). Και δε σε εμποδίζουν καθόλου αν θες να γράψεις χύμα from scratch τα δικά σου αν το επιθυμείς (και sql αν την προτιμάς), όπως αν έγραφες χωρίς να χρησιμοποιείς framework (το οποίο προσωπικά το έχω κάνει πολλές φορές).


Μέσα σε όλα αυτά έχεις OOP κώδικα και μια συγκεκριμένη λογική που ακολουθούν όλα τα MVC frameworks όπου ξέρεις που πάει τι ακριβώς και δε χάνεσαι άσχετα αν έχεις να πιάσεις 1 χρόνο τη συγκεκριμένη εφαρμογή ή δεις μια νέα κάποιου άλλου. Πέρα από αυτά έχω φτιάξει μια πλατφόρμα με δικά μου plugins, τα έχω κόψει και οργανώσει και ανάλογα τι χρειάζομαι τα κάνω εγκατάσταση ουσιαστικά με μια εντολή (κονσόλα... ) και έχω σε δευτερόλεπτα την εφαρμογή που θέλω με τα χαρακτηριστικά που θέλω (I hate monolithics).


Μου κακοφάνηκε που πρόσφατα ασχολήθηκα με wordpress και είδα οτι μέσα σε ένα αρχείο (functions.php) πετάνε όλη την λειτουργικότητα της εφαρμογής, είχα ένα bug και έσπαγε όλο το blog (και καθόμουν να ψάχνω τι και πώς σε ένα αρχείο με 3000+ γραμμές κώδικα). Έχω συνηθίσει να τα έχω λίγο πιο οργανωμένα και κάθε αρχείο να έχει λίγες γραμμές κώδικα και όχι κατεβατά ολόκληρα... αλλά στην τελική, γούστα είναι αυτά και ο καθένας όπως βολεύεται και κάνει τη δουλειά του καλύτερα . :)


Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από vcore » 30 Μαρ 2010 22:11

korgr έγραψε:
vcore έγραψε: Αν έχεις όλες τις function σε ένα αρχείο δεν είναι λίγο messy η φάση ?
Γιατί αν για παράδειγμα θέλεις να τροποποιήσεις κάτι η να διορθώσεις κάτι δεν θα είναι λίγο δυσκολότερο από το να έκανες ξεχωριστά functions που κάνουν συγκεκριμένη δουλειά σε ξεχωριστά files και ανάλογα το Project να έκανες require οτι ακριβώς χρειαζόσουν?
korgr έγραψε: Σε καθε project κανω include* και ενα php file που ονομαζω dll.php και εχει ολες τις απαραιτητες functions που χρειαζομαι...
Ενοειται πως καθε project εχει τις functions που χρειαζεται μονο. Ως βιβλιοθηκη, καθε function ειναι αποθηκευμενη σε ξεχωριστο php file. Απλα οσες χρειαζομαι τις συμπυκνωνω καθε φορα σε ενα αρχειο (dll.php).

Εχω κατα καιρους μελετησει διαφορες database clases που υποσχονται να κανουν πιο ευκολη τη ζωη μας. Τελικα καμια δεν με κερδισε.
Ισως γιατι εχω τον δικο μου τροπο σκεψης στο db management.
Για παραδειγμα, ποσοι εδω μεσα μπορουν να καταλαβουν την λογικη του κατωθι insert query?

Κώδικας: Επιλογή όλων

$res_items_fields = mysql_query("select * from items_fields where recordTable='items' order by sort");
$values="'$id'";
while($items_fields = mysql_fetch_array($res_items_fields)){
$values.=",'".${$items_fields[fieldName]}."'";
} 
mysql_query("INSERT INTO items VALUES($values)") or die("MYSQL ERROR: ".mysql_error());
Εντάξη έξυπνό Insert :wink:

Και το Kohana είναι τέτοιο framework αν δεν κάνω λάθος.
Μάλλον θα πρέπει να προσαρμόστω και εγώ με κάποιο framework γιατί από ότι είδα έχει πολλά πλεονεκτήματα :)

Τώρα αν μπω στην διαδικασία να ρωτήσω πιο πιστεύετε ότι θα ήταν καλύτερο θα ξεκινήσει η γνωστή κούρσα φαγόματος η θα μπορέσω να κλείνω κάπου ώστε να αποφασίσω.

Δεν ασχολήθηκα σο far με frameworks οπότε στα τυφλά τι να επιλέξεις και με τι γνώμονα.? Αν σας δημιουργηθεί η απορία πως δουλεύω τόσο καιρό: Με τον κλασικό πατροπαράδοτο τρόπο. Απλός Editor , πολύ γράψιμο , πολύ επανάληψη.

Thanks για τις τόσο ενδιαφέρουσες απόψεις.
Τελευταία επεξεργασία από το μέλος vcore την 30 Μαρ 2010 22:59, έχει επεξεργασθεί 1 φορά συνολικά.
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

Άβαταρ μέλους
theminio
Δημοσιεύσεις: 150
Εγγραφή: 20 Ιουν 2006 20:26

Συντόμευση development time

Δημοσίευση από theminio » 30 Μαρ 2010 22:35

Ναι και το kohana είναι ένα από αυτά.
Τώρα αν μπω στην διαδικασία να ρωτήσω πιο πιστεύετε ότι θα ήταν καλύτερο θα ξεκινήσει η γνωστή κούρσα φαγόματος η θα μπορέσω να κλείνω κάπου ώστε να αποφασίσω.
Βασικά εδώ πάει η γνωστή απάντηση τα δοκιμάζεις και επιλέγεις αυτό που σε βολεύει καλύτερα.

Χωρίς φυσικά να θέλω να μπω στην "κούρσα" που αναφέρεις, η πρόταση μου θα ήταν το codeigniter, πέρα από το ότι το χρησιμοποιώ, έxω δοκιμάσει και τα cakephp, symphony. Δεν στο προτείνω με την έννοια ότι είναι το καλύτερο από όλα κτλ κτλ, αλλού υπερτερεί αλλού χάνει, απλά το έκρινα το πιο εύκολο για να το κατανοήσεις με πάρα πολύ καλό documentation και tutorials, που ίσως σε βοηθήσει να μπεις πιο εύκολα στο κλίμα και εάν πλέον δεν σε ικανοποιεί η μετάβαση σου σε κάποιο άλλο θα είναι πιο εύκολη.

Άβαταρ μέλους
vcore
Δημοσιεύσεις: 354
Εγγραφή: 20 Δεκ 2003 01:19
Τοποθεσία: Crete
Επικοινωνία:

Συντόμευση development time

Δημοσίευση από vcore » 30 Μαρ 2010 23:35

Μελέτησα λίγο τα videos το codeigniter και δεν μου φάνηκε και τόσο βουνό.
Να ρωτήσω κάτι όμως για να δω αν έπιασα το MVC σωστά:

Ο controller περιέχει το view & το model που είναι τμήματα που το κάθενα κάνει ξεχωριστή δουλειά.

Controller: παίρνει τα http requests και τα στέλνει στο model.

Model: εδώ γράφεις τον κώδικα που θες και τους ελέγχους , συναρτήσεις κ.τ.λ Με την σειρά του στέλνει τα δεδομένα που είναι να τυπωθούν αν υπάρχει κάτι στο view.

View : ότιδήποτε έχει να κάνει με την παραγωγή σελίδων για το Output των αποτελεσμάτων

Παρατήρησα στα video ότι το view δεν σου παρέχει δυνατότητα απεικόνισης του Layout Που δημιουργείς η κάνω λάθος ?

Αν όχι προφανώς θα πρέπει να χρησιμοποιήσεις κάποιο πρόγραμμα σαν το dreamweaver αν δεν είσαι guru στην html ώστε να κατασκευάσεις το layout που θες και να το βάλεις στο view.

Ευχαριστώ!
Easy CMS
------------
Το να ζητάς βοήθεια δεν σημαίνει ότι είσαι εξαρτημένος.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες