Jak začít s programováním v PHP na Macu poslepu

Cílem tohoto článku je ukázat cestu těm, kteří by chtěli na Macu s odečítačem obrazovky VoiceOver začít s vývojem webových stránek v jazyku PHP a nevědí, kde by začali a jaké nástroje a aplikace pro tento účel nejvhodněji zvolit tak, aby vše bylo přístupné a ideálně i co nejméně komplikované.

Volba způsobu instalace a konfigurace Apache, MySQL a PHP

V podstatě existují dvě možnosti, jak nainstalovat a nakonfigurovat kombinaci webového serveru Apache, databáze MySQL a programovacího jazyka PHP. První cestou je stáhnout, nainstalovat a nastavit tyto části jednotlivě a ručně. V tomto případě doporučuji řídit se TÍMTO ANGLICKÝM AKTUÁLNÍM ČLÁNKEM, kde je vše srozumitelně a dopodrobna popsáno a je to otestováno jako funkční v systému macOS 10.14 Mojave. Případně si můžete přečíst tento ČESKÝ PŘEKLADvytvořený pomocí služby Google Translate, překlad tedy má své rezervy. Toto řešení, nazvěme jej jako ruční řešení, vyžaduje práci v Terminalu, což je příkazová řádka systému macOS, a dále je potřeba ruční úprava jistých konfiguračních souborů. Tento přístup sice umožňuje větší kontrolu nad tím, co a kam je instalováno, především si například můžete nainstalovat jakoukoliv vámi požadovanou verzi jazyka PHP či databáze MySQL a vše je možné si dopodrobna nakonfigurovat, avšak celkově toto řešení není úplně triviální a je zdlouhavější.

Alternativní možností tedy může být více automatizované a jednodušší řešení spočívající ve snadné instalaci uceleného balíku obsahujícího vše potřebné. Jde o takzvaný balík AMP, čili balík zahrnující Apache, MySQL a PHP. U tohoto řešení, nazvěme jej balíkové řešení, máme volbu mezi různými takto sestavenými balíky, které se liší poskytováním dalších služeb a nástrojů, například podporou dalších databázových systému nebo programovacích jazyků kromě MySQL a PHP. Zejména se ale tyto balíky liší tím, jak moc vám přes jednodušší grafické rozhraní umožní konfigurovat nastavení webového serveru, PHP nebo MySQL tak, abyste nemuseli ručně zasahovat do konfiguračních souborů či používat Terminal.

V následujících řádcích si vedle ručního řešení blíže porovnáme tři takovéto dle mého názoru nejvhodnější dostupné balíky. Půjde o balík MAMP, který je zdarma, dále o jeho placeného a mocnějšího sourozence MAMP PRO, který vás vyjde na 69 dolarů, ale poskytuje čtrnáctidenní bezplatnou zkušební lhůtu , a třetí srovnávaný balík se nazývá AMPPSa je zdarma. Pro správnou volbu řešení si tedy položme následující otázky:

  • chci pro instalaci a konfiguraci webového serveru Apache, databáze MySQL a jazyka PHP používat zjednodušující grafické rozhraní, anebo jsem schopný poprat se s příkazovou řádkou, tedy s Terminalem, a s ručním editováním konfiguračních souborů? Jinými slovy chci zvolit ruční nebo balíkové řešení?.
  • V jaké verzi PHP chci programovat? Doporučuji poslední verzi, tedy PHP 7, ale v případě, že bych z nějakého důvodu chtěl jinou verzi, tak to bude mít dopad na řešení, které budu muset zvolit. V případě ručního řešení můžeme ručně stáhnout a nakonfigurovat jakoukoliv verzi PHP chceme, ale například balík MAMP v současnosti nabízí volbu jen mezi dvěma verzemi a to PHP 7.2 či 7.3 . Oproti tomu jak balík MAMP Pro, tak balík AMPPS, umožňují volbu například i PHP verze 5.3, 5.4, 5.5 nebo 5.6 . V případě balíku AMPPS si ale musíme dát pozor na to, že funkce změny verze PHP není přístupná, takže vám s ní bude muset pomoci někdo vidící.
  • Chci mít možnost na svém místním webovém serveru provozovat více webových prezentací? Webovou prezentací zde rozumím soubor webových stránek pod jednou doménou, například mojeprvnistranka.cz a mojedruhastranka.cz by byly dvě různé webové prezentace. Jestliže chci mít možnost na svém webovém serveru provozovat více než jen jednu webovou prezentaci, tak mnou zvolené řešení musí podporovat konfiguraci takzvaných virtuálních serverů. Co jsou to virtuální servery, a jak je ručně nakonfigurovat se dozvíte například zde. V případě ručního řešení si opět můžeme nakonfigurovat kolik virtuálních serverů chceme, ale balík MAMP funkci virtuálních serverů nepodporuje. Pokud tedy chceme zvolit balíkové řešení a zároveň mít možnost vytvořit více virtuálních serverů, tak budeme muset sáhnout pro placený balík MAMP Pro nebo bezplatný AMPPS.
  • Jestliže si vyberu balíkové řešení, jakou další funkcionalitu, kromě již zmíněných dovedností, od něj očekávám?
    • Balík MAMP i balík MAMP Pro oproti AMPPS umožňují jednoduché nastavení libovolného adresáře DocumentRoot, čili adresáře na disku, ve kterém sídlí vaše webová prezentace. Balík AMPPS sice umožňuje nastavení tohoto adresáře také, avšak s jistým omezením. Když jsem v případě tohoto balíku tento adresář pro virtuální server nastavil na cestu nezačínající na „/Applications/AMPPS/www“, tak se mi nepodařilo server zprovoznit, jelikož hlásil chybu 500 -Internal Server Error.
    • Balíky MAMP i MAMP Pro oproti AMPPS umožňují volbu portů, na kterých běží webový server Apache nebo databáze MySQL. To se může hodit, když byste chtěli zpřístupnit více vašich místních webových prezentací pro přístup z místní sítě nebo z Internetu. Nicméně ruční cestou, tedy úpravou patřičných konfiguračních souborů, je možné porty změnit i v případě balíku AMPPS.
    • S balíkem MAMP Pro oproti MAMP a AMPPS můžete jednoduše pomocí pár kliknutí vytvářet zálohy webových stránek včetně databáze, jde o funkci nazvanou snapshots, a zvolenou zálohu kdykoliv obnovit.
    • Balík MAMP Pro navíc oproti MAMP a AMPPS nabízí možnost publikování místních webových stránek běžících na redakčním systému WordPress na ostrý webový server pomocí jednoho kliknutí. Čili nemusíte se zabývat ručním kopírováním pozměněných souborů WordPressových stránek na ostrý server pomocí protokolu FTP a nemusíte řešit ani ruční nahrávání databáze. Webovou prezentaci včetně databáze je možné přenášet jedním kliknutím i opačným směrem, tedy z ostrého serveru na server místní.
    • O dalších dovednostech balíku MAMP Pro se můžete dočíst na jeho oficiálních stránkách.

Několik tipů bokem k práci v Terminalu

Jestliže zvolíte ruční řešení, tak se budete muset spřátelit s Terminalem. Co se týče jeho přístupnosti, je škoda, že bohužel není možné se s VoiceOverem ve výpisu Terminalu pohybovat kurzorem, označovat a případně kopírovat text tak, jako to jde v běžném editačním poli. Stejně se mimochodem chová i pokročilejší alternativa k Terminalu aplikaceiTerm 2. Uspokojivým řešením ale může být přes zkratku Cmd + A a následně Cmd + C zkopírovat veškerý výpis Terminalu, přepnout se do TextEditu a tam celý zkopírovaný text přes Cmd + V vyklopit, a pak už si v textu můžete nalézt a případně vykopírovat, co je vám libo.

Pokud takto nechcete označovat a kopírovat veškerý výpis, tak je možné použít zkratku Cmd + Shift + šipka nahoru, která označí text jen v rozsahu od posledního výpisu až po předcházející příkaz.

Dále si pro Terminal uveďme pár užitečných klávesových příkazů:

  • Šipka nahoru a dolů – prochází historii dříve zadaných příkazů.
  • Tabulátor – doplní rozepsaný příkaz.
  • Dvakrát tabulátor – zobrazí návrhy na doplnění příkazu, jestliže je možných doplnění více.
  • Cmd + K – Smaže veškerý výpis v okně Terminalu.
  • Ctrl + C – Smaže text v řádku pro zadávání příkazu.
  • Ctrl + A – V řádku pro zadávání příkazu přesune kurzor na začátek řádku. To se hodí, když chcete pozměnit začátek dlouhého příkazu.
  • Ctrl + E – V řádku pro zadávání příkazu přesune kurzor na konec řádku.

Závěr

Nakonec lze shrnout, že ruční řešení a placený balík MAMP Pro poskytují nejširší možnosti konfigurace. Rozhodujícím faktorem tedy bude to, jestli jste ochotni zaplatit si za komfort nastavování přes jednodušší rozhraní balíku MAMP Pro, anebo se raději vydáte do dobrodružnějšího ručního nastavování, popřípadě, zda vás neodradí omezení, jenž jsme zmínili u balíku AMPPS.

než ale začneme s programováním, tak musíme ještě zvolit vývojové prostředí nebo textový editor, ve kterém budeme programový kód psát. Touto volbou se zabývá tento článek z Pélionu, který nejen co do přístupnosti srovnává nejpoužívanější vývojová prostředí a textové editory dostupné pro systém macOS, které se dají použít pro psaní kódu nejen v jazyku PHP, ale také v jazyku JavaScript, HTML, CSS, nebo i Java či C/C++ a dalších.

 



AppleMacmacOS/OS XNástrojePHPProgramováníVoiceOverWeb


Adam Samec
Jako nevidomý se zajímám o asistivní technologie pro zrakově postižené. Pracuji jako lektor a tester přístupnosti v Tyflokabinetu Praha. Mým hlavním zaměstnáním je však pozice programátora, konzultanta a testera přístupnosti v Microsoftu. V článcích se zaměřuji především na produkty značky...