Jump to content
php.lv forumi

Izvairīšanās no php aizverošā taga


Qued

Recommended Posts

Pēc šīs diskusijas tagad nesaprotu, rakstīt turpmāk vai nerakstīt to tagu... Laikam turpināšu rakstīt :)

galvenais надо определиться un tā arī darīt, savādāk būs tā kā ēzelītim...

 

vairs neatceros kādā sakarā, bet vnreiz matemātikas skolotāja klasē stāstīja kkādu fabulu par ēzelīti, kurš skatījās uz divām pilnīgi vienādām siena kaudzēm un tik ilgi nevarēja izvēlēties, no kuras ēst, ka beigās nomira badā

Link to comment
Share on other sites

  • Replies 52
  • Created
  • Last Reply

Top Posters In This Topic

codez ar to gribēja teikt, ka tev tgd ir jāielogojas warxy.com, jāattīsta liela un varena pilsēta un ar savu armiju jāiet un jāsadod man pa muti :D

 

btw, es teicu "ēzelītis", nevis ēzelis :P

un pastāstīju "tautas gudrību", nevis kādu nosaucu ;)

Link to comment
Share on other sites

atkartoshos !!!

Ja PHP IR NODALIITS no HTML tad nekaada kljudas haider alredy snd NEVAR BUT !!!

Ja tada paraadaas tad taa ir jau 'kopaa vaaceeja' Kljuda !!!

ta kaa shii ir vienkarshi tukshu salmu kuulsana, un likt vai nelikt ir vairak gaumes jautajums ..

Piedevam VAJAG pietureties pie dootas prog. valodas kriterijim. Ja ir specefikacijaa rakstiits tad jaizmanto.

Nevis domat ka 'mozjet prokatjit'....

tas arii attiecas uz short taagiem --> personiigi esmu saskaries kad skripts uzrakstiits izmantojot shorttagus, un nacas visus ar rocinjam laboot, kautgan prejie labojumi bija 5min. rezuultaats zaudeets Ljoti !!! daudz laika.

Un par too neviens protams nemaksaa..

--

Cieniet arii citus programmetajus, nevis vienkrshi ka atraak

Link to comment
Share on other sites

atkartoshos !!!

Ja PHP IR NODALIITS no HTML tad nekaada kljudas haider alredy snd NEVAR BUT !!!

 

Var gan. Tipisks piemērs

auth.php

<?php
class auth{
 ...
}
?>(šeit nejauši ielicies whitespace, kuru neredz)
(šeit nejauši ielicien new line, kuru neredz)

 

index.php

<?php
 include 'auth.php';
 $auth = new auth();
 if ($auth->ok()){
 } else {
   Header('location:/login.php'); //headers already sent;
   exit;
 }
?>

 

Piedevam VAJAG pietureties pie dootas prog. valodas kriterijim. Ja ir specefikacijaa rakstiits tad jaizmanto.

 

PHP dokumentācijā ir teikts, ka iesaka neizmantot:

http://php.net/manual/en/language.basic-syntax.instruction-separation.php

Note: The closing tag of a PHP block at the end of a file is optional, and in some cases omitting it is helpful when using include() or require(), so unwanted whitespace will not occur at the end of files, and you will still be able to add headers to the response later. It is also handy if you use output buffering, and would not like to see added unwanted whitespace at the end of the parts generated by the included files.

 

Zend Framework dokumentācijā tas pats:

http://framework.zend.com/manual/en/coding-standard.php-file-formatting.html

For files that contain only PHP code, the closing tag ("?>") is never permitted. It is not required by PHP, and omitting it´ prevents the accidental injection of trailing white space into the response.

 

 

tas arii attiecas uz short taagiem --> personiigi esmu saskaries kad skripts uzrakstiits izmantojot shorttagus, un nacas visus ar rocinjam laboot, kautgan prejie labojumi bija 5min. rezuultaats zaudeets Ljoti !!! daudz laika.

Un par too neviens protams nemaksaa..

scandir(),file_get_contents(), mb_ereg_replace(), file_put_content().

Dažu minūšu darbs.

Edited by codez
Link to comment
Share on other sites

Pēkšņi parādās kļūdas paziņojums "headers already sent", tagad meklē, kurā no failiem aiz ?> esi netīšām ielicis atstarpi vai newline.

Sen neesmu php rakstījis ko lielāku, bet vai tad php nepasaka, ka output started at file XXX, line YYY, vai kautko tamlīdzīgu?

 

Es uzskatu, ka ir jāliek aizverošais tags. Tikpat labi varam arī neatbrīvot aizņemto atmiņu, neaizvērt atvērtos failus, vai citas lietas. OS vai izmantotā vide jauto tāpat izdarīs mūsu vietās... Afaik tā ir tikai labā programmēšanas prakse satīrīt aiz sevis visu to, ko esi sācis taisīt (atvēri failu - aizver to, sāki rakstīt <?php - beidz rakstīt ?>).

Link to comment
Share on other sites

Īsāk sakot, lieta tāda - pasaulē radies tāds "trends," ka likt aizverošo tagu ?> php failos, kuros ir tikai php (tb nav htmla), nepieder pie labā toņa.

 

Sanāk, ka failos, kuros ir html, aiz pēdējā php bloka nevar nejauši ielikties whitespace?

 

Sākumā es domāju, ka ?> nelikšana vairāk attiecas uz iesācējiem, bet iesācējs var arī iedomāties, ka vispār nekur nav jāliek aizverošais. :)

Link to comment
Share on other sites

Kur ielikta whitespace parādīs jebkura versiju kontroles sistēma. vismaz man, tas nav iemesls kāpēc nelieku ?>.

man labāk patīk ka fails ar vienu klasi beidzas ar ar

    }
}

nevis ar ?>, jo tajā failā klase takš nav embedota html'ā ka būtu jānorāda ka te php scripts beidzas [un sākas faila beigas]

Link to comment
Share on other sites

truu ir dariit shaadi:

 

functions.php

function ratrijs_include($path) {
 $script = file_get_contents($path);
 eval($script);
}

 

script.ratrijs

echo 'This is rATRIJS programming language!!!one';

 

index.php

ratrijs_include('script.ratrijs');

 

Taadaa veidaa nevajadzees lietot arii atverosho <?php ^_^ epic win...

 

a ja godiigi, tad es rakstu gan aizverosho, gan atverosho tagu. Tikai taadeelj, ka vienmeer taa esmu dariijis un nekad neesmu piedziivojis probleemas :)

Link to comment
Share on other sites

haha, labs rATRIJ +1000

 

Es šad tad paspaidu paragraph simbolu savā notepad++, paskatos, kur vispār ir palikuši lieki tab'i, whitespeisi, un patīru tos..

es vsp EditPlusā visu laiku turu ieslēgtu "Tabs and Spaces", tāpēc uzreiz pamanu, ja kkur ir kkas lieks ;)

tgd pat vsp būtu fobija kko kodēt, neredzot un nezinot, kas ir aiz tiem baltajiem plankumiem! :D:D:D

Edited by 2easy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...