![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Czy jest jakiś przypadek czy okoliczność w której należy korzystać z średnika przy short_tags.
Z tego co wiem to ?> jednocześnie zamyka wszelkie konstrukcje no ale czy zawsze? No i ogólnie zastanawiam się, która wersja jest najbardziej zgodna z standardami. PSR zezwala na shorttags ale nie określa jak najlepiej ich używać. -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Moim zdaniem powinno się zawsze dawać średnik na końcu danego wyrażenia, nie tyle że jest on koniecznie potrzebny co po prostu jest lepszym standardem kodowania, odradzałbym tak samo używanie short tags - to nie są dobre nawyki.
Odnośnie jeszcze średników: Przykładowo jakbyś chciał dodać coś jeszcze w tej samej linii, a nie byłoby tam średnika straciłbyś chwilkę, aby zorientować się dlaczego IDE podświetla linijkę na czerwono. -------------------- Jeżeli moja wypowiedź Ci pomogła użyj przycisku
![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 186 Pomógł: 6 Dołączył: 20.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czemu short tags są złym nawykiem? Po to są wprowadzone aby było prościej przecież..
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
short tags wraca do łask i mnie to bardzo cieszy bo lubię z nich korzystać w szablonach (np. w codeigniter).
Przykładowo jakbyś chciał dodać coś jeszcze w tej samej linii, a nie byłoby tam średnika straciłbyś chwilkę, aby zorientować się dlaczego IDE podświetla linijkę na czerwono. Troszkę nie rozumiem ![]() -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chodzi o konstrukcję <?= $var ?> to w porządku jako, że jest to alternatywa do <?php echo $var ?> więc z reguły nie ma potrzeby dodania do tej linii innych wyrażeń:
Natomiast jeżeli używamy czysto hipotetycznie <? $var = $otherVar; echo $otherVar; ?> to warto pamiętać o średnikach. Dla samego spokoju ducha i trzymania się standardów uważam, że powinno się używać pełnych konstrukcji oraz średników na końcu każdego z wyrażeń. Nie sądzę, aby miało to wpływ na wydajność pracy, czy ktoś pisze <?php czy <? czy da średnik na końcu czy nie. Cytat PHP also allows for short tags <? and ?> (which are discouraged because they are only available if enabled with short_open_tag php.ini configuration file directive, or if PHP was configured with the --enable-short-tags option. Dlatego są złym nawykiem ponieważ do ich działania konieczne jest ustawienie w php.ini Używając pełnych tagów zawsze mamy pewność, że kod PHP zostanie prawidłowo rozpoznany Chyba że rozmawiamy o PHP 5.4, ale moim zdaniem to jeszcze za wcześnie, dużo hostingów opiera się jeszcze na PHP 5.3 / 5.2 Potem może być problem podczas przenoszenia kodu na inny serwer. Znalazłem ciekawy diagram i dołączę go poniżej, odpowiada on na to czy w twoim przypadku używanie short tags jest w porządku ![]() Ten post edytował mstraczkowski 24.02.2013, 17:25:57 -------------------- Jeżeli moja wypowiedź Ci pomogła użyj przycisku
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
<? jako alternatywy dla <?php nie używam, bo to zbędna wygoda.
Cały temat dotyczy tylko alternatywy echo. W CI jeśli shorttags są wyłączone to w locie je zmienia na echo. -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
W takim razie nie widzę zastrzeżeń
-------------------- Jeżeli moja wypowiedź Ci pomogła użyj przycisku
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
podobno w php6 mają zostać wykasowane short tagi
-------------------- LS Easter egg < |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Zmieniają decyzje co chwilę poza tym ja nawet nie mam jeszcze PHP 5.4 na serwerze, a gdzie tam do PHP6.
-------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 142 Pomógł: 24 Dołączył: 30.03.2009 Skąd: Rokitno Szlacheckie Ostrzeżenie: (0%) ![]() ![]() |
short tag != <?= $var ?>
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Hm..
No a dyrektywa short_tags przypadkiem nie wyłącza też <?= właśnie? -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Wspomniałeś o codeigniterze, a tak się składa że niedawno przeglądałem źródła kilku frameworków w tym jego.
Otóż jeżeli chodzi o to jego magiczne zamienianie tagów to używa do tego celu eval, a to dość słabe rozwiązanie i mało wydajne. Ale to taka ciekawostka tylko ![]() -------------------- Jeżeli moja wypowiedź Ci pomogła użyj przycisku
![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 142 Pomógł: 24 Dołączył: 30.03.2009 Skąd: Rokitno Szlacheckie Ostrzeżenie: (0%) ![]() ![]() |
@markonix
http://www.php.net/manual/pl/language.basi...tax.phpmode.php od php 5.4 <?= jest niezależne od short_open_tag |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 04:04 |