Je to ohromně diskutabilní a např. na Develu lidé toto téma řešili bez jednoznačného vítěze.
Já si myslím, že úplný začátečník by se měl nejdřív naučit SQL a pak si teprve zvolit druhý jazyk. Proč?
Pořád pracuji na Mockistovi 2. Mám pro vás pár aktuálních novinek.
Ti z vás, kdo ho používáte, máte instalaci zase o něco jednodušší. Mockista v tuto chvíli nemá žádné závislosti. Přemýšlím ale, že bych v něm začal používat Googyho.
$mock = Mockista\mock("Trida nebo Interface");
$this->assertInstanceOf("Trida nebo Interface", $mock);
Díky tomu můžete mockistu používat i tam, kde se vyžaduje nějaká konkrétní instance. Předchozí funkcionalita:
$mock = Mockista\mock(array("x"=>1, "y"=>function() {return time(); }));
$mock->freeze();
$mock->x; // 1
Je nyní volitelně na 2. parametru, pokud použijete type hinting, jinak
zůstává na prvním:
$mock = Mockista\mock("Trida nebo Interface", array("x"=>1,Celý článekJe mi jasné, že většina mých čtenářů už programovat umí. Dnes cílím na vás zbývající. Naučte se programovat, ikdyž je vaše zaměření odlišné. Získáte tím několik užitečných benefitů.
V posledních dnech jsem četl hodně článků, které kritizovaly PHP. Obvykle to bylo kvůli obskurním konstrukcím, které jsem v životě nepoužil a lidé kolem mě taky nejspíš ne. Chtěl bych na PHP kouknout z jiného pohledu.
Zkuste se obejít zcela bez PHP. Pokud nejste na Windows platformě, budete to mít těžké.
Obejít se bez PHP na webu je jako nepoužívat shellscripty. PHP je defaultní znalost. Většina hostingů vám nabídne právě LAMP. V okamžiku, kdy se váš projekt rozroste, VPS bude mít předinstalované… obvykle PHP. Až si pořídíte dedikovaný server, tak pokud bude nějaký webový jazyk hned k dispozici, bude to… PHP. S tím se pojí fakt, že téměř každý Linuxový admin zvládně rozběhnout a nějak udržovat LAMP stack. Dostáváte do rukou možnost volby a taky dost ušetř
Celý článekPravidlo zní: použijte na každou práci nástroj, který se na tu práci hodí. A tak když se schéma záznamů často mění, máte řadu volitelných sloupců, potřebujete ukládat záznamy s verzemi, jste líní dosáhnout 3. normální formy (nebo je to z nějakého důvodu nepraktické) apod. dojdete k situaci, kdy byste mohli usoudit, že NoSQL je na takový úkol vhodné.
Realita je ovšem taková, že obvykle použijete stejně SQL a nebudete litovat.
Na NoSQL neexistuje ani desetina nástrojů proti těm pro SQL.
Umí je spravovat setina lidí, proti těm, kteří umí spravovat např.
MySQL.
Vývojářů s praxí např. s MySQL bude víc, než vývojářů s praxí
v Couch, Mongo, Riaku, Cassandře, Redisu dohromady.
Na SQL technologie najdete desetitisíce článků, tisíce knih, stovky firem
poskytující supCelý článek
Mockista už umí generovat objekty z dané šablony. Celá funkcionalita ještě není úplně odladěná, proto ještě verze 2 nevyšla. Každopádně v reakci na nedávnou diskuzi o Dependency Injection někteří navrhovali řešit problém pomocí Proxy. Zamyslel jsem se a s jemnou pomocí Mockisty budu schopný generovat Lazy Proxy automaticky.
Kód Mockisty jsem rozšířil a můžete ho použít.
Kladu si teď otázku, jestli je pro Mockistu vhodný takový název, když už toho umí o trochu víc. Proto radši dejte vědět, jestli pro tento Proxy Generator vidíte použití, jinak ho z Mockisty zase vyhodím.
Tady je příklad použití:
// mame tridu, kterou chceme loadnout line
class Trida
{
public static $constructorCalled = false;
private $x;
public function __construct($x)
{
Celý článekTento článek vznikl jako „dlouhý komentář“ na Davidovu analýzu Dependency Injection vs Lazy Loading. Článek si nejprv přečtete a pak se vraťte.
Obvykle je potřeba lazy-loadingu důkazem, že je třída moc velká. Ale zrovna u presenterů (který sis vybral ty) to neplatí. U nich (a platí to i o controllerech v libovolném jiném frameworku) je spousta závislostí, člověk si může šáhnout na response (ikdyž třeba posílá hlavičky a redirectuje v 1 z 5 controllerů), na view (ikdyž chce poslat JSON), na session (ikdyž nejčastější použití: flash messages a auth použiješ tak v půlce controllerů).
Co se těch dvou variant týká. Rozdíl mezi nimi je jen v tom, že „deleguješ“ ten getter dál – tedy to té „factory“, která se tím změní na „accessor + factory“ (nebo do
Celý článekSvět se ohromně posunul a Cake nepůsobí vůbec moderně. Vždyť nedávno byl ještě kompatibilní s PHP 4, má jen obyčejný Active Record (navíc používá pole a ne objekty), nemá jmenné prostory, je plný statických tříd, o nějakém Dependeny Injection si můžeme nechat jenom zdát.
V ČR už se dnes diskuze o volbě PHP frameworku omezila do roviny Nette 2, Zend (zatím hodně čerstvá) 2 nebo Symfony 2.
Každý z těchto frameworků je skvělý, moderní a nabízí skoro všechno, co člověk potřebuje pro to, aby mohl psát čistý a testovatelný kód. CakePHP vás donutí ke kompromisům v čistotě a ikdyž už dnes je brána podpora pro testování vážně, pořád to není ono.
Na druhou stranu, když dnes mám nastartovat nějaký rychlý a jednoduchý projekt (třeba i pro sebe), kde obvykle p
Celý článekMůj vztah k NoSQL je tak trochu jako italská domácnost. Nejdřív mě štvalo, že je tu zas další buzzword (no co, v PHP napíšete key-value storage na 20 řádek). Pak jsem vzal NoSQL na milost a dokonce jsem si vlastní NoSQL službu rozepsal. Měla umět map-reduce, indexy i rychlý k-v přístup. Přestože to byla hračka, pořád se mi vracelo to, že svět je relační a relační databáze jsou pro většinu situací výhodné. Přesto jsem téma sledoval a občas četl něco víc. Dokonce jsem do jedné soutěže napsal key-value filestorage s map-reduce, který měl včetně testů kolem 2 kilobajtů.
Po dlouhé době, kdy mi NoSQL přišly obtížně použitelné v problémech běžného světa, jsem objevil Riak, který dost problémů řeší.
Nedávno byl hit použitelnost, teď se buzzword přestěhoval na User Experience. Obojí jsou ohromně užitečné (a samozřejmě propojené) obory, které návštěvníkovi hodně přinesou. Mám trochu pocit, že na přístupnost se zapomíná.
Definice: Chyba v přístupnosti znemožňuje nebo ztěžuje použití lidem s handicapem. Přístupnost je disciplína, která se zabývá zjišťováním, které handicapy trpí různými chybami přístupnosti a které postupy přístupnost pro danou skupinu zvyšují. Ve zkratce: Přístupnost je použitelnost pro handicapované.
Proč se vlastně věnovat přístupnosti? Napadají mě hned dva důvody. První je mýtus „toho druhého“. Totiž takový tvůrce webu myslí na použitelnost a User Experience „pro sebe“ (přesně z tohoto důvodu by návrhy UI neměli dělat p
Celý článek