Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem u syntaxi

[es] :: PHP :: Problem u syntaxi

[ Pregleda: 1284 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Trantor

Član broj: 100930
Poruke: 275
*.dynamic.isp.telekom.rs.

ICQ: 199139277


Profil

icon Problem u syntaxi19.02.2011. u 13:02 - pre 160 meseci
Imam problem sa PHP-om koji mi nikako nije jasan. Učim PHP pomoću video tutorial-a ali vrlo često Code koji oni daju za vežbanje kod njih radi ali kod mene neće. Vidim da je Code potpuno indentičan ali kod mene Apache jednostavno ne može da ga izvrši kako treba. Zaključio sam da je probem u tome što ja MORAM da definišem početnu vrenodst promeniljive a oni koliko sam video to ne moraju. Evo primer:

Code:

    $i++;
    $i--;


Znači oni inkrementuju ili dekrementuju promenljivu $i bez prethodne inicijalizacije i davanja početne vrednosti. To kod mene ne radi. Ja to moram da napišem ovako:

Code:

    $i=0;
    $i++;
    $i--;


Ovo meni ima logike jer se tako radi i u C++. Kako može da inkrementuje premeljivu a nema početnu vrednost kao referencu od koje će da krene? Osim ako se po default-u ne podrazumeva da ako nije definisana promenljiva prva vrednost bude 0 ili 1. Ali ako je to tako zašto se to kod mene ne izvršava tako?

Isti slučaj sa arrays. Evo ga njihov kod. Ubacio sam samo par redova da se vidi o čemu se radi znači nije pun kod:

Code:

<?php
          1:  $ar_values2 = array(43, 22, 17, 1, 10 => 14,  5 => 12, 77, 17 => 56);
          2:  echo "\$ar_values2[0] = ", $ar_values2[0], "<BR>";
          3:  echo "\$ar_values2[4] = ", $ar_values2[4], "<BR>";
          4:  echo "\$ar_values2[17] = ",$ar_values2[17], "<BR><BR>";
?>


Ovaj kod kod njih radi bez problema ali kod mene opet to neće. O čemu se radi. Znači inicijalizovali su niz ar_values2 i dali mu neke vrednosti. Znači imamo redna mesta 0, 1, 2, 3 zatim se skače na redno mesto 10 pa na redno mesto 5 zatim imamo broj 77 (koje je njegovo redno mesto?) i na kraju redno mesto 17.

U kodu se vidi da u linijama broj 2, 3, 4 štampamo određene članove niza. Linija 2 štampa nulti član niza koji je definisan i to radi bez problema. Treća linija treba da odštampa 4 član niza ali kako je on preskočen on nije definisan i ja tu dobijam grešku o nedefinisanom četvrotm članu niza (Notice: Undefined offset: 4). Kod njih taj kod radi bez problem samo što to mesto za vrednost ostaje upražnjeno i kod se izvršava dalje. Linija 4 se izvršava bez problema jer je opet član 17 niza definisan.

Znači moje pitanje. Zašto ja dobijam grešku svaki put kad se štampa promenljiva ili član niza koji nije definisan a oni ne? Zašto se i kod mene Code ne izvršava a tu ostane samo prazno mesto kao kod njih? Da li je možda problem u verziji PHP-a (moja verzija PHP v5.3.4) ili možda treba izvršiti neka podešavanja u php.ini fajlu kako bi to profunkcionisalo. Znam da sam morao da uđem u php.ini fajl kako bi omogućio korišćenje short tagova (npr. <?= umesto <?php print).

Hvala


The truth is out there and I want to believe.
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: Problem u syntaxi19.02.2011. u 13:10 - pre 160 meseci
Kod njih je u error reporting-u stavljeno da "notice" ne prikazuje. Kod tebe nije. Vise o tome na php sajtu
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Trantor

Član broj: 100930
Poruke: 275
*.dynamic.isp.telekom.rs.

ICQ: 199139277


Profil

icon Re: Problem u syntaxi19.02.2011. u 13:17 - pre 160 meseci
OK cool. Da li je to onda loša praksa da se error reporting gasi ili ne? Jer malo je bez veze da se error_reporting gasi. Ili možda grešim.

P.S. Hvala na rešenju. Ugasio sam error_report i sad radi kao i kod njih. Sad bar mogu da pratim Tutorial bez problema.

Hvala
The truth is out there and I want to believe.
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: Problem u syntaxi19.02.2011. u 13:36 - pre 160 meseci
Pa na ne-production, tj. test sistemima bolje je da imas ukljucene notice,i da stalno definises promenljive pre toga, bar ja tako mislim. Onda na produkcionim sistemima (citaj - tamo gde drzis web strane) neces svakako imati problema ako je tamo ostavljeno notice.

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.dynamic.isp.telekom.rs.

Sajt: https://avramovic.info


+46 Profil

icon Re: Problem u syntaxi22.02.2011. u 20:16 - pre 160 meseci
Razvoj: error_reporting na E_ALL i pokušavaš da središ što više problema koje ti PHP javlja.

Živ sajt (production): E_ERROR. Ovo će prikazati grešku samo ako skripta ne može da se izvrši dok će warning i notice ignorisati, zato što oni najčešće ne utiču bitno na rad sajta. Ipak, nekada to nije slučaj ali to bi trebalo da rešiš u toku razvoja. Isto tako, warning i notice nekada mogu da otkriju neke podatke koje korisnik ne bi trebalo da vidi pa ih za svaki slučaj isključujemo.

Ovako ja radim i do sada nisam imao nikakvih problema
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

[es] :: PHP :: Problem u syntaxi

[ Pregleda: 1284 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.