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


Ja dorzucę do kwiatków jeszcze jedną wkurzającą mnie rzecz - nadużywanie bez potrzeby zmiennych tymczasowych:

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


Kod
$tresc = $_POST['tresc'];
$tresc1 = htmlspecialchars($tresc);
$tresc2 = str_replace(..., $tresc1);

// itd.


Żeby było śmieszniej, po zwróceniu uwagi byłem jeszcze pouczany, że "przecież zmienne tymczasowe ułatwiają debugowanie, bo można zrobić w razie potrzeby rzecz następującą albo np. coś dalej przetwarzać tekst zapytania":

Kod
$query = 'SELECT costam ...';
echo 'Zapytanie SQL: '.$query;
$result = mysql_query($query);
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #3





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


Cytat(Zyx @ 30.07.2008, 19:29:04 ) *
Żeby było śmieszniej, po zwróceniu uwagi byłem jeszcze pouczany, że "przecież zmienne tymczasowe ułatwiają debugowanie, bo można zrobić w razie potrzeby rzecz następującą albo np. coś dalej przetwarzać tekst zapytania":


A bawiłeś się Xdebug? Jakbyś się bawił to byś wiedział skąd się to bierze. Do tego wiesz co przekazywane jest do funkcji, po nazwie zmiennej, widzisz wszystkie parametry, a nie never ending line.
A swoją drogą testowałeś jak wpływa na wydajność takie "nad używanie"?
Oczywiście mówię o przypadku SQL, bo za każdym razem przy np. filtrowaniu stringu nowa zmienna to śmietnik.

Cytat(Zyx @ 30.07.2008, 22:09:47 ) *
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);


Tylko że w pierwszym przypadku, debugując (mówię ciągle o Xdebug) widzisz czy wchodzi w warunek, a w drugim nie wiesz co jest przekazywane. Do tego mój argument o długości linii.

Cytat(Zyx @ 30.07.2008, 22:09:47 ) *
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.

Prawda jest taka, że jak debugujesz większy skrypt, to takich miejsc poprawek możesz mieć sporo i tylko coś bierze jak musisz dopisać, aby sprawdzić czy wszystko jest ok.
Cytat
Jeżeli coś potrzebuje stałego debugowania włączanego na rozkaz, piszę taki kod, by robił to za mnie.

I obciążasz dodatkowo, kod który jest dobrze napisany sam powie że coś jest nie tak i powie co (co prawda dokładniejsze informacje zostawić tylko dla siebie, a wyświetlać te pobieżne)


Jest mowa o kwerendach, ale sprawa się tyczy wszystkich parametrów funkcji podstawowych, gdzie nie mamy możliwości sprawdzenia co dokładnie przekazujemy.
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 06:34