Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Jak powinna wyglądać strona?
Forum PHP.pl > Forum > Przedszkole
snovvy
Witam!

Chciałbym na poważnie rozpocząć przygodę z PHP i MajSkjulem. Znam całkiem nieźle xHTML, i nie najgorzej CSS.
Problem w tym, że nie wiem jak ma wyglądać kod strony w PHP. Chodzi dokładnie o to, czy to ma być xHTML połączony z PHP
Kod
     <h2><? php echo = "$title"; ?>

[skladnia moze sie nie zgadza ale, chodzi z grubsza o co cho]

lub moze:
Kod
<? php echo = "<table>"; ?>


Mam nadzieje ze rozumiecie o co chodzi...
Następnym moim pytaniem jest, jak wygląda nagłówek strony? Mam dać całą specyfikację xHTML czy walnąć zwykłe ' <? php ' a potem ' ?> '.
Bardzo proszę o jakiś przykładowy nagłówek lub dokument [nie koniecznie musi coś robić].

Z góry dziękuje za zainteresowanie :-)
Pozdrawiam wszystkich koderów!
JoShiMa
Jeśłi chcesz od razu nauczyć się robić elegancko to zainteresuj się szablonami. Na przykład Smarty. To pozwala w elegancki sposób oddzielić php od HTML czy jak wolisz XHTML i mieć porządek w aplikacji.
snovvy
Zainteresowałem się szablonami... ale żeby się nimi bawić, muszę mieć chociaż JAKĄŚ wiedzę n/t PHP...Zainteresowałem się również framework'ami... ale bez wiedzy n/t PHP nic nie zrobię.
A dwa lubię wszystko robić od początku tongue.gif
JoShiMa
Cytat(snovvy @ 10.08.2008, 13:15:57 ) *
Zainteresowałem się szablonami... ale żeby się nimi bawić, muszę mieć chociaż JAKĄŚ wiedzę n/t PHP...Zainteresowałem się również framework'ami... ale bez wiedzy n/t PHP nic nie zrobię.
A dwa lubię wszystko robić od początku tongue.gif

Noo to mamy Ci robić wykład z php? Poczytaj sobie o użyciu Smarty w skrypcie i próbuj. Skoro lubisz robić wszystko od początku.
snovvy
Nie chodzi mi o wykład. Chodzi mi tylko o odpowiedź na moje pytanie dotyczące składni... Wydaje mi się, że opisałem to prosto i dosadnie? Tylko tyle potrzebuje... bo z resztą jakoś ruszę :-)
Chce wiedzieć: PHP w HTML'u czy HTML w PHP.
I działać będę normalnie w notatniku, na localhost'cie, bez żadnych smarty'ów i szablonów. Chce się nauczyć podstaw sam. Potem na bank pobawię się szablonami.
paziek
1. Mylisz szablony z WYSIWYG i tym podobnym rozwiazaniom, które to zrobią za ciebie brudną robotę.
2. Smarty to jedno z wielu rozwiązań do szablonów.

Szablon to jest coś takiego, co łączy tobie HTMLa z PHP (przykładowo).
W PHP wykonujesz jakieś obliczenia, pobierasz dane z bazy itp., po czym te dane podpinasz pod zmienne szablonu.

Później w tym szablonie (HTML) używasz tych zmiennych, w podobny sposób do tego, który przedstawiłeś w pierwszym poście.
Nadal masz pełną kontrole nad kodem, piszesz wszystko ręcznie, ale ładnie oddzielasz HTML od PHP.


Co do oryginalnego pytania: PHP w HTML jest lepszy => to są w sumie szablony wtedy.
snovvy
Moi drodzy... Ja naprawdę wiem czym jest smarty. Fakt, że nie umiem się nim obsługiwać jest inną bajką. Wiem czym się różni szablon WYSIWIG od Smarty'ego.
A tak po za tym to dzięki za zainteresowanie się tematem :-)
To teraz takie typowo lamerskie pytanie: jakisik naprawdę dobry tutek/kurs obsługi smarty. Natknąłem się już na kilka ale były ze tak powiem... nie odpowiadające mi.
And another: Myślicie, że nie powinno być problemów z obsługą Smarty przez osobę znającą jedynie podstawy PHP?

No nie zmienia to faktu, że dziękuję za pomoc smile.gif
kaem
Osobiście polecam te dwa kursy SMARTY:
http://gajdaw.pl/smarty/
http://smarty.web-dsn.com/
Cysiaczek
Jak najbardziej PHP w HTML-u. Czasami, małe partie kodu HTML możesz pisać w PHP.
Smarty wcale nie jest elegenckie happy.gif
JoShiMa
Cytat(snovvy @ 10.08.2008, 13:21:42 ) *
Chce wiedzieć: PHP w HTML'u czy HTML w PHP.

Więc Ci odpowiedziałam prosto. Php osobno i HTML (w szablonach) osobno. Oczywiście jak chcesz porządnie. Bo jak Ci nie zależy to wszystko jedno czy php w html czy html w php.
phpion
Cytat(Cysiaczek @ 10.08.2008, 15:28:52 ) *
Smarty wcale nie jest elegenckie happy.gif

W pełni popieram. Moim zdaniem Smarty jest totalnie przereklamowane. Czy ktokolwiek z polecających ten system zaglądał kiedykolwiek do źródeł "skeszowanych" plików? Nie? No to polecam, bardzo ciekawa lektura, naprawdę.

Ja osobiście jestem zwolennikiem używania "wbudowanych" szablonów tj. skorzystania z możliwości:
  1. <h2><?= $naglowek ?></h2>

Różnica w porównaniu ze Smartami praktycznie żadna (kwestia zapisu). Jednak w przypadku bardziej zaawansowanych konstrukcji (jakieś kosmiczne pętle) Smarty po prostu staje się utrudnieniem, a nie ułatwieniem.
devil-war
zależyco chcesz zrobić

przykład taki

<?php
$tekst = 'Ala ma kotka ,ale kot jej nie lubi.';

echo $tekst;
?>

w przeglądarce wyświetli ci

Ala ma kotka ,ale kot jej nie lubi.
paziek
IMHO najlepiej to PHP używajać jedynie do pobierania/zapisywania danych w MySQL (+ jakieś operacje typu 'pobierz e-mail z serwera IMAP'), ewentualnie do zapisywania ich w XML/HTML, a interfejs zostawić dla JavaScriptu.
Keszowanie dla przeglądarki (odpowiedni konfigurując nagłówki wysyłane przez serwer).

Smarty w ogóle nie polecam, też uważam, że jest to bez sensu, ale zainteresować się tym można i wyrobić własną opinię smile.gif
snovvy
Fakt, ja tez jakoś nie jestem bardzo zainteresowany tym Smarty'm. Mogę sobie na jego temat poczytać ale to raczej w formie ciekawostki. A co do reszty:

Dokument zacząć tak po prostu <? php bla bla ?> czy jadym z <html> <specyfikacje bla bla> </html> ? ;>
I w sumie tyle chciałem wiedzieć jeszcze do tego tematu ;-) A od jutra biorę się za naukę PHP :-)

Pozdrawiam i dziękuję za zainteresowanie smile.gif

P.S @phpion: Anti-Flag ma zaje...e kawałki :-D
phpion
Cytat(snovvy @ 10.08.2008, 22:01:31 ) *
P.S @phpion: Anti-Flag ma zaje...e kawałki :-D

Sie wie! guitar.gif

Wystarczy takie coś (np. index.php):
  1. </head>
  2. <p>Witaj na mojej stronie, jest godzina <?= date('H:i:s') ?>.</p>
  3. </body>
  4. </html>
snovvy
Czyli rozumiem że walidator W3C nie będzie miał problemów z walidacją takiego kodu? ;>
JoShiMa
Cytat(phpion @ 10.08.2008, 20:41:52 ) *
W pełni popieram. Moim zdaniem Smarty jest totalnie przereklamowane. Czy ktokolwiek z polecających ten system zaglądał kiedykolwiek do źródeł "skeszowanych" plików? Nie? No to polecam, bardzo ciekawa lektura, naprawdę.

Tak ja zajrzałam. A w ogóle to uwielbiam argumenty typu "To jest be, bo ja tego nie lubię i nie potrafię się tym posługiwać".

Szablony (nie koniecznie smarty) są ułatwieniem, ale o tym to może wiedzieć ktoś kto robi poważne projekty w grupach. Projekt napisany z użyciem szablonu zawsze będzie bardziej czytelny i łatwiejszy jeśli chodzi o wprowadzenie dowolnej modyfikacji niż taki napisany po prostu ciurkiem.


Cytat(snovvy @ 10.08.2008, 22:25:33 ) *
Czyli rozumiem że walidator W3C nie będzie miał problemów z walidacją takiego kodu? ;>

Nie, jeśli w php ich nie wygenerujesz. Walidator waliduje to co powstaje po wykonaniu php.
snovvy
No to okey :-)
Dzięki wielkie za pomoc. Teraz będzie mi się o wiele łatwiej zabrać do nauki PHP :-)

Pozdrawiam was i dobranoc!
Crozin
Na początek możesz tak:
  1. <?php
  2.  
  3. $title = 'Moja strona';
  4. $currentDate = date('d.m.Y');
  5.  
  6. $events = array();
  7. $eventsCounter = 1;
  8. //pobranie jakiś danych z bazy
  9. while($row = mysql_fetch_object($result)){
  10. $events[] = array(
  11. 'timestamp' => date('d.m.Y H:i', $row->eventTimestamp),
  12. 'title'  => $row->eventTitle,
  13. 'description' => $row->eventDescription
  14. );
  15. }
  16.  
  17. //itp. itd.
  18.  
  19. ?><!DOCTYPE ...>
  20. <html ...>
  21. <head>
  22. ...
  23. <title><?php echo $title; ?></title>
  24. </head>
  25. <body>
  26. <h1><?php echo $title; ?></h1>
  27. <p>Witaj drogi internauto, dziś jest <?php echo $currentDate; ?>. Oto wydarzenia w naszej miejscowości:</p>
  28. <table>
  29. <thead>
  30. <tr>
  31. <th>lp</th>
  32. <th>wydarzenie</th>
  33. <th>data</th>
  34. </tr>
  35. </thead>
  36. <tbody>
  37. <?php
  38. foreach($events as $e){
  39. echo ' <tr>
  40. <td>' . $eventsCounter++ . '</td>
  41. <td>
  42. ' . $e['title'] . '
  43. <p>' . $e['description'] . '</p>
  44. </td>
  45. <td>' . $e['timestamp'] . '</td>
  46. </tr>';
  47. }
  48. ?>
  49. </tbody>
  50. </table>
  51. </body>
  52. </html>
Czyli najpierw wykonaj sobie całą "logikę", a dopiero potem wyświetlaj gotowe już dane
phpion
Cytat(JoShiMa @ 10.08.2008, 22:29:03 ) *
Tak ja zajrzałam. A w ogóle to uwielbiam argumenty typu "To jest be, bo ja tego nie lubię i nie potrafię się tym posługiwać".

Szablony (nie koniecznie smarty) są ułatwieniem, ale o tym to może wiedzieć ktoś kto robi poważne projekty w grupach. Projekt napisany z użyciem szablonu zawsze będzie bardziej czytelny i łatwiejszy jeśli chodzi o wprowadzenie dowolnej modyfikacji niż taki napisany po prostu ciurkiem.

Ale po mnie pojechałaś... no ładnie. Widziałaś w jaki sposób rozwiązana jest kwestia szablonów we frameworkach? Symfony, Kohana, Zend Framework... Nie korzystają one z jakiś osobnych systemów (jak np. Smarty) tylko używają "standardowych" systemów szablonów:
http://www.symfony-project.org/book/1_1/07...-the-View-Layer
Oczywiście jest możliwość podpięcia innych system ale - po co? W czym kod napisany w Smarty "będzie bardziej czytelny i łatwiejszy jeśli chodzi o wprowadzenie dowolnej modyfikacji" w porównaniu do tego przedstawionego w linku?
snovvy
@Crozin: Wielkie dzięki za ten kod :-) W tym momencie będzie mi o wiele łatwiej ogarnąć składnie PHP :-) Dzięki wielkie!
rzymek01
@phpion, masz po części rację, kiedyś używałem Smarty, ale już od tego odszedłem, bo napisałem sobie swoją klasę do szablonów która jest 5-10 krotnie szybsza od smarty smile.gif

@JoShiMa, Każda poważna aplkacja to powinna mieć swój własny system szablonów, a nie przeładowane jakimiś niepotrzebnymi funkcjami smarty, taki własny system ma tylko takie funkcje które są naprawdę potrzebne i wydajne

@snovvy
na moje to pisz wszystko od początku od <?php do ?> a posrodku uzywaj echo biggrin.gif,np.
  1. <?php
  2. $cos = 100;
  3. //i inne instrukcje php
  4.  
  5. //a dynamiczna treść strony przygotowa do zmiennych, i na końcu:
  6.  
  7. echo '<html>
  8. <head>
  9. ...
  10. ' . $zmienna . '
  11. </head>
  12. <body>
  13. ' . $zmienna2 . '
  14. </body>
  15. </html>';
  16. ?>
ed
Chcesz poznać składnie php to najpierw zajrzyj do manuala i zapoznaj się z funkcjami. Tworząc proste skrypty szybkp się nauczysz i zrozumiesz o co w tym wszystkim biega.
JoShiMa
Cytat(phpion @ 11.08.2008, 07:04:37 ) *
W czym kod napisany w Smarty "będzie bardziej czytelny i łatwiejszy jeśli chodzi o wprowadzenie dowolnej modyfikacji" w porównaniu do tego przedstawionego w linku?

Jest łatwiejszy w sytuacji gdy zajmuje się nim inna osoba niż ta, które tworzy kod php (mówię o pracy grupowej). Koder szablonu koduje html i nie obchodzi go składnia php. Jedyne co musi ustalić z programistą php to format przekazywanych do szablonu danych. Nie twierdzę, że Smarty to najlepszy na świecie system szablonów. Ma swoje wady i zalety. Z pewnością jednak jest stosowanie szablonów to lepsze podejście niż phpowo-htmlowa sieczka. Dająca się opanowac jedynie wtedy gdy projekt jest niewieli i od początku do końca robiony przez jedną osobę.

Cytat(rzymek01 @ 11.08.2008, 11:05:18 ) *
@JoShiMa, Każda poważna aplkacja to powinna mieć swój własny system szablonów, a nie przeładowane jakimiś niepotrzebnymi funkcjami smarty, taki własny system ma tylko takie funkcje które są naprawdę potrzebne i wydajne

Jedna uwaga, bo chyba panowie mają problemy z uważnym czytaniem. Nie napisałam "koniecznie Smarty" a "na przykład Smarty". Nie twierdzę, że Smarty to najlepszy na świecie system szablonów jest łatwy do opanowania dla początkującego i niezłym punktem wyjściowym do opracowania swojego systemu szablonów. W każdym razie jakikolwiek szablon jest lepszy od jego braku i nie przekonasz mnie, że jest inaczej.
rzymek01
JoShiMa, masz racje na temat ogolnego poglądu na temat szablonów smile.gif

proponuję koniec offtopa, bo autor nic nie chciał od szablonów, a jednynie chodziło mu o osadzanie kodu htm wewnetrz PHP
JoShiMa
Najlepszy cytat to autocytat:
Cytat(JoShiMa @ 10.08.2008, 13:03:40 ) *
Jeśłi chcesz od razu nauczyć się robić elegancko to zainteresuj się szablonami. Na przykład Smarty. To pozwala w elegancki sposób oddzielić php od HTML czy jak wolisz XHTML i mieć porządek w aplikacji.


Szkoda, że przeciwnicy Smarty są tak zaślepieni iż nie mogą nawet uważnie przeczytać czyjejś wypowiedzi jeśli tylko napotkają w niej słowo 'Smarty' aaevil.gif

edit: literówka
rzymek01
snovvy pisał: że nie wie czy kod php ma być w kodzie xhtml
Kod
<h2><? php echo = "$title"; ?>

czy na odwrót:
Kod
<?php echo = "<table>"; ?>

i ODP: obojętnie, choc bardziej elegancko wydaje się być kod xhtml wewnętrz PHP

i tyle, a szablony to dodatek do tematu, bo zaden początkujący PHPek nie umie od razu korzystać z szablonów smile.gif
JoShiMa
Cytat(rzymek01 @ 11.08.2008, 11:33:38 ) *
zaden początkujący PHPek nie umie od razu korzystać z szablonów smile.gif

Może i tak, ale nie ładnie tak nie doceniać początkującego. Dalej uważam, że smarty są idealne właśnie do nauki mimo ich różnych wad smile.gif A nawet jak nie umie to powinien przynajmniej wiedzieć do czego dążyć.

Podzielam twoje zdanie w kwestii wyboru jednego z dwóch. Z dwojga złego już lepiej jeden skrypt php z wyświetlaniem htmla na bierząco, a później można przejść do "kolekcjonowania" stringów html do ostatecznego wyświetlenia aby na końcu przejść do szablonów czyli oddzielenia jednego od drugiego.
Shili
@rzymek01
Nie do końca obojętnie. Spróbuj odpalić ten kod, powinno wywalić parse error.

Również uważam, że nie ma znaczenia to, czy będzie się uczyć wyświetlania przez <?php echo "kwa"; ?>, czy <?="kwa"?> czy {kwa}. Ważne jednak, żeby zdawać sobie sprawę z tego, że inne możliwości istnieją i chociaż zapoznać pobieżnie z ich możliwościami. A wtedy spokojnie będzie można sobie to w bardzo krótkim czasie przyswoić wtedy kiedy zajdzie taka konieczność.
rzymek01
no wiadomo że bedzie error bo jest błąd składni w tym przykładzie snitch.gif (znak równa się i spacja przy nagłówku )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.