Καλλίτερος - ταχύτερος κώδικας php - html;

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

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

Απάντηση
WSPNH
Δημοσιεύσεις: 97
Εγγραφή: 10 Μαρ 2006 12:52
Επικοινωνία:

Καλλίτερος - ταχύτερος κώδικας php - html;

Δημοσίευση από WSPNH » 15 Φεβ 2011 17:57

Γεια σας, έστω ότι έχουμε ένα query σε μια βάση μας και εξάγουμε τα δεδομένα μας.

Ποιο από τα δύο είναι καλλίτερο - ταχύτερο, εσείς ποιον τρόπο χρησιμοποιείτε;

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

<?php
$query=mysql_query&#40;"SELECT * FROM posts ORDER BY date DESC"&#41;;
while &#40;$row = mysql_fetch_array&#40;$query&#41;&#41;&#123;
echo "<p>".$row&#91;'title'&#93;."</p><p>".$row&#91;'post'&#93;."</p><p>".$row&#91;'date'&#93;."</p>";
&#125;
?>
ή

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

<?php
$query=mysql_query&#40;"SELECT * FROM posts ORDER BY date DESC"&#41;;
while &#40;$row = mysql_fetch_array&#40;$query&#41;&#41;&#123;
?>
<p><?php echo $row&#91;'title'&#93;;?></p>
<p><?php echo $row&#91;'post'&#93;;?></p>
<p><?php echo $row&#91;'date'&#93;;?</p>
<?php&#125;?>

Στο πρώτο παράδειγμα τα html tags βρίσκονται μέσα στην php echo, ενώ στο δεύτερο όχι.

Το πρώτο παράδειγμα η echo θα μπορούσε να γραφτεί και έτσι:

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

echo "<p>$row&#91;title&#93;</p><p>$row&#91;post&#93;</p><p>$row&#91;date&#93;</p>";
Δεν με ενδιαφέρει αν είναι σωστή η χρήση της echo ή print.... αλλά αν είναι συνετό να καλούμε κώδικα html από php...
http://xesemesa.gr ή http://arxwn.eu όπως και να έχει http://jbaron.gr

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Καλλίτερος - ταχύτερος κώδικας php - html;

Δημοσίευση από cherouvim » 15 Φεβ 2011 18:33

Από πλευράς ταχύτητας είναι και τα 2 το ίδιο. Και αν δεν είναι, έχουν τόσο μικρή διαφορά που δεν πρέπει να σε απασχολούν καθόλου.

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

Καλλίτερος - ταχύτερος κώδικας php - html;

Δημοσίευση από dva_dev » 15 Φεβ 2011 19:17

Κάτι τέτοιο παίζει;

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

<?php 
$query=mysql_query&#40;'SELECT * FROM posts ORDER BY date DESC'&#41;; 
while &#40;$row = mysql_fetch_array&#40;$query&#41;&#41;&#123; 
echo '<p>',$row&#91;'title'&#93;,'</p><p>',$row&#91;'post'&#93;,'</p><p>',$row&#91;'date'&#93;,'</p>'; 
&#125; 
?>
Χρησιμοποιείς μονά εισαγωγικά επειδή δεν χρειάζεται να γίνει parse το περιεχόμενο και δεν χρησιμοποιείς concatenation γιατί πολύ απλά δεν υπάρχει λόγος να φας στη μάπα το overhead της δημιουργίας και καταστροφής των 100 temporary strings που δεν έχουν κανέναν ουσιαστικό λόγο ύπαρξης (πλην του τελευταίου που εκτυπώνεται).

Καλό θα ήταν να συνηθίζουν οι php χρήστες ότι τα διπλά εισαγωγικά "πρέπει" να τα χρησιμοποιούν μόνο όταν έχουν εκεί μέσα κάτι το οποίο πρέπει να γίνει parse.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Καλλίτερος - ταχύτερος κώδικας php - html;

Δημοσίευση από cherouvim » 15 Φεβ 2011 19:41

Το parsing προφανώς είναι απειροελάχιστο κόστος για την εφαρμογή του. Κάτι που δεν άξιζε συζήτησης πριν 10 χρόνια, πόσο μάλλον τώρα.

Αν μας ενδιαφέρει το πόσο σωστά θα τρέξει αυτός ο κώδικας σίγουρα πρέπει να ρωτήσουμε για το πλήθος των εγγραφών στο πίνακα post και κυρίως για το αν έχει index το πεδίο date.

Απάντηση

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

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

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