Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][inne][PHP]Głupie pytanie
Forum PHP.pl > Inne > Hydepark
croc
Hehe, pytanie będzie dziwne. Piszę w PHP od ładnych kilku lat i nadal nie rozumiem dlaczego autorzy książek wyrabiają często w czytelnikach nawyki w stylu:
  1. echo "hello world";


Cudzysłów w PHP służy do czegoś innego (sam go nigdy nie stosuję)


Ale to jeszcze nic. Najlepsze jest jak robią coś takiego:
  1. echo "<input type='text' name='title'>";


I robią "wspaniałą" rzecz zapisując atrybuty HTML-owe w apostrofach. Co gorsza, wiele razy widziałem jak pisali tak tylko po to, by nie musieć uciekać cudzysłowów użytych w echo, a np. w innym rozdziale atrybuty HTML pojawiają się znów w cudzysłowach). Działać działa, ale... czy to czasem nie jest przegięcie i wylęgarnia bezmózgich klepaczy?


Takie luźne uwagi. smile.gif
darko
1. Stosowanie i zagnieżdżanie cudzysłowów jest sprawą indywidualną każdego programisty, najważniejsze jest zachowanie poprawności.
2. To już lepiej byłoby napisać tak:
  1. $a = '<a href="cos_tam.php">klik</a>';

3. Klepacze o których wspominasz najczęściej ujawniają się okazując własną bezmyślność i brak totalnych podstaw podstaw, a często towarzyszy temu zjawisku postawa roszczeniowa względem innych, a czasem nawet niczym nieuzasadnione pretensje.
blooregard
Przeniosłem.
Crozin
Cytat
I robią "wspaniałą" rzecz zapisując atrybuty HTML-owe w apostrofach.
A to nie wolno w apostrofach? Co za różnica - standardy oparte na formatach XML-owskich chyba jasno mówią, że attr="value" i attr='value' są poprawne.
viking
Nawet żeby rozwiać wątpliwości: http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2
Cytat
By default, SGML requires that all attribute values be delimited using either double quotation marks (ASCII decimal 34) or single quotation marks (ASCII decimal 39).
Cysiaczek
Może i są poprawne z punktu widzenia standardu, ale naprzemienne użycie nie wchodzi w grę bo się robi bajzel. Ponadto, chyba jeszcze nigdy nie widziałem konsekwentnego kodu, który by używał apostrofów - może akurat źle trafiałem? winksmiley.jpg
ucho
Bezmyślność klepaczy znacznie lepiej widać po takim kwiatku:
  1. echo "$zmienna";

Co do pojedynczych apostrofów spotkałem się tylko z jednym argumentem za - nie trzeba wciskać shifta. Osobiście chyba nie potrafiłbym się przestawić.
thek
To może ja powiem co ja uważam. Dla mnie standardem jest podwójny apostrof jako objęcie wartości atrybutu. pojedynczy apostrof jest jedyne akceptowalny, gdy mamy do czynienia z parametrami wewnątrz funkcji w zdarzeniach, czyli obie rzeczy widoczne na przykład tu:
  1. <a href="adres" title="tutuł" onclick="funkcja('parametr1', 'parametr2'); return false;">Anchor text</a>
Nawet jeśli to oznacza, że w kodzie będę musiał zastosować znak ucieczki to wolę i ta by potem nie mieć problemów z tym, że mi źle przeglądarka działa lub robi cyrki.

co do php to im mniej uruchomień interpretera tym lepiej. Nawet jeśli będę co chwilę wyskakiwał z echo używając kropek, to lepsze to niż potem zastanawiać się gdzie mógł on jakąś głupotę zrobić,której przykładowo nie zauważyłem.
Volume
Przy okazji tego tematu zadam pytanie co do swojej wątpliwości - pare razy spotkałem się na forum żeby nie zganiezdzac html w php tylko jak juz php w htmlu, ale z drugiej strony - czy dawanie pojedynczego apostrofa zamiast podwójnego/cudzysłowia nie jest jednoznaczne z ominieciem interpretera?

Jakby mnie ktos nie zrozumial to czy:

  1. <?php
  2. jakies instrukcje php
  3. echo 'kod html';
  4. dalsze instrukcje ?>

nie jest jednoznaczny z
  1. <?php
  2. jakies instrukcje php
  3. ?>
  4. kod html
  5. <?php
  6. dalsze instrukcje php
  7. ?>
?
Czyli inaczej mówiąc cudzysłów miałby włączać w/w interpretera a apostrof wyłączać?

A co do tematu to ze swojej strony dodam, że czasem zdaży mi się zajść do empiku i poprzeglądać aktualną literature z tej tematyki i... bardzo dziwne jest to, że nawet książki wydawane w ostatnich latach - nawet 2009 (rozumiem ze to zapewne tylko data wydrukowania - ale mimo wszystko ktoś kto się nie zna może założyć, że ma tam aktualne wiadomości) są można powiedzieć antykami... Nawet raz spotkałem się z książka na temat PHP5, która psoługuje się w przykładach ciągle jak widać bardzo popularnym antycznym, niesemantycznym HTMLem, np. jak to prosto, szybko i łatwo stworzyć system aktualności na....tabelach........
nmts
Cytat(Volume @ 15.03.2010, 22:30:57 ) *
Nawet raz spotkałem się z książka na temat PHP5, która psoługuje się w przykładach ciągle jak widać bardzo popularnym antycznym, niesemantycznym HTMLem, np. jak to prosto, szybko i łatwo stworzyć system aktualności na....tabelach........


Eee tam, dziwne to to by było w książce o html/css. Wiadomo, że jak coś jest do wszystkiego to jest do niczego, dlatego skupili się na php. winksmiley.jpg
thek
Volume... To co poruszyleś jest niejednoznaczne tylko patrząc z określonej perspektywy. echo to konstrukt php, więc chcąc nie chcąc i tak jest do niego używany interpreter, ale z oznaczeniem "to co pomiędzy pojedynczymi apostrofami zostaw w spokoju". Może się bowiem zdarzyć sytuacja pokroju
  1. echo 'jakiś tekst'."\n";

czy choćby wystąpienie zmiennej. Tak więc jedynie jawne wyskoczenie z kodu poprzez zamknięcie ?> mówi, że ta część kodu ma pozostać nietknięta, gdyż jest kodem html i nie ma sensu jej analizować pod jakimkolwiek kątem tylko od razu pchać na wyjście. W każdym innym wypadku interpreter działa, ale "jest ustawiany na biegu jałowym". Efekt może identyczny, ale widząc kod, gdzie 90% to html w echo można głową walić w monitor. Choćby z racji tego, że większość edytorów w takiej sytuacji nie będzie kolorować składni html, przez co trudniej dostrzec jego błędy. To także więc gmatwanie sobie późniejszego ewentualnego wykrywania usterek.
frytek92
Faktycznie w prawie kazdej ksiazce o php która miałem w reku autor zawsze używa " zamiast ' ale może to wynika z faktu ze autorzy sa przekonani że to ułatwi nauke PHP
kipero
Aż tak duża różnica to nie jest, żeby miała w znaczący sposób ułatwić naukę. Chodzi raczej o przyzwyczajenia autorów tych książek.
thek
Moim zdaniem to przyzwyczajenie autorów wynikające z lenistwa. Global variables + olewka niemal wszystkiego przy stosowaniu podwójnych apostrofów (interpreter i tak znajdzie zmienną). Złe nawyki wyciągnięte z php4 się mogą zemścić. Często kod php4 poprawiam i sklinam programistów wtedy piszących zazwyczaj. Ja rozumiem, że wtedy inaczej się pisało, ale na litość boską, porządni programiści jakoś potrafili pisać sensownie. Szkoda, że nieliczni. Po reszcie do tej pory tylko zęby bolą od zgrzytania winksmiley.jpg
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.