
O Doctrine 2 je na webu dostatek informací – i na Zdrojáku je poměrně podrobně popsáno, jak Doctrine používat, jak s ním pracovat a jak v něm psát i složitější úlohy. Tento článek ukáže nikoli samotný ORM, ale aplikaci, která jej používá, a možné problémy, na které při vývoji narazíte.

V předchozích dnech vzbudil v PHP komunitě pozornost a vlnu diskusí text Eda Finklera „The MicroPHP Manifesto“. Autor v něm upozorňuje, že ne každému a ne na všechno se vždy a univerzálně hodí velké frameworky, jako jsou Symfony nebo Zend. A je při tom radikální, jak už manifesty bývají…
6. 1. 2012 0:00
Martin MalýGlosy

Enum, enumerated nebo česky výčtový typ je datový typ, jehož použití na správném místě nám může pomoci zjednodušit návrh aplikace a učinit ho elegantnějším. Výčtové typy slouží k definici skupin předem známých hodnot a umožnění následné typové kontroly (Rudolf Pecinovský – Návrhové vzory). Výhody výčtového typu můžeme využívat i v návrhu PHP aplikace, pokud překonáme jisté obtíže s implementací.

Cloudové hostingy začínají pronikat i do slovníku českých hostingových společností. Většinou už pochopily, že „cloud“ není jen jinak nazvaný VPS, a nabízejí čím dál víc „cloudových“ atributů, od hodinového účtování za čas a prostor po plnohodnotná cloudová API. Dnes se podíváme na tři přírůstky…

V druhém díle seriálu o tvoření aplikací pro dnes nejpopulárnější sociální síť – Facebook – si představíme princip autorizace aplikace, podíváme se na protokol OAuth, který ověřuje přístupová práva ke Graph API, a nakonec si vše názorně předvedeme na ukázce.

V tomto seriálu si představíme celý ekosystém vývoje aplikací pro Facebook. V prvním díle se budeme věnovat převážně teorii – vysvětlíme co Facebook aplikace vůbec je a představíme dostupné prostředky pro její vývoj. Nakoukneme do praxe a vytvoříme společně vaši první „hello world“ aplikaci.

Vyšlo PHP 5.4.0, a i když je zatím ve verzi alpha, podíváme se na novinky v tomto jazyce, na nové konstrukce, odstraněné konstrukce a další změny, kterých sice není tolik jako ve verzi 5.3, ale jsou zajímavé. Změny pro čtenáře Zdrojáku sumarizoval a okomentoval Jakub Vrána.

Při testování aplikace na lokálním stroji často potřebujeme ověřit, jestli aplikace odeslala správný e-mail na správnou adresu. Možností, jak to ověřit, je víc, nemusíte vždy zadávat svůj mail a kontrolovat, jestli zpráva přišla. Jak na to v PHP (převážně pod Windows) si ukážeme v článku.
29. 6. 2011 0:00
Martin HujerRůzné

Lazy evaluation („líné vyhodnocování“) je programovací technika, která může ušetřit mnoho paměti a času. Některé jazyky pro ni mají speciální konstrukce; v PHP ale musí být nahrazena jinak. Jedno z možných řešení, které využívá k lazy evaluation PHP iterátory, si ukážeme v následujícím článku.

Yii, free open-source framework, je dostupný verejnosti približne od roku 2008. Jeho autor sa podieľal na vývoji frameworku Prado. Yii prichádza so silou, šikovnosťou a množstvom funkcií, ktoré urýchľujú vývoj webových projektov. Jednou z tých najšikovnejších, najviac uľahčujúcich prácu, je generovanie kódu — o ňom si dnes povieme.

Dnešního zpovídaného určitě není potřeba čtenářům Zdrojáku dlouho představovat – David Grudl, autor několika známých open source knihoven, propagátor „správného stylu“ programování v PHP a výrazná postava české webařské scény v nejbližších dnech představí novou verzi frameworku Nette

Framework Yii (yes it is) je pomerne mladým hráčom na poli PHP frameworkov. Má však šancu miešať kartami na preplnenom trhu s frameworkami pre tento jazyk. Panuje okolo neho stále väčší ruch a záujem komunity okolo neho narastá. Poďme si ho preto v stručnosti predstaviť.

Kniha Jakuba Vrány „1001 tipů a triků pro PHP“ je na pultech už delší dobu. Pokud vyvíjíte weby v PHP, je knihou, kterou si musíte přečíst, protože v ní, trošku paradoxně, nenajdete jen halabala sbírku tipů a triků, ale po jejím přečtení budete mít jasno hlavně v tom, jak v PHP psát správně a „neprasit“!

Pokud si myslíte, že s PHP můžete pouze generovat dynamické webové stránky, mýlíte se. PHP je v dnešní době poměrně univerzální jazyk a škála úkolů, které s ním lze řešit, sahá například až k vytváření grafických uživatelských rozhraní v PHP-GTK. Pro webového vývojáře je z těchto dalších úkolů zřejmě nejzajímavější využití PHP v příkazové řádce.

Jazyk PHP je široce používaný, ale jeho výkon nepatří mezi jeho nejsilnější stránky. V rychlosti programovacích jazyků často dokonce zaujímá jedno z posledních míst. Vylepšit se to snaží nástroj z dílen Facebooku s názvem HipHop. Jedná se o převodník PHP skriptů do C++ a v článku si ukážeme, jak jej použít.

Profilování, tedy sledování doby běhu různých části programu, neodmyslitelně patří k vývoji každé aplikace. Umožní nám zjistit úzká místa a optimalizovat pouze ta. Jak říká známá poučka Donalda Knutha: „Předčasná optimalizace je kořen všeho zla“. Článek nám představí profilovací nástroj pro PHP.

V druhé části subjektivního srovnávání Doctrine 2 a NotORM se autor Jakub Vrána zaměří na ukládání dat do databáze v obou těchto systémech.

V dnešním dílu budeme pokračovat v navěšování vlastních funkcí na události v rámci životního cyklu entity. Projdeme podrobněji práci s jednotlivými handlery pro různé typy událostí, ukážeme si jejich specifika a konkrétní praktické příklady.
13. 1. 2011 0:00
Jan TichýDatabáze

V předchozím dílu jsme si představili dotazovací jazyk DQL (Doctrine Query Language). Při práci s Doctrine 2 nejste ale omezeni pouze na DQL. Dneska si ukážeme další dvě cesty, jak si v Doctrine 2 připravit dotaz do databáze – Query Builder a nativní SQL.
18. 11. 2010 0:00
Jan TichýDatabáze

Dotazovací jazyk DQL (Doctrine Query Language) je jednou z nejsilnějších zbraní Doctrine 2. Kombinuje v sobě přímočarost dotazovacího jazyka SQL a nezávislost objektové entitní vrstvy modelu. Pokud berete práci s Doctrine 2 alespoň trochu vážně, bez DQL se rozhodně neobejdete.
3. 11. 2010 0:00
Jan TichýDatabáze

Asociace jsou v terminologii ORM analogií ke vztahům mezi tabulkami u relačních databází. Je to jednoduše způsob, jak namapovat vazby mezi entitami na cizí klíče v databázových tabulkách. V článku si ukážeme, jak s těmito asociacemi pracovat v ORM Doctrine 2.
23. 9. 2010 0:00
Jan TichýDatabáze

Seriál o novinkách, které pro vývojáře v PHP přináší databázová knihovna (ORM) Doctrine 2, pokračuje. V ukázkách minulých dílů jsme se letmo dotkli Entity Manageru. Dnes se na něj podíváme podrobněji a ukážeme si základní způsoby, jak své entity načítat, ukládat a mazat.
26. 8. 2010 0:00
Jan TichýDatabáze

V minulém díle seriálu jsme nakousli téma entit v Doctrine 2. Dnes budeme s entitami pokračovat a podíváme se na některé pokročilejší možnosti jejich definice a práce s nimi.
11. 8. 2010 0:00
Jan TichýDatabáze

Doctrine 2 je nový ORM framework pro jazyk PHP. V porovnání s již existujícími systémy pro mapování objektů na relační databázi přináší zajímavý posun a má velkou šanci stát se v budoucnu převládajícím ORM pro aplikace psané v jazyce PHP. V několika dílech tohoto seriálu si Doctrine 2 postupně představíme.
21. 7. 2010 0:00
Jan TichýDatabáze

Potřebuje ve své aplikaci ukládat velké množství dat? A ta pak zobrazovat návětěvníkům? Jedna z používaných metod je uložení v cloudu, jako je Amazon AWS, Google AppEngine nebo třeba Azure. V článku si ukážeme, jak v PHP můžeme využít právě možností neomezeného úložiště ve Windows Azure.

Většina webových aplikací potřebuje pracovat s propojenými daty uloženými v databázi. Pro pohodlnější práci s databázemi existuje velké množství mezivrstev a knihoven, které mají práci usnadnit. Novou PHP knihovnu, nazvanou NotORM, nám v článku představí její autor, Jakub Vrána.

Vývoj AJAXových aplikací přináší PHP programátorům nové výzvy. Tou asi nejdůležitější, s níž se programátoři potýkají nejvíc, je debugování skriptů, jejichž výstup „není vidět“. Řešit to lze různě, více či méně elegantně. Jedním z nejelegantnějších řešení, alespoň pro ty, co používají Firefox, je FirePHP.

Dnes na chvíli vybočíme z praktické linie tohoto seriálu a budeme se místo další práce na naší aplikaci věnovat obecnějšímu srovnání Javy na webu s jiným používaným jazykem, a to konkrétně PHP. Podíváme se na oba jak z hlediska jazyka, tak i z pohledu nasazení na server a dostupnosti hostingu.

Mnohé webové služby umožňují kromě nahrání fotografie do webového alba i možnost označit osoby, které na fotografii jsou a vyznačit místo, v němž se nachází jejich obličeje. Někdy algoritmus odhadne, kde by obličeje mohly být, a nabídne už přednastavené oblasti. Jak to dělá a jak to můžete udělat i vy, se dozvíte v článku.

V posledním díle miniseriálu o ORM knihovnách pro PHP5 si ukážeme definici databázového modelu. Příblížíme si důvody definice pro ORM frameworky a ukážeme si nástroje pro jejich zápis. Kromě obecně známých nástrojů se seznámíme i s novým nástrojem ORM Designer, který je zaměřen na ORM frameworky a nabízí plnou podporu pro frameworky Propel a Doctrine.