Dobra szkoła. PHP i Ajax, echo czy znaczniki <?php ?>

0

Witam,
Obecny projekt w pracy zmusił mnie do nauki języka PHP, ale to nic bo lubię poznawać nowe rzeczy i technologie, co za tym idzie - dobra szkoła :).

Za pomocą ajaxa wywołuję stronę php, która na podstawie danych z bazy buduję dynamicznie kod html i zwraca przeglądarce. Kodując to nasuwa mi się pytanie jak poprawnie budować taką stronę? Chodzi mi o to czy używać funkcji echo czy wszystko okładać znacznikami <?php ?> Czy któreś rozwiązanie jest bardziej wydajne ??

Rozwiązanie 1 (echo):

 
    echo '<div class="categoriesBox" id="categoriesBox'.$categoryId.'">';
        echo '<div class="categoryName">';
            echo $categoryName;
        echo '</div>';

        while($catRow = pg_fetch_array($userPromotionsResult)){
            echo '<div class="userPromotions" id="userPromotions'.$catRow['id'].'">';
                echo $catRow['title'];
            echo '</div>';
        }
    echo '</div>';

Rozwiązanie 2 (php):

 
    <div class="categoriesBox" id="categoriesBox<?php $categoryId ?>">
        <div class="categoryName">
            <?php $categoryName; ?>
        </div>

        <?php while($catRow = pg_fetch_array($userPromotionsResult)){ ?>
            <div class="userPromotions" id="userPromotions<?php $catRow['id'] ?>">
                <?php $catRow['title']; ?>
            </div>
        <?php } ?>
    </div>

Dzięki za sugestie i odpowiedzi
Pozdrawiam

0

Czy któreś rozwiązanie jest bardziej wydajne ??

Nie sądzę, by robiło to jakąkolwiek znaczącą różnicę wydajnościową.
Natomiast wariant pierwszy jest bardziej czytelny, a dodatkowo zawsze możesz pokombinować ze składnią heredoc.

0

Drugi wariant jest o wiele lepszy, możesz go otworzyć w przeglądarce i IDE ci podpowie czy nie masz gdzieś błędu w znacznikach.

0

Drugi wariant jest szybszy z tego co wiem, ale dopóki nie budujesz aplikacji obsługującej 100k użytkowników to chyba 0.2ms [to strzał, zapewne jeszcze mniej] Ci różnicy nie zrobi raczej ;)

1
Mr Obvious napisał(a):

Drugi wariant jest o wiele lepszy, możesz go otworzyć w przeglądarce i IDE ci podpowie czy nie masz gdzieś błędu w znacznikach.

O wiele lepszy od drugiego wariantu jest trzeci, ukryty wariant: Po prostu użyć silnika szablonów ;]
Nie ma problemu z walidacją HTMLa, nie mieszamy logiki z warstwą prezentacji i jeśli chcemy gruntowanie zmienić wygląd wystarczy skierować się do jednego katalogu.

0

Dzięki za sugestie i podpowiedzi :) wszystkie uwagi są cenne.

Demonical Monk napisał(a):
Mr Obvious napisał(a):

Drugi wariant jest o wiele lepszy, możesz go otworzyć w przeglądarce i IDE ci podpowie czy nie masz gdzieś błędu w znacznikach.

O wiele lepszy od drugiego wariantu jest trzeci, ukryty wariant: Po prostu użyć silnika szablonów ;]
Nie ma problemu z walidacją HTMLa, nie mieszamy logiki z warstwą prezentacji i jeśli chcemy gruntowanie zmienić wygląd wystarczy skierować się do jednego katalogu.

Rozumiem, że masz na myśli jakiś wzorzec MVC?

1 użytkowników online, w tym zalogowanych: 0, gości: 1