Kun yritän ajaa PHP -skriptiäni, niin heittää tälläsen herjan:
"Parse error: syntax error, unexpected $end in..."
Itse ymmärsin, että tää ilmoitus meinaa sitä, että PHP:een päätöstagi "?>" puttuu, mutta eipä vaan puutukaan...
Scriptistäsi puuttuu }- merkki jostakin kohtaa.
Jos tarkkoja ollaan, niin PHP ei tarvitse scriptin lopussa "?>" tagia. On jopa suositeltavaa jättää se pois... ;)
Wizard kirjoitti:
On jopa suositeltavaa jättää se pois... ;)
Mitäs suositeltavaa siinä on?
Blaze kirjoitti:
Wizard kirjoitti:
On jopa suositeltavaa jättää se pois... ;)
Mitäs suositeltavaa siinä on?
Esimerkiksi tagin jälkeen tulevat tyhjät merkit eivät ole tyhjiä ja lähetä headereita selaimelle. Ties kuinka monta kertaa täälläkin nähty sitä, että miksi selaimelle tulee headerit vaikka niitä ei lähetetä. ;)
Yksinkertaista.
Wizard kirjoitti:
Esimerkiksi tagin jälkeen tulevat tyhjät merkit eivät ole tyhjiä ja lähetä headereita selaimelle. Ties kuinka monta kertaa täälläkin nähty sitä, että miksi selaimelle tulee headerit vaikka niitä ei lähetetä. ;)
Harvoinpa niitä headereita sivun lopussa kukaan haluaa lähettää. O_o Eiköhän se ongelma ole yleensä aloitustagin kanssa. Vai miksi joku lopettaisi PHP-koodin, jos ei ole tarkoituskaan vielä tulostaa mitään?
tagin pois jättäminen ?> hmmm.. Tästä kyllä varmasti saisi pitkän väittelyn. Itse niitä käytän... Mutta ongelmia siitä välillä on.. Sivun lopussa olevat tyhjät tagit ?> merkin jälkeen on aiheuttanut ajaxin kanssa aina välillä ongelmia...
responseText:tejä, kun on käyttänyt vertailemisessa apuna niin on välillä saanut ihmetellä, että mistä niitä tyhjiä rivejä paukkuu... Ja sieltähän niitä, ihan lopusta ?> tagien jälkeen...
PS.. Mutta kannattaa niitä käyttää.. Koodi on aina selvempää
Äkkiä katsottuna tuo näyttäisi minusta aika sekavalta. Jos oikein ymmärsin.
Äkkiseltään
Pakkohan se tossa esimerkissäsi on sulkea tai saat palkinnoks vaan erroria tulkilta?
Sulkevan tagin voi jättää vain tiedoston lopussa pois. Samoin kun viimeisellä koodirivillä ei tarvitse olla puolipistettäkään.
Itse kyllä käytän tageja lopussakin.
Ei sekään ihan oikeaoppista taida olla että sen jättää pois vikalta riviltä. Ja en kyllä ymmärä mistä ne tyhjät rivit ilmestyvät?
Välilyöntejä tai rivinvaihtoja joita tietenkään edittori ei näytä.
Voitte arvata miksi pidän edittorista joka osaa tarvittaessa näyttää rivinumeroinnin tai muuten ilmaista missä menee viimeinen rivi.
Metabolix kirjoitti:
Harvoinpa niitä headereita sivun lopussa kukaan haluaa lähettää. O_o Eiköhän se ongelma ole yleensä aloitustagin kanssa. Vai miksi joku lopettaisi PHP-koodin, jos ei ole tarkoituskaan vielä tulostaa mitään?
Ehkä et ole tutustunut isompiin projekteihin?
Esimerkkinä voin sanoa, että itselläni on lähes joka päivä työpöydällä PHP-projekteja joissa on tuhansia PHP-tiedostoja sekä kuusinumeroinen luku PHP-koodia.
Kun yhdellä asiakaspyynnöllä pyöräytetään palvelimella keskimäärin kymmeniä tiedostoja, niin jotenkin sitä alkaa jättämään lopetustagit pois automaattisesti monesti. Joissakin luokissa saattaa lopetustagit vielä löytyäkin, mutta frontend -sivuissa ei tagit ole niin tärkeitä enään.
Ja todellakin kuten joku mainitsi, niin sellaiset editorit mitkä näyttävät rivien numeroinnin, ovat hyviä. Lämpimästi voin suositella Zend Studio for Eclipse tuotetta joka maksaa vielä tarjouksessa noin 200 euroa (299USD, normaalisti 399USD). Sillä pystyy hallinnoimaan lähes kaiken mitä tarvitsee pienessä tai tooodella suuressa projektissa. Ja leluja löytyy jos haluaa laajentaa.
Ilmainen vaihtoehto on saatavilla www.eclipse.org sivustolta josta PHP:lle on oma IDE vaihtoehtonsa.
-W-
Hakoulinen kirjoitti:
Pakkohan se tossa esimerkissäsi on sulkea tai saat palkinnoks vaan erroria tulkilta?
Niin vähän ajattelinkin.. Mutta lopussako ei ole pakko käyttää ?> tagia..
Tämä olikin uutta ja nyt ymmärrän mistä puhutte.. Ja jos tyhjiä rivejä ei näy niin kannatta kokeilla ilmaisella psPad eritorilla niin näkee ne tyhjätkin rivit
muistaakseni jopa notepad++ ne osaa näyttää..
Tekis melkeen mieli sanoa, että siinähän ne kaksi parasta editoria tulikin jo mainittua, mutta en sano. Ja samalla kiellän moderaattorin valtuuksillani editori-sodan :)
Editoria vai IDE-alustaa? ;)
Aihe on jo aika vanha, joten et voi enää vastata siihen.