Dva roky pryč
Ani jsem si nevšiml, že od spuštění těchto stránek už uplynuly dva roky. Pravidelnost vydávání článků už nebyla tak železná jako první rok, vydávat články každé pondělí, středu a pátek se mi nicméně většinou stále dařilo. O čem jsem psal?
- Existuje více možností, jak vymazat záznam
- Perlovské regulární výrazy mají od PHP 4.3.3 několik nových vlastností
- Někdy je potřeba, aby uživatel nemohl zastavit skript uprostřed jeho běhu
- Třeba pro získání jízdních řádů se může hodit schopnost rozebrat cizí formulář
- Databázové replikaci nabízí pohodlný způsob zálohování a rozkládání zátěže
- Přátelská URL lze automaticky generovat z nadpisu
- Při stahování více stránek protokolem HTTP lze využít persistentní připojení
- Diskuse na tomto serveru mají vlastní syndikaci
- Při ukončení skriptu se provádí několik operací v konkrétním pořadí
- Co má být ještě součástí jazyka a co si má programátor raději udělat po svém?
- Jaký je rozdíl mezi referencemi a kopírováním hodnot?
- Vázání proměnných v MySQLi není zpracováno právě nejšťastněji
- Výpis dat ze závislých tabulek není nic složitého
- Obrázky se nejsnáze zmenšují funkcí imagecopyresampled
- Zkontrolovat datum jde třeba i regulárním výrazem
- Neplatné znaky ve formulářích se převádějí na entity
- Bezpečné přihlašování uživatelů lze zajistit i s protokolem HTTP
- V PHP lze standardními operátory porovnávat i pole
- Pro vypsání položek výběrového seznamu se hodí jednoduchá funkce
- Z PHP lze pomocí IMAP přistupovat k poště
- Datum lze zadat z textového pole, z kalendáře nebo ze skupiny výběrových polí
- Cross-Site Request Forgery je často podceňovaný typ útoku na webové aplikace
- Rozšíření Filter nabízí jednotný způsob kontroly a ošetření dat
- Typ soubory lze určit několika různými způsoby
- Školení o bezpečnosti PHP aplikací se líbilo
- Uživatele je vhodné po určité době nečinnosti automaticky odhlásit
- E-mailovou adresu lze kontrolovat podle tvaru, schopnosti serveru přijímat poštu nebo pokusným doručením zprávy
- PHP lze používat i přímo v databázích SQLite a MySQL
- Pokud není k dispozici server, dá se vyhledávat v JavaScriptu u klienta
- Zend vyvíjí vlastní Framework
- Do formuláře je někdy potřeba ve skrytých polích předat to, co přišlo od uživatele
- Unikátnost návštěvníka lze kontrolovat podle registrace uživatele, cookie nebo IP adresy
- Pokud potřebujeme z URL vyjmout parametr (např. ofset při stránkování), lze použít regulární výraz
- Pro zobrazení času se někdy hodí používat relativní hodnoty spíše než absolutní
- V květnu 2006 bylo PHP zastoupeno přinejmenším na 36 % domén s koncovkou
.cz
- Při psaní vlastní databázové abstrakce se hodí funkce pro náhradu placeholderů
- Při aktualizaci dat nejde v MySQL používat poddotazy na stejné tabulce
- Citlivé informace lze při ukládání šifrovat několika způsoby
- Stránky navštěvují i čtenáři bez zájmu o problematiku s účelem něco rychle spíchnout
- Jak by dopadly volby při trošku jiných pravidlech počítání hlasů?
- Nastavení aplikace můžeme ukládat i do databáze
- Přátelské URL lze generovat automaticky, jak však řešit kolize?
- Záznam operací lze ukládat do tabulky typu ARCHIVE
- Funkce html_entity_decode v PHP 4 nepodporuje vícebajtová kódování
- Bitové operace fungují v PHP podobně jako v jiných jazycích
- Operátory lze při použití odpovídajícího rozšíření přetěžovat
- Borek Bernard se pokusil srovnat PHP a ASP.NET
- Pro ochranu formulářů proti spamu se dá použít pole automaticky vyplňované JavaScriptem
- Názvy měsíců v datu potřebujeme lokalizované
- MySQL podporuje fulltextové vyhledávání
- PHP má bitové operace platformově závislé
- Stránky lze ukládat do databáze
- Opožděné ukládání záznamů využijeme v MySQL asi jen zřídka
- Proti HTTP Response Splittingu nás chrání novější verze PHP
- Vygenerovat všechny permutace lze rekurzivní funkcí
- Jak prohodit dva prvky?
- V PHP lze iterovat i znaky
- Autorovi článků na tomto serveru lze přispět přes PayPal
- Nové prohlížeče umožňují díky standardu OpenSearch integrovat vyhledávače
- Hlavní novinkou PHP 5.2 je rozšíření Filter
- Pokud chceme v hlavičkách e-mailů používat znaky s diakritikou, musíme je zakódovat
- Pevného počtu míst u čísla lze dosáhnout modifikátorem ZEROFILL
- Pomocí rozšíření Runkit lze starým funkcím přidat nové parametry
- Měřit rychlost jednotlivých částí aplikace lze díky rozšíření APD
- Jak vhodně navrhnout indexy ukazuje jednoduchý příklad
- Do fotek je někdy potřeba vložit vodotisk nebo ho z nich naopak odstranit
- Kromě běžných, unikátních a primárních indexů, se používají také fulltextové, geometrické a cizí klíče
- Pokud se bojíme, že ve skriptu zapomeneme inicializovat všechny proměnné, lze vynutit vypnutí register_globals
- Pokud potřebujeme kvalitnější náhodná čísla, lze použít soubor
/dev/random
- Ve funkci mysql_query se na konci příkazu nepíše středník
- Spíše než uvádět popisek přímo do formulářového pole je lepší jen navodit stejný dojem
- V nahrazovaném řetězci funkce preg_replace mají speciální význam jen znaky
\$
- PHP 4 a 5 lze zprovoznit na stejném serveru, i když ne zrovna jednoduše
- V PHP 6 bude možné použít knihovnu
mysqlnd
lépe provazující PHP a MySQL - Řadit jde nejen podle názvu sloupce, ale také podle pořadí výrazu za klíčovým slovem SELECT
- Jak co nejrychleji zjistit, zda tabulka obsahuje daný text?
- Pokud potřebujeme z tabulky získat jednu hodnotu a nemáme jistotu, že tam skutečně je, dá se použít list
- V roce 2006 se v PHP pracovalo především na verzi 6
- V lednu 2007 bylo PHP nejméně na 45 % domén s koncovkou
.cz
- Pro zjištění věku z data narození se hodí funkce TIMESTAMPDIFF
- Znaky jako mezera nebo tečka se v názvech externích proměnných převádějí na podtržítko
- Pokud uživatelé často hledají s překlepy, můžeme jim díky funkci levenshtein nabídnout alternativu
- Místo nepřeložených dat se vyplatí ukládat výchozí jazykovou verzi
- Březen 2007 je měsícem PHP chyb
- Bude uveden produkt Delphi/Vista + PHP
- Pokud změny téhož záznamu provádí více uživatelů, je vhodné zjistit, zda se záznam od načtení formuláře změnil
- Data do závislých tabulek je nejjednodušší ukládat jejich smazáním a opětovným zapsáním
- Pro zobrazení piktogramu webu musíme umět zpracovat ikony
- Na hostingu může být zakázaná funkce glob, nabízím její jednodušší verzi
- Pokud potřebujeme záznamy řadit podle vlastního kritéria, je vhodné si ve zvláštním sloupci udržovat konzistentní pořadí
- Díky knihovně PHPExcel lze data snadno exportovat do formátu Open XML
- Měsíc PHP chyb začal dobře známými starými chybami
- Překlady všech textů není vhodné ukládat do jedné společné tabulky
- PHP nepodporuje syntaxi
f()[0]
Pro další psaní samozřejmě uvítám jakékoliv vaše náměty, ať už v diskusi k tomuto článku nebo na můj e-mail.
Diskuse
Michal:
Nedříve slušně poděkuji za všechny články, protože jsou na vysoké úrovni, rád je čtu a občas se k nim vracím.Moc moc prosím o články, které by se týkaly více návrhu složitějších aplikací. Třeba jakým způsobem řešit verzování, jak efektivně vytvořit datovou strukturu, co je dobré udělat než začnu psát kód atd. Držím Vám palce a přeji hlavně hodně času :)
Tomas:
to jo, to jo, to by se hodilo...at si clovek overi, jestli to dela spravne po svem, nebo jestli to jde delat jeste efektivneji..:)) Do toho, Jakube :)Jinak blog super, ten cas ale leti, to bych nerekl, ze uz sem zase o 2 roky starsi..:)
dgx:
> co je dobré udělat než začnu psát kód...
Doporučuji pustit si nějakou našlapanou muziku. Nebo alespoň ujetou. Teď jsem celou noc programoval na Zlatých hitech Dalibora Jandy, omylem jsem zaklikl Repeat a uvědomil si toho až ráno ;)

Štěpán Svoboda:
to dgx: myslíš jakoŘíkal si hurikááán - kluk jako ty
Motorka vlétla s ním, když dostal smyk
Už měl být s dívkou svou
jak se sešeří
už bylo k lásce prostřeno
na večeři....
Tohle náhodou při programování poslouchám docela často :)
to jakub: připojuji se také k dlouhému zástupu gratulantů a přeji pevné zdraví neb to je nejdůležitější.
finc:
Jedna taková psychologická otázka: Zajímalo by mě, zda podle typu zvolené hudby člověk píše, navrhuje změny a vytváří znovupoužitelný kód jinak.
Možná se to bude lišit u vážné hudby, metalu, popu, punku nebo skacka :)))
Stejné to bude i s pojmenováním, zda konstantu nazvu "KILL_ALL" nebo "LOVE_ALL" :)

dgx:
LOVE_ALL? Tak to už nebude ani tak věcí toho, co člověk při programování poslouchá, jak spíš toho, co při programování hulí :-)

LLook:
A já ještě dodám - muziku, kterou jsem aspoň dva dny neslyšel. Nic nejde proti kreativitě víc než stereotyp, hudbu je třeba měnit. Jeden den třeba Metallica (našlapaná muzika), další den třeba Záviš (ujetá muzika), hlavně ne pořád to samý!

Vesta:
Tak to už dva roky pravidelně čtu tento web :-)
Díky moc za pomoc, vždy když řeším nějaký problém s PHP, tak nejprve jdu sem, pak dokumentace PHP a pak google...
error414:
kvalita se lehce pozna. jen tak dal

Ondrej Podolinský:
Dva roky kvalitních článků za Vámi. Dalších mnoho nás, čtenáře tohoto webu, doufám ještě čeká. Posílám gratulace a držím palce v dalších skvělých článcích:)Čelo:
Jen tak dál.
Lukáš Mačí:
I já Jakube děkuji za dva roky zajímavého čtení a doufám, že budeš dál pokračovat :)

finc:
Souhlas, stejně jako ostatní, opravdu se jedná o kvalitní web.
Jediné, co bych mohl ... je, že se zaobíráš pouze malými problémy, nikoli návrhy, ale je to dáno asi tím, jak je tento weblog postaven.
Pořád si vzpomínám na to, jak jsi mi v té malé pražské firmě říkal, že programátor musí být liný, čehož se stále držím :)
Jen tak dál, na české scéně neexistuje lepší weblog o PHP.

Diskuse je zrušena z důvodu spamu.

