Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] cudzysłów a apostrof
Krisu
post 9.04.2008, 20:28:30
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Już od dłuższego czasu zastanawiam się nad jednym problemem.

Czego tak naprawdę powinno się używać w kodzie programu?

Kod
cudzysłów " or apostrof '


Z tego co czytałem (mogę się mylić), to PHP interpretuje ciągi zawarte między " " jako zawartość w której występuje zmienna. Co w nadmiarze prowadzi co zbędnego obciążania serwera.

W takim razie do czego służą apostrofy i czemu program dziła jeśli po znaku = wpiszemy bezpośrednio zmienną lub ciąg znaków, nie używając w/w znaków?

Czemu najczęściej wykorzystywanym znakiem jest cudzysłów?
Go to the top of the page
+Quote Post
Elber
post 9.04.2008, 20:34:35
Post #2





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Hmm...może tak to co jest pomiędzy "cudzysłowem" w php się wykona, a to co jest w apostrofach 'lala' się wyświetli na ekranie czyli np.
  1. <?php
  2. $test="jakiś tekst";
  3. echo"$test";
  4. ?>

Teraz wyświetli Ci się na ekranie jakiś tekst

  1. <?php
  2. $test="jakiś tekst";
  3. echo'$test';
  4. ?>

A teraz wyświetli CI sie na ekranie $test

Pozdr0

Ten post edytował Elber 9.04.2008, 20:34:51


--------------------
GG: 564555
Go to the top of the page
+Quote Post
Crozin
post 9.04.2008, 20:43:30
Post #3





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

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


Kod pomiędzy apostrofami jest trkatowany dosłownie:
  1. <?php
  2. $zmienna = 'ala ma kota';
  3. echo 'To jest jakiś tekst $zmienna z jakimiś \n\tbzdetami';
  4. ?>
Wyswietli:
Kod
To jest jakiś tekst $zmienna z jakimiś \n\tbzdetami
Natomiast:
  1. <?php
  2. $zmienna = 'ala ma kota';
  3. echo "To jest jakiś tekst $zmienna z jakimiś \n\tbzdetami";
  4. ?>
Wyświetli:
Kod
To jest jakiś tekst ala ma kota z jakimiś
    bzdetami


Jednak trzeba pamiętać, że tekst w apostrofach jest nieco szybciej "czytany" przez interpreter PHP (gdyż ten nie musi w nim szukać zmiennych czy znaków specialnych) - jest to jednak naprawdę sprawa dziesięcio/stu tysięcznych sekundy

PS. Ja osobiście używam apostrfów winksmiley.jpg
Go to the top of the page
+Quote Post
Krisu
post 9.04.2008, 20:47:16
Post #4





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Rozwinę swoje pytanie o pewien kod:
  1. <?php
  2. echo "<input size='96' class='input' type='text' value=''>";
  3. ?>

  1. <?php
  2. <a href=' . $path_url . $url .' target=&#092;'_blank'>link</a>
  3. ?>


Czy oba sposoby wyświetlania zawartości są poprawne? Czy mają jakieś większe znaczenie?

Cytat(Crozin @ 9.04.2008, 19:43:30 ) *
Jednak trzeba pamiętać, że tekst w apostrofach jest nieco szybciej "czytany" przez interpreter PHP (gdyż ten nie musi w nim szukać zmiennych czy znaków specialnych) - jest to jednak naprawdę sprawa dziesięcio/stu tysięcznych sekundy

PS. Ja osobiście używam apostrfów winksmiley.jpg


Dzięki, za wyjaśnienie, i potwierdzenie moich przekonań.

Ten post edytował Krisu 9.04.2008, 20:50:38
Go to the top of the page
+Quote Post
l0ud
post 9.04.2008, 20:54:01
Post #5





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Należy unikać stosowania cudzysłowów w swoich programach. Wszystko da się zrealizować za pomocą apostrofów i łączenia ciągów, poza tym kod staje się bardziej czytelny, bo składnia jest prawidłowo kolorowana. Wzrost wydajności pewnie nie jest znaczny, ale jednak jest winksmiley.jpg


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Crozin
post 9.04.2008, 20:59:23
Post #6





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

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


A co do czytelności... czasami jednak użycie cudzysłowi jest bardziej czytelne - głównie, gdy w tekscie chcemy użyć apostrofów (odwrótnie jest, gdy chcemy użyć cudzysłowi)
  1. <?php
  2. $zmienna = "to est' jakis 's dziwn'y tekst - sk'ad tu ty'e apostro'f'ow?";
  3. ?>
  1. <?php
  2. $zmienna = 'to est' jakis 's dziwn'y tekst - sk'ad tu ty'e apostro'f'ow?';
  3. ?>
Już tu widać różnice... a co jeżeli w tekście mają być znaki specialne? Wtedy to już kompletny sajgon :-P
Cytat
bo składnia jest prawidłowo kolorowana
PSPad radzi sobie i z tym (jeżeli masz zmienną w cudzysłowiach to jest ona kolorowana inaczej)
Go to the top of the page
+Quote Post
l0ud
post 9.04.2008, 21:02:58
Post #7





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Crozin, z czasem zaczniesz osadzać takie ciągi w plikach językowych, a kod html w szablonach smile.gif Wtedy to nie będzie przeszkadzać smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Krisu
post 9.04.2008, 21:03:57
Post #8





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Dzięki smile.gif Rozwialiście moje wątpliwości. Pozdrawiam winksmiley.jpg
Go to the top of the page
+Quote Post
Crozin
post 9.04.2008, 21:18:29
Post #9





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

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


Żeby nie było - ja sobie umiem zadbać o czytelny i elastyczny kod winksmiley.jpg

Mimo wszystko zawsze może powstać sytuacja, gdzie ciag może być nieczytelny - jednak zawsze powinno się używać apostrofów - ot taki dobry nawyk
Go to the top of the page
+Quote Post
Itep
post 4.05.2008, 12:53:06
Post #10





Grupa: Zarejestrowani
Postów: 23
Pomógł: 1
Dołączył: 4.05.2008
Skąd: Mokotów

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


Bardziej przekonały mnie argumenty mówiące o tym, że lepiej używać cudzysłowu. Nie generuje on wielkiego obciążenia dla serwera, a dla początkującego jest prostszy w użyciu, tak? smile.gif

E: Ok, nie ma co kombinować. Lepiej od razu nauczyć się tak, jak być powinno.

Ten post edytował Itep 4.05.2008, 13:01:58
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: 14.06.2025 - 16:41