DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   PHP closing tag (http://www.devprotalk.com/showthread.php?t=7884)

bluesman 21. 09. 2009. 21:06

PHP closing tag
 
Nađoh ovo u dokumentaciji CodeIgniter, pa sam napokon shvatio odakle trend da se ne zatvara php tag:

Citat:

The PHP closing tag on a PHP document ?> is optional to the PHP parser. However, if used, any whitespace following the closing tag, whether introduced by the developer, user, or an FTP application, can cause unwanted output, PHP errors, or if the latter are suppressed, blank pages. For this reason, all PHP files should OMIT the closing PHP tag, and instead use a comment block to mark the end of file and it's location relative to the application root. This allows you to still identify a file as being complete and not truncated.
Znači preporuka Code Igniter je da se ne zatvara PHP tag? Meni to zvuči prilično čudno, iako razlog možda i ima smisla (naročito za brljive koji ne paze).

holodoc 21. 09. 2009. 21:36

Citat:

Originalno napisao bluesman (Napišite 73395)
Nađoh ovo u dokuemntaciji CodeIgniter, pa sam napokon shvatio odakle trend da se ne zatvara php tag:



Znači preporuka Code Igniter je da se ne zatvara PHP tag? Meni to zvuči prilično čudno, iako razlog možda i ima smisla (naročito za brljive koji ne paze).

Hm... Izostavljanje zatvarajućeg php taga nije baš poteklo od CodeIgnitera. Takve preporuke se mogu naći i u Zend Framework dokumentaciji i na mnogim drugim mestima a i zaista dugo se vodi rasprava da li je njihovo izostavljanje u stvari prednost ili mana. I pored toga što postoje manje više dobri razlozi za njegovo izostavljanje (može recimo u kombinaciji sa "whitespace" znacima da prekine baferovanje izlaza, poništi posebno generisane headere itd.) nikada do sada nisam imao potrebu da bilo kada radim sa takvim kodom niti lično imam običaj da izostavljam zatvarajući tag jer smatram da sve što ima otvarajući mora da ima i zatvarajući tag.

Gargoyle 21. 09. 2009. 21:40

Isto stoji u Zend framework dokumentaciji. Govori se dakle o fajlu koji sadrži samo php kod. Međutim ovo je po meni žešća glupost, kao i pola zend coding standarda doduše :1064:. Mislim veća je nebuloza gledati fajl i pitati se da li on stvarno tako treba da se završi ako ne vidim closing tag, nego što će mi u tamo nekom slučaju smetati extra whitespace. Računam da ako krenem da otvaram a ne i da zatvaram tagove, neće na dobro da izađe.

holodoc 21. 09. 2009. 22:45

Citat:

Originalno napisao Gargoyle (Napišite 73397)
Isto stoji u Zend framework dokumentaciji. Govori se dakle o fajlu koji sadrži samo php kod. Međutim ovo je po meni žešća glupost, kao i pola zend coding standarda doduše :1064:. Mislim veća je nebuloza gledati fajl i pitati se da li on stvarno tako treba da se završi ako ne vidim closing tag, nego što će mi u tamo nekom slučaju smetati extra whitespace. Računam da ako krenem da otvaram a ne i da zatvaram tagove, neće na dobro da izađe.

Najsmešnije u vezi takvog koda je kada neko od kolega dođe da se konsultuje samnom da kojim slučajem source kod nekog php fajla nije loše preuzet pa da je naprasno prekinut u sred downloada :1046:

bluesman 21. 09. 2009. 23:34

Pa i nije najsmešnije, a i ne dešava se toliko retko da se prekine upload ili download pa se ne iskopira ceo file, taj closing tag je sasvim dobar pokazatelj da li je sve tu ili možda ima još nešto što nedostaje.

akubra 21. 09. 2009. 23:50

Zend framework ustvari ne da preporučuje, nego čak zabranjuje zatvaranje php taga u fajalovima koji sadrže samo php kod:
http://framework.zend.com/manual/en/...ormatting.html

Mislim da to nema baš nekog smisla, sa jedne strane, nekako je vrlo logično da svaki otvoreni tag treba da bude i zavoren, a sa druge strane, to je nakaradno "rešenje" problema, jer nije problem u zatvorenom tagu, nego outputu pre headera (a ovo je ionako samo jedan od načina da se to desi).

eraser 22. 09. 2009. 09:54

Ako ce ne koriscenje closing tag-a smanjiti glavobolju, onda ga ne treba koristiti. A kao indikator zavrsetka fajla moglo bi da se stavi neki komentar tipa "//end", tako da kada neko drugi gleda fajl moze da zna da je ceo fajl tu.

Blood 22. 09. 2009. 11:03

..a mogle bi i devojke da se oblace i ponasaju kao muskarci, ali na celu da napisu da su devojke cisto da se zna ;-)

misk0 22. 09. 2009. 12:34

I meni se to ne svidja i nisam usvojio to pravilo. Oni u CI kazu 'nemoj koristiti ?> vec koristi /* end of file ali se to meni ne svidja tako.

jablan 22. 09. 2009. 12:39

Pristojan jezik bi trebalo da se buni kad mu se uvali takva prljavština poput nezatvorenog taga.


Vreme je GMT +2. Trenutno vreme je 23:12.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.