Rozšiřování PHP

Školení, která pořádám

PHP je nesmírně bohatý jazyk – kromě asi 500 vestavěných funkcí jich je další ohromné množství k dispozici v rozšířeních. Některá rozšíření jsou dodávaná přímo s PHP, jiná jsou k dispozici v rámci knihovny PECL (zkompilované verze pro Windows jsou k dispozici u vybraných rozšíření).

Další velkou zásobárnou funkčního kódu je PEAR, kde jsou umístěny knihovny napsané přímo v PHP. Pokud budete chtít svou knihovnu někdy publikovat, doporučuji držet se PEAR Coding Standards a umístit ji právě sem. Na spoustě serverů o PHP jsou knihovny knihoven také k dispozici, ale PEAR je podle mě nejprestižnější.

Pokud máte externí knihovnu s nějakým API a chcete ji zpřístupnit v PHP, můžete si napsat vlastní rozšíření. K tomu musíte umět jazyk C a vědět, jak PHP vevnitř zhruba funguje. Osobní zkušenosti s psaním vlastních rozšíření nemám, ale s některým z následujících návodů by se to určitě dalo zvládnout:

Pokud chcete rozumět tomu, jak PHP vevnitř funguje, můžete se podívat na prezentace na toto téma.

Jakub Vrána, Ze zákulisí, 20.7.2005, diskuse: 2 (nové: 0)

Diskuse

ikona llook:

Na těch PEAR Coding Standards mě připadá zvláštní, že mají úplně odlišné jmenné konvence od PHP Coding Standard. Že knihovny v céčku mají mít balík_název_nějaké_funkce, zatímco knihovny v PHP balík_názevNějakéFunkce.

martin:

Doporučuji čerpat přímo z http://pecl.php.net

Vložit komentář

Používejte diakritiku. Vstup se chápe jako čistý text, ale URL budou převedeny na odkazy a PHP kód uzavřený do <?php ?> bude zvýrazněn. Pokud máte dotaz, který nesouvisí s článkem, zkuste raději diskusi o PHP, zde se odpovědi pravděpodobně nedočkáte.

Jméno: URL:

avatar © 2005-2018 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.