V minulém díle jsem představil svou maličkost a vysvětlil jsem mé pohnutky proč jsem PHP Jet vytvořil a nastínil filozofii toho PHP8 frameworku. V dnešním díle již žádné teoretizování a hurá rovnýma nohama do praxe.
Ukažme si způsob práce v PHP Jet na malé aplikaci – databázi restaurací. Ta bude zahrnovat vytvoření datového modelu, plnohodnotného administračního modulu, stránky na webu pro výpis restaurací a výpis samotný.
Něco takového se nejlépe ukazuje pomocí videí a tuto cestu jsem také zvolil. Na vývoj této malé aplikace se můžete kouknout v sérii několika videí, ve kterých je zachycen celý postup.
Tak dost textu, pojďme na videa:
První video zachycuje vytvoření datového modelu pomocí integrovaného nástroje Jet Studio. Je vytvořeno vše potřené. Tedy třída i databázová tabulka.
Obsahem druhého krátkého videa je namapování formuláře (vytvoření definice formuláře) na již existující entitu restaurace.
Třetí video je velice zajímavé, protože v něm uvidíte vytvoření administračního modulu pro správu restaurací na pár kliknutí a uvidíte že modul rovnou disponuje logováním operací a kontrolou opr0ávnění.
V dalším, již čtvrtém, videu uvidíte jak si „připravím půdu“ pro vypsání seznamu restaurací na webu a vytvořím pro to stránku a jednoduchý modul, který na stránku umístím.
A konečně poslední video je o jednoduchém vytvoření výpisu restaurací na webu.
Smyslem těch videí není vysvětlit co a jak v Jet funguje. To je popsáno v dokumentaci. Chtěl jsem vám ukázat, že s PHP Jet se dá reálně zbavit otravné rutiny. Ovšem efektivita neubírá vůbec nic na svobodě. Ostatně jak si ukážeme v dalších dílech.
To boli casy, ked som si aj ja robil vlastny PHP framework...
Co mi u vasho chyba je opis principov na ktorych funguje, aby sa dalo predtvit ako sa s nim bude robit bez dlhcizneho studovania dokumentacie.
Díky za námět. Toho co Vám chybí jsem si tak nějak vědom. A za tímto účelem budou právě vznikat videa. Teda jsem youtuber začátečník :-D Ale to postupně vyladím. Ale můj záměr je nyní ony principy vysvětlit. Máte pravdu, že je to důležité.
Davat nieco taketo do videa je velka chyba, ktora odradi mnoho ludi.
Hovorit o tak elementarnych veciach vo video, ktore nadejny pouzivatel vasho frameworku bude nenajde, alebo ked bude na dokumentacii tak nan neklikne je zle. To nehovorim o vyhladavni cez vyhladavace.
Navyse ja som uz lenivy a vazim si svoj cas, neozaj nebudem pozerat 20 minutove video o architekture, ked si to viem, za 3 minuty precitat.
Viem, ze dnes chce byt kazdy youtuberom a tiktokerom, ale nie na elementarnu dokumentaciu k frameworku.
Měl bych dvě otázky:
1/ Proč nepoužíváte composer?
2/ Jak se to graficke Studio bude chovat, když začnu do toho kódu hrabat?
PS:
Respekt, že jdete s kůží na trh. Očekávejte strašné hejtování. Češi jsou tím nechvalně známí. Držím palce.
1) Ke composeru se určitě dostanu v jednom z dalších dílů. Je k tomu řada důvodů. Vysvětlím v budoucnosti.
Již některé "kontroverzní" věci vysvětluji v dokumentaci, ale na tohle udělám blog a takovou malou "případovku".
2) To studio má jako zdroj přímo zdrojové kódy. Počítá se s tím, že se tam zasahuje ručně. Přímo na to je to stavěné.
Běžně sem tam něco udělám ručně, sem tam něco naklikám - podle toho co se víc hodí. Od toho to je.
A děkuji :-) Jsem v oboru opravdu dlouho. Hejtování mě nezajímá. Není to produktivní čas ;-) Kvalitní diskuze však určitě ano.
Taky jsem léta přemýšlel, jak v PHP řešit tyhle neustále se opakující rutiny, až jsem místo vynalézání kola zakotvil u https://octobercms.com/
Děkuji za námět, ale Jet není CMS.
Buď na to mrkněte důkladněji, nebo počkejte na spoustu dalších dílů, kde vše objasním ;-) Věřím, že Vás to postupně zaujme a přesvědčí, že toto je něco jiného :-)
Oceňuji vaši odvahu jít s kůží na trh. Konkurence je velká a každý druhý kolega vám řekne že php frameworků už je dost a není potřeba vyrábět další. Chápu vás, sám mám svůj php framework v šuplíku. Tedy nemám ambice jít s tím ven, říkám si, alespoň zatím, už od roku 2012. Mám to spíš jako cvičení, jednou dvakrát za rok tam něco přidám upravím, naučím se nějaký nový postup, přemýšlím o architektuře a často ji měním, aby vše fungovalo co nejlépe a bylo to pochopitelné (a to my myslím dáte za pravdu, celý framework, to není žádná brnkačka).
Nicméně, pár doporučení bych měl:
Přeju hodně zdaru, muselo to dát spoustu práce (a spoustu ještě dá, tak to dělejte chytře).
1) Composer ne - vysvětlím v budoucnu pořádně.
2) K unit testům se také dostanu.
3) PHP Storm má skvěle integrované nástorje na kvalitu kódu atd. V tom je to celé vyvíjené a těmto analýzám neustále podrobované celé roky.
4) S tím jak má vypadat "správně naformátovaný zdroják" (i když některá kritéria jsou čistě subjektivní, jiná objektivní) také hodně "helpne" moderní IDE jako je PHP Storm, kde pochopitelně pro to mám definici a podle těchto definic (která se dá i snadno exportovat ...) se kód automaticky formátuje - což je maličkost.
Případně se s lidmi co budou chtít participovat dá dohodnout - je to projekt jako každý jiný a "pár" jich mám za těch "par" let praxe za sebou. Tak snad si poradím i teď ;-)
Ale rozhodně děkuji za zájem a za zcela relevantní poznámky a radyů
ad 1) v PHP nejsem už docela dlouho, ale nepodporovat Composer (ať už máme jakýkoliv důvod), mi osobně přijde hodně divné - to je jako bych dnes nepoužíval package.json u JS, nebo Docker / Kube na serverech... :-0
ad 2) docela risk, nedělat testy... Bylo řečeno i v jiných komentářích.
ad 3) a co ti, kteří nepoužívají JetBrains rodinu, ale třeba něco jiného? Já sám programoval přes 8 let ve Vimu. Spoléhat se na "kvalitní" IDE (otázkou je, co které IDE to je) a jeho aktivní pluginy, je dost naivní a rozhodně ve mne nebudí myšlenku, že jste někdy programoval za peníze a ve velkém týmu.
ad 4) no to jsou přesně argumenty phpéčkařů, to bylo vždy spaghetti code a asi nikdy více nebude. Kód má být nějak formátován automaticky. Ne v závislosti na IDE. Programátoři sice možná používají JetBrains, ale pak je tu hromada lidí, kteří používají M$ Paskvil Code, Atom, Notepad atd. Sám jsem zažil žabomyší války tab vs. mezery, chlupaté závorky na stejné řádce či nové apod. Nikdy, nelze spoléhat na to, že někdo má PhpStorm, resp. má ho stejně nastavený jako Vy.
Koukal jsem do dokumentace, na kusy kódu a musím uznat, že od dob kdy jsem opustil PHP (v roce '14) se fakt nic nezměnilo. Furt je to stejný bastl a humus. Jsem opravdu rád, že jsem tento svět opustil...
Psát v dnešní době PHP FW je totální nesmysl, existuje jich hromada a 1000x lepších.
Píšu jen svůj názor, máte obdiv, že s tímto jdete ven
Ohledne formatovani kodu bych to postavil z velke casti na souboru .editorconfig. Zbytek resit pomoci nejakyho package kde budou pravidla pro phpcs. Spolehat na stejny nastaveni je opravdu problematicke (kdyz to budu mit jinak a budu mit v IDE nastaveni autofix tak mam pro kazdy otevreny soubor najednou miliardu zmen v gitu
Není nutné do PHP kopat. Dělám profesionálně v C# a je to stejnej bastl. Javascript je bastl od narození. V jazyce to (obvykle) není.
Všechno je to lidech, o technikách, o zkušenostech.
Se zbytkem cca souhlasíme. Jen mi to přjde, že tak trochu vkládáme do úst důvody, které třeba vůbec nemá. Nechme ho se vyjádřit. Já jsem zvědavej na jeho motivaci nepoužít composer.
Přiznám se, že jsem si vše proklikal pouze v rychlosti a prošel jsem si hlavně motivaci ke vzniku tohoto frameworku. A nemohu se zbavit skepse. Celé je to postavené na snaze řešit problémy, které ale imho téměř nikdo nemá. Co mi přinese Jet oproti třeba Symfony? Které má skvělou dokumentaci, jasný vývojový cyklus a podporu, skvělou zpětnou kompatibilitu a proces upgradu na nové verze a obrovskou komunitu?
Řekl bych, že o tom je tento blogový příspěvek, ne? Snaha demonstrovat, že v čem to má přidanou hodnotu.
V první řadě respekt, že jdete takhle s kůží na trh. Bude to spousta práce a většina lidí to neocení.
Rovnou se přiznám, že nejspíš nebudu cílovka - mám docela rád Symfony a její principy (dependency injection, možnost použít jenom části anebo dokonce jako knihovnu, templatovací jazyk atd.) a svůj "framework" stavím na ní, protože některé věci mi tam přecejen přijdou krkolomné.
Zajímalo by mě, jaký je vlastně cíl těchto článků - chcete přilákat nové uživatele Jetu, vyzkoušet si výrobu obsahu nebo "jen tak"?
Budou i další díly jen formou videa? Byla by to škoda, spousta lidí (včetně mě) má radši text...
Přečteno 20 713×
Přečteno 18 551×
Přečteno 17 778×
Přečteno 17 524×
Přečteno 16 221×