PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton



Podobné dokumenty
Stručný obsah. Část I Úvod. Část II Komponenty

Úřad vlády České republiky Odbor pro sociální začleňování (Agentura)

Maturitní otázka - optimalizace webových stránek

Základní informace o Integrovaném informačním portálu MPSV (IIP)

Ing. Jiří Fůsek. Základní informace. Pracovní zkušenosti. Vzdělání. 09/ nyní Freelancer. 09/ /2010 Univerzita Tomáše Bati ve Zlíně

téma: Formuláře v MS Access

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Informační systém pro rezervaci pokojů hotelu SPORT

Operace nad celými tabulkami

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

Marketing. Modul 7 Internetový marketing

Objektově orientované databáze

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

M. Balíková, R. Záhořík, NK ČR 1

Přednáška Tablety a chytré telefony. Ing. Michaela Mudrochová Algoritmus individuálního vzdělávání CZ.1.07/3.1.00/

Rozšířená nastavení. Kapitola 4

VÝBĚR DOČASNÝCH ZAMĚSTNANCŮ PRO GENERÁLNÍ ŘEDITELSTVÍ PRO LIDSKÉ ZDROJE A BEZPEČNOST

UŽIVATELSKÁ PŘÍRUČKA PRO WEBOVOU KAMERU HP WEBCAM HD

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Těhotenský test pro zrakově postižené Tereza Hyková

Vyplňte API klíč, který si vygenerujete v Nastavení obchodu v profilu Uloženky v části Nastavit klíč pro API.

Databáze RÚIAN a možnosti jejího využití pro geografickou podporu AČR

Dokumentaci k semestrální úloze z předmětu Internet a WWW (X36WWW)

Kopírovací stroj D 2350

Systém elektronického zpracování údajů o výzkumných projektech a jejich hodnocení v GA AV

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

Modul informačního systému SPŠSE Liberec

DOTWALKER NAVIGACE PRO NEVIDOMÉ A SLABOZRAKÉ

Tvorba webových stránek

Domov Pod Lipami Smečno, poskytovatel sociálních služeb. Pravidla. pro poskytování sociální služby Denní stacionář pro seniory

Česká školní inspekce Středočeský inspektorát INSPEKČNÍ ZPRÁVA. Č. j. ČŠIS-2460/10-S. Želivského 805, Kolín IV

XML a nové trendy v publikování na Webu

Revize dokumentu B 1/11 TEACHER. Přidávání zvukových záznamů. Návody k programu Teacher, platí od verze 1.

Technologie VoIP. Od historie po současnost

Environmentální prohlášení o produktu (Environmental Product Declaration) STAVEBNÍ VÝROBKY

Outlook manuál. BeeOnline. Rychlý kontakt:

Pardubický kraj Komenského náměstí 125, Pardubice SPŠE a VOŠ Pardubice-rekonstrukce elektroinstalace a pomocných slaboproudých sítí

ZPRÁVA O PRŮBĚHU ŘEŠENÍ PROJEKTU

Otevřený plamen Olejová lázeň Pece Indukční ohřívací zařízení SKF

Návod k obsluze CC&C WA-6212-V2

Bezdrátové připojení (pouze u vybraných modelů) Uživatelská příručka

Veřejná zakázka zadávaná v otevřeném zadávacím řízení s názvem: Dodávka multifunkčních zařízení, včetně tiskového systému

Tisíce uživatelů v bance pracují lépe díky využití okamžitých informací o stavu kritických systémů

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

2008 Nokia. Všechna práva vyhrazena. Nokia, Nokia Connecting People a Nseries jsou ochranné známky nebo registrované ochranné známky společnosti

Absolventské práce 9. ročníku pravidla pro tvorbu, průběh obhajob, kritéria hodnocení

KOMISE EVROPSKÝCH SPOLEČENSTVÍ

účetních informací státu při přenosu účetního záznamu,

VY_32_INOVACE_OV_1AT_01_BP_NA_ELEKTRO_PRACOVISTI. Střední odborná škola a Střední odborné učiliště, Dubno

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

TELEKOMUNIKAČNÍ VYSÍLAČ S ROZHLEDNOU A METEOROLOGICKOU STANICÍ

> STROPNÍ SYSTÉM RECTOBETON PREZENTACE

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

Zodpovědné podniky Dotazník pro zvýšení informovanosti

Marian Böhmer. Zend Framework. Programujeme webové aplikace v PHP

Server. Software serveru. Služby serveru

Domov pro seniory sv. Pavla, Kozlerova 791/II. Rokycany

Jízdní řády ČD v mobilním telefonu

Co by měl umět dobrý vývojář. Petr Adámek Home Credit International a.s.

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional

Za ízení TouchPad aklávesnice

ROZCVIČKY. (v nižší verzi může být posunuta grafika a špatně funkční některé odkazy).

Manuál Kentico CMSDesk pro KDU-ČSL

Pokladní systém pro Tablety a zařízení s OS Android. Analytická dokumentace

M Ě S T O K A D A Ň Odbor sociálních věcí a zdravotnictví Mírové nám. 1, Kadaň; pracoviště Jana Roháče 1381

MAGIS ve strojírenské firmě Strojírna Vehovský s.r.o.

Šicí stroje NX-400 NX-200

Odůvodnění veřejné zakázky dle 156 zákona. Odůvodnění účelnosti veřejné zakázky dle 156 odst. 1 písm. a) zákona; 2 Vyhlášky 232/2012 Sb.

ORGANIZAČNÍ ŘÁD ŠKOLNÍ VÝLETY

Česká školní inspekce Středočeský inspektorát INSPEKČNÍ ZPRÁVA. Čj.: ČŠIS-128/11-S. Mateřská škola Červený Újezd, okres Praha-západ

Záloha a obnovení Uživatelská příručka

Popis realizace sociální služby

Katalog vzdělávání 2015

Praktické úlohy- zaměření specializace

METODICKÝ POKYN NÁRODNÍHO ORGÁNU

Vnitřní pravidla stanovená poskytovatelem pro poskytování služby denní stacionáře

CL232. Převodník RS232 na proudovou smyčku. S galvanickým oddělením, vysokou komunikační rychlostí a se zvýšenou odolností proti rušení

MV ČR, Odbor egovernmentu. Webové stránky veřejné správy - minimalizace jejich zranitelnosti a podpora bezpečnostních prvků

Seminář Označení CE vám otevře evropský trh! Vnímání označení CE ze strany Hospodářské komory ČR. František Holec viceprezident

VZDĚLÁVÁNÍ A OSOBNOST KNIHOVNÍKA

2N NetSpeaker. IP Audio Systém. Manuál 1.4

Statutární město Most Radniční 1 Most. Úsvit. Projekt partnerské spolupráce při zlepšování situace v sídlišti Chanov

Popis úlohy. Číslo. cs24601

170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010

EVIDENCE. Ing. Milan Kouřil. DAPHNE ČR Institut aplikované ekologie

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

Řízení kalibrací provozních měřicích přístrojů

Online manuál pro řadu AR-M230/M270 Tisková sít'ová řešení

Nástroje produktivity

Výstup. Registrační číslo projektu CZ.01.07/1.1.01/ PaedDr. Vladimír Hůlka, PaedDr. Zdenka Kınigsmarková

Zátěžové testování SW aplikací. Miroslav Růžovský Softec CZ, spol. s.r.o.

Služby Knihovny AV ČR v oblasti zveřejnění vědeckých publikací (nejen) pro ústavy AV ČR

Základní škola a Mateřská škola Bílovec, Komenského 701/3, příspěvková organizace. Dopravní výchova

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

METODY A PROST EDKY PRO SNÍŽENÍ NÁKLAD A ZVÝŠENÍ VÝKONU

Metodika testování navazujících evidencí

Jednoduchý pomocník pro aplikaci Elektronická příloha č. 2 EP2W EP2 Workspace

Transkript:

PHP Best Practices Please try to fit your code to 80 columns. That's decimal 80. A. Morton

Koncepce větších aplikací Front Controller Design Pattern Celý web má jeden přístupový bod, přes který se posílají všechny požadavky z klienta (např. index.php). Přístupový skript se nazývá bootstrap. Bootstrap zjistí typ požadavku, provede jeho routing a dispatching. Routing vyhledání vhodné stránky, třídy, nebo jiné entity, která umí požadavek obsloužit. Routing se provádí z parametrů zaslaných z klienta. Dispatching zavolání požadované metody na získané entitě. Požadavek na zobrazení (GET) Akce k provedení (POST) Výhody použití: Bezpečnější Méně náchylné k chybám programátora verze 1.1 2008-2009, Martin Kruliš 2

Zobrazování stránek. Model-View-Control Návrhový vzor, který se používá pro správu jednotlivých stránek. View (pohled) Entita, která se stará o sestavení stránky. Čte data z modelu a prezentuje je do HTML. Model Zdroj dat (např. z databáze) Poskytuje jednoduchý interface šitý na míru dané stránce. Controller Řídí činnost modelu a pohledu Obsluhuje požadavky verze 1.1 2008-2009, Martin Kruliš 3

Šablony Snaha maximální separace HTML (CSS, JS, ) od PHP Vhodné zejména u velkých webů Snazší správa, lepší dělba práce, PHP kód pouze vykonává příkazy HTML je generováno pomocí šablon Šablony V PHP (prokládané HTML) Šablona obsahuje PHP pouze pro vkládání dat (podmínky, iterace, ) Vkládají se pomocí include()/require() Šablony v textových souborech Šablona je HTML soubor se speciálními značkami. {{značka}}, <%značka%> apod. PHP soubor přečte a pomocí funkcí pro práci s řetězci nahradí značky za platné hodnoty. verze 1.1 2008-2009, Martin Kruliš 4

Databáze Ručně psané SQL dotazy nejsou příliš pohodlné. Špatně se řeší cachování, skládání dotazů, opakování kódu, problémy při změně struktury DB, Table Data Gateway Design Pattern Jeden objekt (třída) zapouzdřuje přístup k jedné tabulce. Objekt zná položky tabulky a jejich datové typy. Row Data Gateway Design Pattern Jeden objekt (třída) zapouzdřuje přístup k jednomu řádku z tabulky. Spolupracuje s table data gateway. Vazby mezi tabulkami jsou uložené v gateways. Automatické generovaní JOIN dotazů. verze 1.1 2008-2009, Martin Kruliš 5

PHP a roboti (crawlers) Roboti prohledávají celý web (i vaše stránky). Pozor: stránky získané metodou GET by neměly dělat side-efekty. Cokoli jste na stránky umístili vidí celý svět. Pozor, aby se crawler nedostal na citlivý obsah. Chování "hodných" robotů se dá nastavit souborem robots.txt v kořenovém adresáři. Viz http://www.robotstxt.org/ SEO Search Engine Optimalization URL má velkou prioritu důležitý text by měl být v odkazech. Používejte meta tagy description, keywords Piště kvalitní obsah, používejte korektně tagy (<h1>, <em> ). verze 1.1 2008-2009, Martin Kruliš 6

Zend Framework

Frameworks Framework je sada knihovních skriptů, které mají usnadnit vývoj aplikací (v našem případě webových). V PHP mají různé vestavěné knihovny často různá rozhraní. Způsobeno postupným vývojem a zpětnou kompatibilitou. Frameworky se snaží nabídnout jednotné API. Většina frameworků je objektových. Framework přidává další funkcionalitu. Lepší přenositelnost (mezi servery, databázemi ) Implementace webových návrhových vzorů Předpřipravené komponenty, které se často používají verze 1.1 2008-2009, Martin Kruliš 8

Zend framework slovo úvodem Společnost Zend Společnost založil Zeev Suraski a Andi Gutmans. Od verze PHP4 je zodpovědná za vývoj jádra PHP. Zend Framework Open source framework, jehož vývoj byl iniciován firmou Zend. Dnes spolupracují také Adobe, Google, Mirosoft a další. Publikován pod New BSD License. V současné době byla uvolněna verze 1.7.8. Během předloňské přednášky byla k dispozici teprve 0.9 beta. Spolupráce s ním je integrována do Zend Studia. Viz http://zendframework.com/ verze 1.1 2008-2009, Martin Kruliš 9

Zend framework - základy Front Controller a Model-View-Control Zend framework je založen na těchto návrhových vzorech. Routovací informace bere z URL (ve vlastním formátu). Automaticky vyhledává soubory (kontroléry a šablony). Viz třída Zend_Controller Šablony Používá šablony s prokládaným PHP. Součástí Model-View-Control vzoru viz třída Zend_View. Databáze Objektový adaptér zapouzdřující připojení k databázi. Zapouzdření dotazů Zend_Db_Select. Nabízí i Table Data Gateway a Row Data Gateway. verze 1.1 2008-2009, Martin Kruliš 10

Zend framework další funkce Zběžný přehled výběru tříd Zend_Acl access control list pro autorizaci uživatelů Zend_Auth autentizace uživatelů Zend_Cache vyrovnávací paměť Zend_Config načítání konfiguračních souborů Zend_Feed práce s RSS Zend_Json generování Json objektů od JavaScriptu (pro AJAX) Zend_Log logování všeho druhu Zend_Mail odesílání pošty a sestavování mailů Zend_Search_Lucene obecný vyhledávací engine Zend_Service webové služby Zend_Session Zend_Translate překládání, správa jazykových verzí verze 1.1 2008-2009, Martin Kruliš 11

Zend framework - shrnutí Výhody: Jednotné rozhraní Usnadňuje práci Podpora (vývojové nástroje, komunita ) Open source Nevýhody: Místy až příliš robustní Je třeba vytvářet mnoho objektů, aby se zobrazila jednoduchá stránka. Občas poměrně striktní Chcete-li speciální funkcionalitu, musíte si ji stejně napsat sami. Integrovat vaše funkce do již hotových řešení dá občas práci. verze 1.1 2008-2009, Martin Kruliš 12