PHP (100) - Závěr

Jednou to přijít muselo, takže to zkrátím: tenhle díl seriálu o PHP je poslední.

4.2.2005 15:00 | Petr Zajíc | přečteno 43955×

Je to neuvěřitelné, co? Ale náš stodílný seriál je u konce. Pojďme jej uzavřít krátkým ohlédnutím, podívat se ta to, co se povedlo a nepovedlo a zodpovědět hromadně některé neustále se opakující dotazy s tímto seriálem související.

Co se povedlo

Začněme optimisticky. Především, jsem rád, že se vůbec povedlo takový seriál napsat, sestavit a publikovat. Protože záměrem redakce bylo poskytnout všude tam, kde jen to je možné funkční a spustitelné příklady, je u mnoha dílů možnost si předložené skripty buďto stáhnout, nebo přímo spustit na našem serveru (u kolika jiných obdobných seriálů máte tuto možnost)? U všech skriptů je rovněž k dispozici barevné zvýraznění syntaxe.

Z některých článků mám velkou radost. Byl jsem například příjemně překvapen, kolik kladných reakcí dorazilo na díl popisující přímou tvorbu PDF pomocí PHP. Vím o serverech, které díky těmto informacím vyřešily letitý problém s tvorbou tiskových sestav z firemního webu. Přivítám byl rovněž díl seriálu popisující zabezpečení vstupu formulářů a mnoho chvály si získal nápad publikovat "větší" příklad s postupnými řešeními během více dílů; to byl ten náš hypotetický server hudební skupiny.

Pozn.: Někteří ocenili také fakt, že jsme jako příklad NEPOUŽILI elektronický obchod, protože to dělá každý. Skutečně je to velmi otřepané.

Co se nepovedlo

Abych se jen nechválil - některé věci se rovněž nepovedly. Například v šuplíku zůstal díl seriálu o spolupráci mezi PHP a LDAP serverem; jelikož jsem nenašel jediný funkční veřejný LDAP server, k němuž by se dalo pomocí PHP připojit, přišlo mi to celé poněkud málo inspirující. Pod Linuxem se mi rovněž nepovedlo rozchodit žádný smysluplný PHP debugger, který by byl k dispozici jako svobodný software.

Nepovedlo se mi dát dohromady vlastní texty týkající se spolupráce PHP a knihovny GD. Musel bych opsat text z nějaké knížky (např. Jiří Kosek - Tvorba interaktivních internetových aplikací). (Opisování je samozřejmě nefér). Některé články se mi nepovedlo sestylizovat tak záživně, jak by se to dalo udělat. Snažil jsem se, aby příklady v článcích byly použitelné v praxi; nakolik se mi to povedlo nebo nepovedlo, to nechám na zvážení laskavému čtenáři.

FAQ

Uživatelé se mě e-mailem nebo prostřednictvím diskusí pravidelně ptají na některé otázky. Rád bych toho teď využil a zodpověděl některé všem najednou.

Q: Vyjde seriál v kuse? Kdy? V jaké formě?
A: Seriál je majetkem portálu Linuxsoft, protože publikování článků pro Linuxsoft je komerční záležitost (viz např. tato zpráva). Jakožto autor tedy nemám přímou možnost cokoli slibovat nebo snad vydávat seriál najednou na vlastní pěst. Mohu vám však po poradě s redakcí slíbit, že seriál vcelku VYJDE. Způsob zveřejnění a formát bude včas oznámen. Sledujte náš portál.

Q: Mohu informace ze seriálu použít/přetisknout/zveřejnit jinde?
A: V těchto záležitostech se obracejte na redakci. Ivan (zavináček) linuxsoft (tečička) cz.

Q: V seriálu mi chybí [chybějící věc]. Rozboru [nějaké věci] jste věnoval málo prostoru. [Nějaký kód] se dá napsat [rychleji | jednodušeji | bezpečněji].
A: To je možné. Jsem jen člověk a dělám chyby. Každý seriál jednoho autora "trpí" tím, že autor používá nějaké schéma (paradigma, chcete-li) či úhel pohledu. I když byl seriál rozsáhlý, nemohl rozebírat všechno, nemohl suplovat PHP manuál a není dané, že se z něj čtenář dozví úplně všechno. Můžete však přispět do diskusí pod články a obohatit tak ostatní. Příjemně mě potěšilo, že kladných reakcí bylo víc než negativních.

Q: Nefunguje mi [příklad | postup | nastavení]! Co s tím?
A: Na dotazy kolem zveřejněných příkladů se podle možnosti snažím odpovídat. Pokud se dotaz týká něčeho jiného (např. nastavení webového serveru, operačního systému a podobně), zkuste štěstí v diskusi pod článkem. Protože jednotlivé stroje, systémy a konfigurace mohou být poměrně různorodé, je možné, že něco někde nebude fungovat tak, jak je to v seriálu popisováno.

Q: Obarvování kódu je hezké. Jak jste to dělali?
A: Základ je v použití funkce highlight_string. Ačkoli to z bezpečnostních důvodů nechci vypisovat celé, hrubá kostra skriptu je asi následující:

<?
  
function obsahsouboru ($file)
  {
    
$soubor=fopen($file, "r");
    
$obsah=fread($soubor, 50000);
    
// odstranění citlivých údajů
    
fclose ($soubor);  
    
ob_start();
    
highlight_string($obsah);
    
$contents = ob_get_contents();
    
ob_end_clean();
    return
$contents;
  }
  
// bezpečnostní kontroly ...
  
?>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
<?
  
echo obsahsouboru ($file.".php");
?>

Q: Co se chystá po dokončení seriálu? Vyjde něco dalšího?
A: Chystáme seriál o MySQL. Sledujte linuxsoft.cz, dozvíte se víc. (Doplněno 16.4.2005 - ten seriál už je v běhu)

Q: Mohu také psát pro Linuxsoft?
A: Zde je odpověď.

Q: Co děláte kromě psaní článků pro Linuxsoft? Mohl byste mi pomoci s [projektem | webem | programem | funkcí | ...]
A: Živím se jako programátor. Na Linuxsoftu nezveřejňuji informace o svých projektech, protože je to portál a ne reklamní plocha. Pokud budete chtít něco, co se netýká série článků o PHP, můžete se na mě obrátit e-mailem. Kontaktní informace najdete v mém profilu.

Závěr

Poděkování patří:

Seriál nezahazujte. Protože se zde budou dělat korekce a úpravy, věřím, že se nám povede udržet tento materiál aktuální a že vám pomůže i v budoucnosti. Loučím se s vámi a přeji vám mnoho příjemných chvil strávených ve "společnosti" rychlých internetových lajn, spolehlivých serverů a elegantních prográmků v PHP.

Petr Zajíc, autor

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=674