| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 30.05.09 Prihlásený: 14.02.14 Príspevky: 106 Témy: 52 | Napísal maťo*: 10.06.2013 13:47 | |
|
Zdravím, mám dve otázky. Prvou z nich je prečo je bezpečné neukončovať skripty značkou ?>. Prečo je lepšie nedať am nič? Stretol som sa s tým na viacerých portáloch keď som si pozeral rôzne návody a postupy, ale nikde som nenašiel uspokojivú odpoveď. Tiež by som bol rád keby mi niekto objasnil nasledujúci kúsok kódu. Čo presne ošetruje ? Ďakujem za každú odpoveď. Kód: (empty($_GET['p'])) ? '' : $_GET['p'];
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 10.06.2013 13:56 | |
|
Určite php skripty ukončuj, kde si sa dočítal, že je to lepšie neukončovať? Ten tvoj kus kódu je tzv. ternárny operátor a znamená to toto, trochu prehľadnejšie: Kód: $p = $_GET['p']; empty($p) ? '' : $p;
funkcia empty zisťuje, či je $p prázdne. Ternárny operátor znamená v postate toto Kód: if( empty($p) ) dosaď ''; else dosaď $p;
len skracuje zápis a môže sa použiť "inline" Viac si môžeš vygoogliť A že čo to ošetruje? No v tomto kontexte mi to príde trochu zbytočné, lebo je jedno, či použijem prázdnu hodnotu, alebo '' Často sa to takto používa s funkciou isset, kde by použitie nedefinovanej premennej vyvolalo chybu.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 30.05.09 Prihlásený: 14.02.14 Príspevky: 106 Témy: 52 | Napísal autor témy maťo*: 10.06.2013 14:05 | |
|
Ďakujem za vysvetlenie. To s ukončovaním skriptov som sa dočítal napríklad tu: Kód: http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/ Konkrétne: Notice that I have purposely not included the closing ?>. This is to avoid injection of any extra whitespaces in our output. For more, I suggest you view Zend’s coding style.Podobné opatrenie som si všimol vo viacerých článkoch.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 10.06.2013 14:16 | |
|
Hm, ja s php v praxi nerobím, takže takéto vychytávky ma veru obchádzajú. Na tom odporúčanom Zend's coding style som sa dočítal toto ( http://framework.zend.com/manual/1.12/e ... tting.html ) Citácia: 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. A dáva to aj celkom zmysel, že sa tak vyhneš nechceným bielym znakom na konci. Za ukončovacím php tagom sa už začne vyhodnocovať html a tam niečo môže náhodou ostať a takúto chybu by som veru nechcel hľadať vo veľkom projekte. Ale je to len môj odhad, možno to má aj hlbší zmysel a napíše ti ho tu niekto viac znalý
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 05.02.13 Prihlásený: 26.10.23 Príspevky: 59 Témy: 3 |
Ak nepoužívaš nejaký framework u ktorého sa to nedoporučuje, tak určite nie je naškodu php uzatvárať. Avšak framework ako napr. Codeigniter - tak z vlastnej skúsenosti viem, že vo view súboroch sa nedoporučuje uzatvárať PHP.
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 10.06.2013 22:59 | |
|
BX (a ostatní) - už dlhú dobu je aj na php.net odporúčané vynechať ukončovaciu značku ?> - teda ak to situácia dovoľuje (ak je php priamo medzi html kódom, tak to možné nebude). Predídeš tak nechceným znakom. PepperSK - codeigniter používam, ale chcel si asi napísať, že nepoužívajú ukončovacie značky v controlleroch, vo views, ak je tam HTML, ukončovaciu značku použiť musíš.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Php skripty v PHP, ASP | 10 | 4847 | 28.09.2006 11:57 mokus | | Neviem spustat PHP skripty v PC v PHP, ASP | 1 | 485 | 26.02.2011 16:20 Ďuri | | php ->mysql ->php Help.zoradit v PHP, ASP | 4 | 589 | 20.06.2009 12:44 KViki | | $pcforum->getForumActivity('PHP, ASP', 2012)/$pcforum->getForumActivity('PHP, ASP', 2022) - Warning: Division by zero v PHP, ASP | 4 | 2290 | 20.05.2022 13:51 JanoF | | Skript bez bez PHP len s Thumbs.db v Redakčné systémy | 1 | 830 | 22.10.2008 20:14 mariachi | | Presun domeny -> Synology NAS -> Mail server -> Dynamicka IP -> DDNS -> SPAM??? v Úložné zariadenia | 5 | 617 | 02.10.2018 14:46 JanoF | | PHP -> XML v PHP, ASP | 3 | 620 | 01.05.2010 8:47 stenley | | VBScript => PHP v JavaScript, VBScript, Ajax | 4 | 646 | 02.10.2009 10:04 Snacker | | PHP -> javacript v PHP, ASP | 10 | 507 | 26.04.2008 13:01 Blackshadow | | php-fusion --> joomla? v Redakčné systémy | 0 | 536 | 26.02.2010 20:20 rEnEeK | | PHP bez netu v PHP, ASP | 2 | 502 | 14.04.2009 13:37 lio | | php bez prípony v PHP, ASP | 13 | 708 | 14.03.2008 17:20 Svolo | | <select> v PHP v PHP, ASP | 5 | 1112 | 18.04.2007 18:16 Tominator | | php-fusion->new panel v Redakčné systémy | 4 | 1131 | 26.07.2007 23:27 Darkage | | >100°C bez záťaže v Intel čipové sady | 6 | 482 | 02.07.2014 14:33 Kraliček | | Ajax + PHP Class - server bez reakcie v JavaScript, VBScript, Ajax | 3 | 577 | 20.07.2013 2:36 math-ew |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|