Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][inne][PHP]Głupie pytanie, Dlaczego? Dlaczego? Dlaczego?
croc
post 13.03.2010, 01:20:48
Post #1





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


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

Ten post edytował croc 13.03.2010, 01:21:45
Go to the top of the page
+Quote Post
darko
post 13.03.2010, 02:34:49
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
blooregard
post 13.03.2010, 09:25:15
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Przeniosłem.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Crozin
post 13.03.2010, 13:13:43
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
viking
post 13.03.2010, 14:02:46
Post #5





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


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).


--------------------
Go to the top of the page
+Quote Post
Cysiaczek
post 13.03.2010, 14:21:01
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
ucho
post 13.03.2010, 18:21:07
Post #7





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
thek
post 13.03.2010, 20:35:56
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Volume
post 15.03.2010, 22:30:57
Post #9





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 11.10.2004
Skąd: 3c

Ostrzeżenie: (10%)
X----


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........

Ten post edytował Volume 15.03.2010, 22:47:56
Go to the top of the page
+Quote Post
nmts
post 15.03.2010, 23:35:09
Post #10





Grupa: Zarejestrowani
Postów: 283
Pomógł: 34
Dołączył: 21.03.2008

Ostrzeżenie: (0%)
-----


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


--------------------
Free Web Tools - narzędzia dla programistów, webdeveloperów i specjalistów seo...
Go to the top of the page
+Quote Post
thek
post 16.03.2010, 00:09:40
Post #11





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
frytek92
post 20.03.2010, 23:57:20
Post #12





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 9.11.2007
Skąd: Goleniów

Ostrzeżenie: (0%)
-----


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

Ten post edytował frytek92 21.03.2010, 00:01:00


--------------------
Go to the top of the page
+Quote Post
kipero
post 21.03.2010, 17:18:15
Post #13





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

Ostrzeżenie: (0%)
-----


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.

Ten post edytował kipero 21.03.2010, 17:18:30


--------------------
Go to the top of the page
+Quote Post
thek
post 21.03.2010, 21:19:08
Post #14





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 12:43