2012-11-13 16 views
6

Podczas kodowania PHP razem z HTMLem zawsze wydaje się to mylące i bardzo bolesne. Struktura nie jest łatwa do zrozumienia.jak kodować piękne PHP razem z HTML?

Czy ktoś może opowiedzieć o tym, jak kodu PHP z HTML w dobrej strukturze? php code

+7

Taka dziwna mieszanka czcionek o stałej i niezmiennej szerokości czcionki! – zerkms

+0

Wiele osób korzysta z silników szablonów właśnie z tego powodu. Mam tendencję do pisania strony w całości jako PHP, ale generalnie nie pracuję również na stronach z treścią statyczną. – Brad

+1

Używasz czerwonego i niebieskiego zarówno dla HTML, jak i PHP, co jest naprawdę mylące. Używam dla nich zupełnie różnych zestawów kolorów i jest prawie niemożliwe, aby się zgubić. –

Odpowiedz

6

Istnieją metody, które pomagają w rozwiązaniu tego problemu, takie jak Model-widok kontroler (MVC). MVC oddziela warstwę danych od logiki od warstw prezentacji (UI). Ramy takie jak CodeIgniter pomogłyby ci w tym przypadku. Nawet jeśli nie zamierzasz używać istniejącej struktury, oddzielenie modeli danych od logiki biznesowej, a następnie od obiektów interfejsu użytkownika, jest stosunkowo łatwe.

Edycja: Załóżmy, że masz stronę koszyka na zakupy. Można mieć „Widok” plik o nazwie cart.php, a następnie można przesłać mu informacje z innych plików PHP (dalej „Sterowniki”), tak że zamiast tego:

<div id = 'special_price'> 
<?php $result = mysql_query("SELECT price FROM pricelists"); 
$row = mysql_fetch_assoc($result); 
echo $row["price"]; 
?> 
</div> 

można to zrobić:

<div id = 'special_price'><?= $price ?></div> 

W tym scenariuszu wszystkie logiki i dostępu do danych są obsługiwane przed próbą wyświetlenia strony.

+2

+1 Hurra za sugestię całkowitego uniknięcia podkopu! –

+1

dziękuję bardzo. twoja odpowiedź jest profetyczna – linjuming

1

@ ajacian81 ma rację, ale są dodatkowe opcje. Sposób, w jaki wspomniał, to napisanie całego kodu zgodnie ze strukturą MVC. Architektura MVC to doskonały sposób na oddzielenie problemów od złożonych aplikacji internetowych. MVC oddziela logikę aplikacji, logikę bazy danych i widoki na 3 oddzielne miejsca. Jednak refaktoryzacja zmieszanej bazy kodu php + html w framework MVC może być czasochłonna. Jeśli jesteś zainteresowany usunięciem php ze swojego html bez całkowitego refaktoryzacji swojego kodu, rozważ użycie silnika szablonów, takiego jak Twig lub Smarty.

Jeśli używasz mechanizmu szablonów, możesz oddzielić swój php i sql w jedną lokalizację, a szablony HTML w inne miejsce. Jeśli korzystasz ze środowiska MVC, musisz podzielić swój php, sql i html na 3 różne lokalizacje. Jeśli Twoje priorytety mają charakter krótkoterminowy, po prostu użyj silnika szablonów. Jeśli twoje priorytety mają charakter długoterminowy, rozważ refaktoryzację swojego kodu w strukturze MVC.

-2

Php stał się tak zaawansowany, że naprawdę nic nie zyskasz dzięki skazom ramowym na niestandardowe kompilacje. Jeśli skomentujesz swoje skrypty oraz każdy początek i koniec każdej sekcji html i php, będziesz zaskoczony, jak szybko i ile mniej plików potrzeba, aby uruchomić pełną witrynę społecznościową lub portal społecznościowy. Używam tylko trzech głównych plików - config.php, ini.php, które przechowuje wszystkie moje sesje i pliki cookie oraz db_connect.php. Wszystkie moje widoki stron są obsługiwane przez Ajax bez odświeżania strony, a wszystkie moje formularze są przenoszone do niektórych z tych widoków, aby używać Ajax bez odświeżania strony. W zasadzie używam Ajaxa do wszystkich moich żądań adresów URL, co eliminuje potrzebę stosowania obszernych frameworków.