Operator <<< bądź argument print PHP

0

Dzień dobry, cześć Wszystkim.
Mam przed swoją twarzą kod źródłowy strony i znalazłem pewną konstrukcję, której za bardzo nie rozumiem. Wygląda to z grubsza tak:

<?php
<html>
<head>
print<<<bodyhtml
</head>
<body>
bodyhtml;
//dalsza część kodu
</body>
</html>
?>

Szukałem, szukałem i nic. I mam odnośnie tego kilka pytań. Co dokładnie robi operator(?) argument(?):

<<<

Czy to jakiś specjalny sposób na przeskoczenie do bloku "body"?
Czy można taką konstrukcję jakoś zastąpić?
W ogóle czy to dobry pomysł używać takich konstrukcji?
Czy dobrą praktyką jest wyświetlanie w ten sposób strony tj.

print '<html>cały kod strony</html>

Jeśli nie, to jak to rozwiązać. Z góry dziękuję za odpowiedzi, podpowiedzi.
Serdecznie Pozdrawiam!

4

Ten operator zastępuje cudzysłów podwójny - czyli zachowuje się tak samo w stosunku do zmiennych, funkcji, stałych itp. To co znajduje się bezpośrednio po operatorze należy także podać na końcu, aby php wiedziało dokąd sięga tekst. Przykład:

$zmienna = <<<DLUGITEKST
bla bla
...
bla bla
DLUGITEKST; // na samym początku linii, bez żadnych spacji i tabulatorów bo inaczej nie zaskoczy

// mozna to zastapic tym:
$zmienna = "
bla bla
...
bla bla
";

W zmiennej w tedy znajdzie się to co jest pomiędzy tekstami DLUGITEKST.

1

to tak zwany "heredoc syntax": http://www.php.net/manual/pl/language.types.string.php#language.types.string.syntax.heredoc

MałyWeb napisał(a):

Czy dobrą praktyką jest wyświetlanie w ten sposób strony tj.

print '<html>cały kod strony</html>

Jeśli nie, to jak to rozwiązać.

jest to bardzo złą praktyką, lepiej stosować system szablonów, jak np http://www.smarty.net/
lub lepiej pisać aplikację zgodnie ze wzorcem MVC - wtedy w widokach kodu php jest na tyle mało że jest to wszystko czytelne
MVC można połączyć z szablonami, ale jak dla mnie jest to zbędne

0

Wielkie dzięki za odpowiedzi! Niestety nie mogę dać "okejki" więc leci jeszcze raz wielkie dzięki!

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