Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dziwna mania niektórych użytkowników, ...czyli, o co chodzi z "$zmienna"...?
nowotny
post
Post #1





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Witam...

Zauważyłem że wiele początkujących użytkowników ma jakąś dziwną manię stosowania takiej konstrukcji:
  1. <?php
  2. if($a=="$b")...
  3. ?>

...czyli zamykają zmienną w podwójnych cudzysłowach... O co tu chodzi...? Jak dla mnie nie ma to najmniejszego sensu, ale może o czymś nie wiem... :/

Czy jakiś popularny kurs/książka podpowiada coś takiego...? Przyznam że spotkałem się z tym po raz pierwszy i tylko na tym forum...

Ten post edytował nowotny 18.03.2008, 12:33:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Taki zapis przykładu z MySQL-em zrozumiałbym, gdyby skrypt potrzebował coś zapisać na przyspieszenie odczytu i robił coś jeszcze z tym, choćby nawet:

Kod
$query = 'SELECT ...';
mysql_query($query) or die('Problem z zapytaniem: '.$query);


Mam po prostu sztywny podział: kod produkcyjny / kod roboczy. Kod produkcyjny ma trzymać wysoki poziom. Kod roboczy może zawierać rzeczy debugerskie w stylu:

Kod
echo jakasFunkcja($dane);
$this->pole = jakasFunkcja($dane);


Ale dodaję je tylko, gdy w danym miejscu faktycznie jest problem i po jego likwidacji usuwam. Gdybym dopuścił np. taki wygląd zapytań, to równie dobrze mógłbym zapytać, co w takim razie jest źle z drugim podanym kodem? Przecież tu też można by się tłumaczyć kwestiami debugowania, że będę chciał wyświetlić dane po przepuszczeniu przez którąś z kolei funkcję. I tak po kolei dojdziemy do kodu-potworka w stylu:

Kod
$wyrazenie = ($a == 5);
if($wyrazenie)
{
   $arg1 = 1;
   $arg2 = 5 + $a;
   $wynik = funkcja($arg1, $arg2);
   echo $wynik;
}


I też go względami debugowania będę mógł obronić dokładnie tak samo, jak zapis:

Kod
$query = 'SELECT ...';
mysql_query($query);


Przecież też formalnie mogę zechcieć sobie z różnych powodów wyświetlić np. wartość wyrażenia lub argumentu 1, by upewnić się, że na pewno są właściwe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Prawda jest taka, że w dobrze przemyślanym problemie prawdopodobieństwo zajścia takiego zdarzenia jest BARDZO MAŁE, a jeśli już zajdzie, zawsze jest Ctrl+C/Ctrl+V. Od tej 0,5 sekundy więcej na wpisanie świat się nie zawali. Gdy zaś muszę sięgać zbyt często po ten środek, znaczy to, że rozwiązanie wymyślałem na kolanie, jest ono kiepskie i lepiej będzie, jak siądę nad kartką i wymyślę nowe.

Jeżeli coś potrzebuje stałego debugowania włączanego na rozkaz, piszę taki kod, by robił to za mnie.

Zauważcie ponadto, że początkujący rzadko mają wyrobiony własny styl kodowania. Jeśli zobaczą, że ktoś tak wpisuje non-stop zapytanie, to stwierdzą, że tak trzeba robić ZAWSZE. I później przekonaj takiego, że projekt posiada "trochę" lepszy sterownik bazy danych, który posiada zaawansowany tryb debugowowania/raportowania błędów i na życzenie udostępni dokładny wygląd każdego zapytania bez konieczności robienia zmiennych pomocniczych...

Nie wyklucza to oczywiście skracania przydługawych linijek, które zawsze można przełamać, bez względu na to, czy zapytanie wprowadzamy do zmiennej czy do funkcji.

Ten post edytował Zyx 30.07.2008, 21:18:42
Go to the top of the page
+Quote Post

Posty w temacie
- nowotny   Dziwna mania niektórych użytkowników   18.03.2008, 12:32:15
- - Moli   Sam sobie odpowiedziałeś Cytatpoczątkujących uży...   18.03.2008, 12:42:24
- - nospor   1) w niektorych co "madrzejszych" ksiazk...   18.03.2008, 12:42:43
- - PUPI   ... bo panuje moda na "naukę" przez goto...   18.03.2008, 13:16:26
- - 1010   Nadchodzi nowa era programowania... Za niedługo ws...   18.03.2008, 22:21:42
- - domis86   Eh wy ignoranci. Oni chcą po prostu zmienną ...   22.03.2008, 00:55:10
- - Szupien   u mnie w zendzie jak nie wezne w cudzysłów wyskaku...   22.03.2008, 01:05:08
- - nospor   CytatEh wy ignoranci. Oni chcą po prostu zmie...   25.03.2008, 08:26:23
- - l0ud   @nospor, na 90% to był żart Swoją drogą zauważył...   25.03.2008, 09:46:29
|- - domis86   Cytat(l0ud @ 25.03.2008, 09:46:29 ) M...   25.03.2008, 10:08:52
- - l0ud   Chodzi o to, że domyślne raportowanie błędów tego ...   25.03.2008, 10:41:40
- - DeyV   Myślę, że takie kwiatki pojawiają się w wyniku szy...   25.03.2008, 11:23:28
- - ShadowD   A tak z ciekawości co powiecie o zapisie: echo(...   26.07.2008, 19:14:25
- - Lars   Bo traktują echo jak funkcję a nie konstrukcję jęz...   26.07.2008, 19:22:00
- - strife   Hej, A mi się wydaje, że nastała era leniuchów, k...   29.07.2008, 08:45:56
- - Kocurro   strife: ja ciągle widzę, że jak ktoś pomaga z jedn...   29.07.2008, 08:51:27
|- - radex_p   Cytat(Kocurro @ 29.07.2008, 09:51:27 ...   29.07.2008, 08:59:46
|- - Ociu   Cytat(radex_p @ 29.07.2008, 09:59:46 ...   29.07.2008, 09:42:40
|- - mike   Cytat(Ociu @ 29.07.2008, 10:42:40 ) 1...   29.07.2008, 09:49:57
|- - qqrq   Cytat(mike @ 29.07.2008, 10:49:57 ) L...   29.07.2008, 11:16:19
- - phpion   Ja widzę kolejną perełkę, również często powtarzan...   29.07.2008, 09:35:10
- - Ociu   To były bardziej argumenty, dlaczego php będzie w ...   29.07.2008, 10:16:08
- - Tomplus   Więc może zamiast narzekać, to niech PHP.pl jako z...   29.07.2008, 10:52:22
- - mike   A najbardziej mnie śmieszą teksty w styl...   29.07.2008, 11:37:29
|- - qqrq   Cytat(mike @ 29.07.2008, 12:37:29 ) A...   29.07.2008, 16:04:06
|- - mike   Cytat(qqrq @ 29.07.2008, 17:04:06 ) B...   29.07.2008, 16:10:06
|- - qqrq   Cytat(mike @ 29.07.2008, 17:10:06 ) A...   30.07.2008, 06:05:56
- - Moli   @Ociu - To akurat są zalety php. To że ludzie pisz...   29.07.2008, 11:56:23
- - tommy4   Cytatczyli wysyłanie w pełni statycznego tekstu po...   30.07.2008, 08:46:15
- - destroyerr   Właśnie php jest dla takich konstrukcji, dla miesz...   30.07.2008, 09:02:16
- - 1010   dla mnie czytelniej byłoby tak: [PHP] pobierz, pl...   30.07.2008, 09:13:24
- - pest   1010: To jest chyba kwestia upodobania, ale ja w k...   30.07.2008, 09:15:24
- - radex_p   Panowie, nie kłóćcie się o tak błahe sprawy - to j...   30.07.2008, 17:10:33
- - Zyx   Ja dorzucę do kwiatków jeszcze jedną wkurzającą mn...   30.07.2008, 18:29:04
|- - Sedziwoj   Cytat(Zyx @ 30.07.2008, 19:29:04 ) Że...   31.07.2008, 22:30:16
- - Tomplus   a takie rzeczy: [PHP] pobierz, plaintext <?php...   30.07.2008, 19:27:50
- - domis86   @Zyx: powiedz, że zapomniałeś ca...   30.07.2008, 19:29:46
- - phpion   Również uważam, że coś z wypowiedzią Zyxa jest nie...   30.07.2008, 19:33:40
|- - radex_p   Cytat(phpion @ 30.07.2008, 20:33:40 )...   30.07.2008, 19:43:28
- - Tomplus   @domis86 Trzeba stworzyć tablicę, ale cześciej jes...   30.07.2008, 19:39:45
- - Zyx   Taki zapis przykładu z MySQL-em zrozumia...   30.07.2008, 21:09:47
- - nospor   CytatZauważcie ponadto, że początkujący rzadko maj...   31.07.2008, 06:24:44
- - SHiP   A mnie denerwuje uzywanie [PHP] pobierz, plaintex...   31.07.2008, 09:55:54
- - domis86   Cytat(nospor @ 31.07.2008, 07:24:44 )...   31.07.2008, 10:07:21
- - nospor   CytatNie tylko dla poczatkujacych trzeba pisac pro...   31.07.2008, 10:11:43
|- - Fantazyn   Cytat(nospor @ 31.07.2008, 11:11:43 )...   31.07.2008, 22:41:07
|- - Sedziwoj   Cytat(Fantazyn @ 31.07.2008, 23:41:07...   31.07.2008, 23:12:38
- - qqrq   Swoją drogą dobrze by było, żeby każdy programista...   31.07.2008, 10:49:16
- - phpion   Cytat(SHiP @ 31.07.2008, 10:55:54 ) @...   31.07.2008, 14:19:02
|- - qqrq   Cytat(phpion @ 31.07.2008, 15:19:02 )...   31.07.2008, 15:05:56
- - Moli   Ehhh informatycy, tylko im dupczenie w głowie Sko...   31.07.2008, 14:44:49
- - Zyx   Moli, dobrze prawisz, lecz powiem Ci pewną rzecz. ...   31.07.2008, 20:02:21
- - terabit   Jeśli już tak piszecie jak powinno się pisać a jak...   31.07.2008, 22:21:11
- - domis86   symfony   31.07.2008, 22:23:23
- - terabit   Cytat(domis86 @ 31.07.2008, 23:23:23 ...   31.07.2008, 22:32:21
- - Zyx   Sędziwój, chyba wyraźnie napisałem,...   2.08.2008, 11:40:36
- - Sedziwoj   Cytat(Zyx @ 2.08.2008, 12:40:36 ) Sęd...   2.08.2008, 12:20:19


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 Aktualny czas: 11.10.2025 - 02:57