načítání...
nákupní košík
Košík

je prázdný
a
b

E-kniha: Mistrovství - PHP a MySQL - Luke Welling; Laura Thomson

Mistrovství - PHP a MySQL

Elektronická kniha: Mistrovství - PHP a MySQL
Autor: ;

Naučte se vytvářet interaktivní webové aplikace od těch nejjednodušších formulářů až po komplexní projekty. V Mistrovství najdete vše o PHP a MySQL, co k tvorbě webových ... (celý popis)
Titul je skladem - ke stažení ihned
Médium: e-kniha
Vaše cena s DPH:  649
+
-
21,6
bo za nákup

ukázka z knihy ukázka

Titul je dostupný ve formě:
elektronická forma tištěná forma

hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%   celkové hodnocení
0 hodnocení + 0 recenzí

Specifikace
Nakladatelství: » Computer press
Dostupné formáty
ke stažení:
PDF
Upozornění: většina e-knih je zabezpečena proti tisku
Médium: e-book
Počet stran: 799
Rozměr: 23 cm
Úprava: tran
Vydání: 1. vydání
Spolupracovali: překlad: Ondřej Baše
Jazyk: česky
ADOBE DRM: bez
ISBN: 978-80-251-4892-1
Ukázka: » zobrazit ukázku
Popis

Naučte se vytvářet interaktivní webové aplikace od těch nejjednodušších formulářů až po komplexní projekty. V Mistrovství najdete vše o PHP a MySQL, co k tvorbě webových aplikací potřebujete, na jednom místě. Dvojice autorů s bohatými zkušenostmi v oblasti tvorby webových aplikací vás postupně seznámí s PHP, MySQL a možnostmi jejich propojení při vývoji. Naučíte se správně nastavit prostředí, vytvářet jednoduché dynamické stránky a postupně přidávat další a další funkce až po propracované webové aplikace. V závěru knihy si vyzkoušíte vytvořit vlastního webového e-mailového klienta. Publikace se mimo jiných věnuje následujícím tématům: - Ukládání a načítání dat - Správa webové databáze - Práce se systémem souborů - Generování obrázků - Internacionalizace a lokalizace - Správa relací v PHP, zabezpečení webové aplikace - Ladění, logování, zpracování chyb a výjimek - Autentizace a personalizace uživatelů O autorech: Laura Thomson je technickou ředitelkou ve společnosti Mozilla Corporation. V minulosti bývala ředitelkou ve společnostech OmniTI a Tangled Web Design a pracovala pro univerzitu RMIT University a společnost Boston Consulting Group. Luke Welling pracuje jako softwarový analytik. Pravidelně přednáší o tématech otevřeného zdrojového kódu a webového vývoje na konferencích, jako jsou například OSCON, ZendCon, MySQLUC, PHPCon, OSDC a LinuxTag. Pracoval také ve společnostech OmniTI, Hitwise.com, MySQL AB a jako nezávislý konzultant ve společnosti Tangled Web Design.

Předmětná hesla
Zařazeno v kategoriích
Luke Welling; Laura Thomson - další tituly autora:
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky

Mistrovství

PHP a MySQL

Vyšlo také v tištěné verzi

Objednat můžete na

www. computerpress.cz

www.albatrosmedia.cz

Luke Welling a Laura Thomson

Mistrovství PHP a MySQL – e-kniha

Copyright © Albatros Media a. s., 2017

Všechna práva vyhrazena.

Žádná část této publikace nesmí být rozšiřována

bez písemného souhlasu majitelů práv.


Luke Welling

Laura Thomson

Mistrovství

PHP a MySQL

Computer Press

Brno

2017


Mistrovství

PHP a MySQL

Luke Welling, Laura Thomson

Překlad: Ondřej Baše

Obálka: IMIDEA

Odpovědný redaktor: Martin Herodek

Technický redaktor: Jiří Matoušek

Authorized translation from the English language edition, entitled PHP AND MYSQL WEB

DEVELOPMENT, 5th Edition by LUKE WELLING; LAURA THOMSON,

published by Pearson Education, Inc, publishing as Addison-Wesley Professional, Copyright © 2017

by Pearson Education, Inc.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any

means, electronic or mechanical, including photocopying, recording or by any information storage

retrieval system, without permission from Pearson Education, Inc.

CZECH language edition published by Computer Press, an imprint of ALBATROS MEDIA A.S,

Copyright © 2017

Translation © Ondřej Baše, 2017

Objednávky knih:

www.albatrosmedia.cz

eshop@albatrosmedia.cz

bezplatná linka 800 555 513

ISBN tištěné verze 978-80-251-4892-1

ISBN e-knihy 978-80-251-4901-0 (1. zveřejnění, 2017)

Cena uvedená výrobcem představuje nezávaznou doporučenou spotřebitelskou cenu.

Vydalo nakladatelství Computer Press v Brně roku 2017 ve společnosti Albatros Media a. s. se sídlem

Na Pankráci 30, Praha 4. Číslo publikace 31 420.

© Albatros Media a. s., 2017. Všechna práva vyhrazena. Žádná část této publikace nesmí být

kopírována a rozmnožována za účelem rozšiřování v jakékoli formě či jakýmkoli způsobem

bez písemného souhlasu vydavatele.

1. vydání


Stručný obsah

Autoři 25

Přispěvatelé 27

Úvod 29 1. Rychlokurz jazyka PHP 39 2. Ukládání a načítání dat 81 3. Pole 103 4. Textové řetězce a regulární výrazy 129 5. Opětovné používání kódu a psaní funkcí 159 6. Objektově orientovaný jazyk PHP 187 7. Zpracování chyb a výjimek 225 8. Navrhujeme webovou databázi 235 9. Vytváříme webovou databázi 247 10. Práce s databází MySQL 273 11. Přistupujeme do databáze z webu s jazykem PHP 295 12. Pokročilá správa systému MySQL 315 13. Pokročilé programování se systémem MySQL 339 14. Bezpečnostní rizika webové aplikace 355 15. Budování bezpečné webové aplikace 365 16. Implementace autentizačních metod v jazyce PHP 389 17. Práce se systémem souborů a serverem 403 18. Síťové a protokolové funkce 427 19. Správa data a času 447 20. Internacionalizace a lokalizace 463 21. Generování obrázků 475 22. Řízení relací v jazyce PHP 501 23. Spojení jazyků JavaScript a PHP 517 24. Další užitečné funkce 543 25. Používáme jazyk PHP a systém MySQL ve velkých projektech 553 26. Ladění a logování 569 27. Autentizace a personalizace uživatelů 587 28. Vývoj webového e-mailového klienta s frameworkem Laravel, první část 625 29. Vývoj webového e-mailového klienta s frameworkem Laravel, druhá část 647 30. Sdílení a přihlašování pomocí sociálních sítí 699 31. Vývoj nákupního košíku 715 32. Instalace Apache, PHP a MySQL 759

Rejstřík 775

Obsah

Autoři 25

Přispěvatelé 27

Úvod 29

Proč byste si měli přečíst tuto knihu? 29

Co se naučíte v této knize? 29

Co je PHP? 30

Co je MySQL? 31

Proč používat PHP a MySQL? 31

Několik předností jazyka PHP 32

Výkon 32

Škálovatelnost 32

Integrace s databází 33

Vestavěné knihovny 33

Cena 33

Snadnost učení jazyka PHP 33

Podpora objektově orientovaného programování 33

Přenositelnost 33

Flexibilita vývojového přístupu 34

Zdrojový kód 34

Dostupnost podpory a dokumentace 34 Klíčové funkce jazyka PHP 7 34 Několik předností systému MySQL 35

Výkon 35

Nízká cena 35

Snadnost použití 35

Přenositelnost 35

Zdrojový kód 36

Dostupnost podpory 36 Co je nového v MySQL 5.x? 36 Jak je uspořádaná tato kniha? 37 Závěrem 38 Zpětná vazba od čtenářů 38 Zdrojové kódy ke knize 38 Errata 38 Obsah

Kapitola 1

Rychlokurz jazyka PHP 39

Než začnete – nainstalovaný jazyk PHP 40

Tvorba ukázkové aplikace – Bobovy autodíly 40

Tvorba objednávkového formuláře 40

Zpracování formuláře 42 Vkládání kódu PHP do dokumentu HTML 42 Značky jazyka PHP 43 Příkazy jazyka PHP 44 Bílé znaky 44 Komentáře 45 Přidání dynamického obsahu 46

Volání funkce 47

Funkce date() 47 Přístup k proměnným formuláře 47

Proměnné formuláře 48

Řetězení textových řetězců 50

Proměnné a literály 50 Identifikátory 51 Typy proměnných 52

Datové typy jazyka PHP 52

Síla typování 52

Přetypování 53 Definujeme a používáme konstanty 54 Oblast platnosti proměnných 54 Operátory 55

Aritmetické operátory 56

Operátory řetězení 57

Operátor přiřazení 57

Hodnoty vrácené přiřazením 57

Kombinované operátory přiřazení 58

Operátory inkrementace a dekrementace 58

Operátor reference 59

Porovnávací operátory 59

Operátor rovnosti 59

Další porovnávací operátory 60

Logické operátory 60

Bitové operátory 61

Další operátory 62

Ternární operátor 62

Operátor potlačení chyby 62

Operátor spuštění 62

Operátory pro práci s poli 63

Typový operátor 63Obsah Výpočet součtů formuláře 64 Pochopení priorit a asociací 65 Funkce pro zpracování proměnných 66

Testování a nastavení typů proměnných 67

Testování stavu proměnné 68

Reinterpretace proměnných 69 Rozhodování podle podmínek 69

Příkaz if 69

Bloky kódu 70

Příkaz else 70

Příkaz elseif 71

Příkaz switch 72

Srovnání různých podmíněných příkazů 73 Opakujeme akce v iteracích 74

Cyklus while 75

Cykly for a foreach 77

Cyklus do...while 78 Jak ukončit řídicí strukturu nebo skript 78 Alternativní syntaxe řídicích struktur 79 Řídicí struktura declare 79 Co bude dál? 79

Kapitola 2

Ukládání a načítání dat 81

Ukládání dat 81

Ukládání a načítání Bobových objednávek 82

Zpracování souborů 82

Otevírání souboru 83

Výběr režimu souboru 83

Otevírání souboru funkcí fopen() 83

Otevírání souborů přes FTP nebo HTTP 86

Řešení problémů s otevíráním souborů 86 Zapisování do souboru 88

Parametry funkce fwrite() 89

Formáty souborů 89 Zavírání souboru 90 Čtení ze souboru 92

Otevření souboru pro čtení – fopen() 93

Příznak zastavení – feof() 94

Čtení po řádcích – fgets(), fgetss() a fgetcsv() 94

Čtení celého souboru – readfile(), fpassthru(), file() a file_get_contents() 95

Čtení znaku – fgetc() 96

Čtení libovolně dlouhých dat – fread() 96 Obsah Další souborové funkce 97

Ověření existence souboru – file_exists() 97

Určení velikosti souboru – filesize() 97

Smazání souboru – unlink() 97

Navigování v souboru – rewind(), fseek() a ftell() 97 Zamykání souborů 98 Lepší řešení – databáze 100

Problémy textových souborů 100

Jak databázové systémy řeší tyto problémy 101 Další zdroje 101 Co bude dál 101

Kapitola 3

Pole 103

Co je pole? 103

Číselně indexovaná pole 104

Inicializace číselně indexovaného pole 104

Přístup k obsahu pole 105

Přístup k prvkům pole v cyklu 106 Pole s jinými klíči 107

Inicializace pole 107

Přístup k prvkům pole 107

Používáme cykly 107 Operátory pro práci s poli 109 Vícerozměrná pole 110 Řazení polí 113

Funkce sort() 113

Funkce asort() a ksort() 114

Řadíme obráceně 114 Řazení vícerozměrných polí 115

Funkce array_multisort() 115

Uživatelsky definované řazení 116

Obrácené uživatelské řazení 117 Přeuspořádání polí 118

Funkce shuffle() 118

Převracíme pole 119 Načítání polí ze souborů 120 Další manipulace s poli 124

Navigace v poli – each(), current(), reset(), end(), next(), pos() a prev() 124

Aplikování funkce na jednotlivé prvky pole – array_walk() 125

Počítání prvků v poli – count(), sizeof() a array_count_values() 126

Převod polí na skalární proměnné – extract() 126 Další zdroje 128 Co bude dál 128Obsah

Kapitola 4

Textové řetězce a regulární výrazy 129

Vytváříme ukázkovou aplikaci – chytrý formulář zpětné vazby 129

Formátování textových řetězců 132

Ořezávání textových řetězců – chop(), ltrim() a rtrim() 132

Formátování textových řetězců pro výstup 132

Filtrování textových řetězců pro výstup 132

Filtrování textových řetězců pro výstup do webového prohlížeče funkcí htmlspecialchars() 133

Filtrování textových řetězců pro jiné formy výstupu 134

Formátování jazyka HTML – funkce nl2br() 135

Formátování textového řetězce pro tisk 136

Změna velikosti písmen 139 Spojování a rozdělování textových řetězců 140

Funkce explode(), implode() a join() 140

Funkce strtok() 141

Funkce substr() 141 Porovnávání textových řetězců 142

Uspořádání textových řetězců – strcmp(), strcasecmp() a strnatcmp() 142

Zjišťujeme délku textového řetězce funkcí strlen() 143 Vyhledávání a nahrazování podřetězců 143

Vyhledávání textových řetězců v textových řetězcích – strstr(), strchr(), strrchr()

a stristr() 144

Vyhledávání pozice podřetězce – funkce strpos() a strrpos() 145

Nahrazování podřetězců – funkce str_replace() a substr_replace() 146 Představení regulárních výrazů 147

Základy 147

Oddělovače 148

Třídy a typy znaků 148

Opakování 150

Podvýrazy 150

Počítané podvýrazy 150

Odkazy na začátek a konec textového řetězce 150

Větvení 151

Hledání speciálních znaků doslovně 151

Shrnutí meta znaků 152

Escapovací sekvence 152

Zpětné reference 153

Tvrzení 154

Vše smícháme dohromady ve formuláři zpětné vazby 154 Vyhledávání podřetězců regulárními výrazy 156 Nahrazování podřetězců regulárními výrazy 157 Rozdělování textových řetězců regulárními výrazy 157 Další zdroje 158 Co bude dál 158 Obsah

Kapitola 5

Opětovné používání kódu a psaní funkcí 159

Výhody opětovného používání kódu 159

Cena 159

Spolehlivost 160

Konzistence 160 Funkce require() a include() 160

Vkládání kódu funkcí require() 161

Funkce require() pro šablony webových stránek 163

Konfigurační možnosti auto_prepend_file a auto_append_file 167 Funkce v jazyce PHP 168

Volání funkcí 168

Volání nedefinované funkce 170

Velikost písmen v názvech funkcí 171 Definujeme vlastní funkce 171 Základní struktura funkce 172

Pojmenování funkcí 173 Parametry funkce 174 Oblast platnosti 176 Předávání parametrů odkazem versus hodnotou 179 Klíčové slovo return 180

Vracení hodnot z funkcí 181 Implementujeme rekurzi 182 Anonymní funkce (uzávěry) 183 Další zdroje 185 Co bude dál 185

Kapitola 6

Objektově orientovaný jazyk PHP 187

Koncepce objektově orientovaného programování 187

Třídy a objekty 187

Polymorfismus 189

Dědičnost 189 Tvorba tříd, vlastností a metod v jazyce PHP 190

Struktura třídy 190

Konstruktory 190

Destruktory 191 Vytváření instancí tříd 191 Vlastnosti třídy 192 Volání metod 192 Řízení přístupu modifikátory private a public 193 Magické metody __get() a __set() 194Obsah Implementace dědičnosti v jazyce PHP 195

Řízení viditelnosti modifikátory private a protected 196

Přepisování 197

Zabraňujeme dědění a přepisování klíčovým slovem final 199

Vícenásobná dědičnost 200

Rozhraní 200 Traits 201 Navrhujeme třídy 203 Píšeme kód pro naši třídu 204 Pokročilé objektově orientované koncepce 211

Konstanty tříd 211

Statické metody 211

Ověřování typu objektu a typování 212

Pozdní statické vazby 212

Klonujeme objekty 213

Abstraktní třídy 214

Přetěžování metod metodou __call() 214

Funkce __autoload() 215

Implementace iterátorů a iterací 215

Generátory 217

Převod tříd na textové řetězce 219

Rozhraní Reflection API 219

Jmenné prostory 220

Dceřiné jmenné prostory 222

Globální jmenný prostor 222

Import a tvorba aliasů jmenných prostorů 223 Co bude dál 223

Kapitola 7

Zpracování chyb a výjimek 225

Koncepce zpracování výjimek 225

Třída Exception 227

Uživatelsky definované výjimky 228

Výjimky na Bobových stránkách 230

Výjimky a další mechanismy zpracování chyb v jazyce PHP 233

Další zdroje 233

Co bude dál 233

Kapitola 8

Navrhujeme webovou databázi 235

Koncepce relačních databází 236

Tabulky 236

Sloupce 236

Řádky 237 Obsah

Hodnoty 237

Klíče 237

Schémata 238

Vztahy 239 Navrhování webové databáze 239

Představujte si skutečné objekty, které se snažíte modelovat 239

Neukládejte redundantní data 241

Používejte atomické hodnoty sloupců 242

Vybírejte smysluplné klíče 243

Přemýšlejte, na co se chcete dotazovat databáze 243

Vyhýbejte se návrhům s mnoha prázdnými sloupci 243

Přehled typů tabulek 244 Architektura webové databáze 244 Další zdroje 246 Co bude dál 246

Kapitola 9

Vytváříme webovou databázi 247

MySQL monitor 248

Přihlášení k serveru MySQL 249

Vytváříme databázi 250

Nastavujeme uživatelské účty a oprávnění 251

Systém oprávnění MySQL 251

Princip minimálních oprávnění 251

Založení uživatelského účtu – příkazy CREATE USER a GRANT 252

Typy a úrovně oprávnění 254

Příkaz REVOKE 257

Příklady s příkazy GRANT a REVOKE 257 Vytvoření uživatelského účtu pro web 258 Vybíráme správnou databázi 259 Tvorba databázových tabulek 259

Co znamenají další klíčová slova 261

Typy sloupců 262

Průzkum databáze s příkazy SHOW a DESCRIBE 264

Tvorba indexů 265 Identifikátory systému MySQL 265 Vybíráme datové typy sloupců 267

Číselné typy 268

Typy pro datum a čas 269

Textové typy 270 Další zdroje 272 Co bude dál 272Obsah

Kapitola 10

Práce s databází MySQL 273

Co je jazyk SQL 273

Vkládání dat do databáze 274

Načítání dat z databáze 276

Načítání dat splňujících určitá kritéria 277

Načítání dat z více tabulek 279

Jednoduchá spojení dvou tabulek 280

Spojování více než dvou tabulek 281

Hledání řádků, které neodpovídají kritériím 282

Používání jiných názvů pro tabulky – aliasy 283

Shrnutí spojení 284

Načítání dat v určitém pořadí 284

Seskupování a agregování dat 285

Vybíráme řádky, které chceme vrátit 287

Poddotazy 288

Základní poddotazy 288

Poddotazy a operátory 289

Související poddotazy 289

Řádkové poddotazy 290

Poddotaz jako dočasná tabulka 290 Aktualizujeme záznamy v databázi 290 Změna tabulek po vytvoření 291 Mažeme záznamy z databáze 293 Mazání tabulek 294 Odstranění celé databáze 294 Další zdroje 294 Co bude dál 294

Kapitola 11

Přistupujeme do databáze z webu s jazykem PHP 295

Jak funguje architektura webové databáze 295

Dotazování databáze z webu 299

Ověřování a filtrování vstupních dat 299

Připojování 300

Výběr databáze 301

Dotazování databáze 302

Nedělejte to 302

Připravené příkazy 303

Načítání výsledků dotazu 304

Odpojení od databáze 305 Vkládání nových dat do databáze 306 Obsah Další databázová rozhraní jazyka PHP 310

Obecné databázové rozhraní PDO 310 Další zdroje 313 Co bude dál 313

Kapitola 12

Pokročilá správa systému MySQL 315

Pochopení systému oprávnění detailněji 315

Tabulka user 317

Tabulka db 319

Tabulky tables_priv, columns_priv, procs_priv a proxies_priv 320

Řízení přístupu – jak systém MySQL používá grant tabulky 321

Aktualizace oprávnění – kdy se změny projeví? 322 Zabezpečení databáze MySQL 322

Systém MySQL v operačním systému 322

Hesla 323

Oprávnění uživatelů 323

Webové problémy 324 Získávání informací o databázích 324

Získávání informací příkazem SHOW 325

Získávání informací o sloupcích příkazem DESCRIBE 327

Jak prozkoumat dotazy příkazem EXPLAIN 327 Optimalizace databáze 332

Optimalizace návrhu 332

Oprávnění 332

Optimalizace tabulek 332

Indexy 333

Výchozí hodnoty 333

Další tipy 333 Zálohování databáze MySQL 333 Obnova databáze MySQL 334 Implementace replikace 334

Nastavení master serveru 335

Provedení úvodního přenosu dat 336

Nastavení slave serverů 336 Další zdroje 337 Co bude dál 337

Kapitola 13

Pokročilé programování se systémem MySQL 339

Příkaz LOAD DATA INFILE 339

Databázová úložiště 339

Transakce 341

Transakce v databázovém úložišti InnoDB 342Obsah Cizí klíče 343 Uložené procedury 344

Základní příklad 344

Lokální proměnné 347

Kurzory a řídicí struktury 348 Triggery 352 Další zdroje 354 Co bude dál 354

Kapitola 14

Bezpečnostní rizika webové aplikace 355

Identifikace hrozeb, kterým čelíme 355

Přístup k citlivým datům 355

Snížení rizika 356

Úprava dat 358

Únik nebo ztráta dat 358

Snížení rizika 359

Denial of Service 359

Snížení rizika 360

Injekce zákeřného kódu 361

Snížení rizika 362

Kompromitovaný server 362

Snížení rizika 362

Odmítnutí 362

Snížení rizika 362 Kdo stojí proti nám 363

Útočníci a hackeři 363

Uživatelé, kteří nemají ponětí, že je jejich počítač infikovaný 363

Nespokojení zaměstnanci 364

Zloději hardwaru 364

My sami 364 Další zdroje 364 Co bude dál 364

Kapitola 15

Budování bezpečné webové aplikace 365

Strategie pro zacházení s bezpečností 365

Začněte správným myšlením 365

Vyvažování bezpečnosti a použitelnosti 366

Sledování bezpečnosti 366

Základní přístup 367 Zabezpečení zdrojového kódu 367

Filtrování vstupu uživatele 367

Dvakrát kontrolujte očekávané hodnoty 368

Filtrujte i základní hodnoty 370 Obsah

Zabezpečení textových řetězců pro dotazy SQL 371

Escapování výstupu 372

Uspořádání zdrojového kódu 374

Co patří do zdrojového kódu 375

Úvahy nad systémem souborů 376

Stabilita a chyby kódu 376

Spouštíme příkazy 377 Zabezpečení webového serveru s jazykem PHP 378

Aktualizujte software 378

Instalace nových verzí 378

Nasazení nové verze 379

Prohlížení souboru php.ini 379

Konfigurace webového serveru 380

Apache http Server 380

Sdílený hosting pro webové aplikace 381 Bezpečnost databázového serveru 382

Uživatelé a systém oprávnění 382

Odesílání dat na server 383

Připojování k serveru 383

Spouštění serveru 383 Ochrana sítě 384

Brány firewall 384

DMZ 384

Připravujeme se na útoky DoS a DDoS 385 Zabezpečení počítače a operačního systému 386

Pravidelné aktualizace operačního systému 386

Spouštějte jen nezbytné programy 386

Fyzické zabezpečení serveru 387 Krizové plánování 387 Co bude dál 388

Kapitola 16

Implementace autentizačních metod v jazyce PHP 389

Identifikace návštěvníků 389

Implementace řízení přístupu 390

Ukládáme hesla 393

Zabezpečení hesel 393

Zabezpečení více stránek 395 Základní autentizace 396 Základní autentizace v jazyce PHP 396 Základní autentizace serveru Apache pomocí souborů .htaccess 398 Tvorba vaší vlastní autentizace 401 Další zdroje 402 Co bude dál 402Obsah

Kapitola 17

Práce se systémem souborů a serverem 403

Uploadování souborů 403

Kód HTML pro upload souborů 405

Kód PHP pro zpracování souboru 406

Průběh uploadu 410

Vyhněte se běžným problémům s uploadem 411 Adresářové funkce 412

Čtení z adresářů 413

Načítáme informace o aktuálním adresáři 416

Vytváření a mazání adresářů 417 Interakce se systémem souborů 417

Získávání informací o souboru 418

Změna vlastností souboru 420

Vytváření, mazání a přesouvání souborů 421 Funkce pro spouštění programů 422 Interakce s prostředím – getenv() a putenv() 424 Další zdroje 425 Co bude dál 425

Kapitola 18

Síťové a protokolové funkce 427

Průzkum dostupných protokolů 427

Odesílání a přijímání e-mailů 428

Používáme data z jiných webových stránek 428

Funkce pro vyhledávání na síti 432

Zálohování nebo zrcadlení souboru 436

Zálohování nebo zrcadlení souboru přes protokol FTP 436

Připojování ke vzdálenému serveru FTP 439

Přihlašování k serveru FTP 440

Kontrola časů poslední úpravy souboru 441

Stahování souboru 442

Zavíráme spojení 443

Uploadování souborů 443

Zabraňujeme překročení časového limitu 443

Další FTP funkce 444 Další zdroje 445 Co bude dál 445

Kapitola 19

Správa data a času 447

Načítání data a času v jazyce PHP 447

Časové zóny 447

Funkce date() 448 Obsah

Pracujeme s časovými známkami systému Unix 450

Funkce getdate() 451

Validujeme datum funkcí checkdate() 453

Formátování časových známek 453 Převádění formátů data mezi jazykem PHP a systémem MySQL 455 Výpočty s daty v jazyce PHP 457 Výpočty s daty v systému MySQL 458 Mikrosekundy 459 Kalendářové funkce 460 Další zdroje 461 Co bude dál 461

Kapitola 20

Internacionalizace a lokalizace 463

Lokalizace není jen překlad 463

Porozumění znakovým sadám 464

Dopady znakových sad na bezpečnost 465

Vícebajtové funkce pro práci s textovými řetězci 466 Tvorba základní struktury lokalizovatelných stránek 466 Jak používat funkci gettext() v mezinárodní aplikaci 470

Nastavení systému pro použití funkce gettext() 470

Tvorba souborů s překlady 472

Implementace lokalizovaného obsahu v jazyce PHP s pomocí funkce gettext() 473 Další zdroje 474 Co bude dál 474

Kapitola 21

Generování obrázků 475

Nastavení podpory zpracování obrázků v jazyce PHP 475

Obrazové formáty 476

Formát JPEG 476

Formát PNG 477

Formát GIF 477 Tvorba obrázků 477

Vytváříme plátno 479

Kreslení a tisk textu do obrázku 479

Výstup finální grafiky 481

Úklid 482 Jak používat automaticky generované obrázky

na dalších stránkách 482 Jak vytvářet obrázky s texty a písmy 483

Vytváříme základní plátno 486

Umístění textu na tlačítko 487Obsah

Umístění textu 490

Píšeme text na tlačítko 491

Dokončujeme 491 Vykreslování čísel a grafových dat 491 Další obrazové funkce 500 Co bude dál 500

Kapitola 22

Řízení relací v jazyce PHP 501

Co je řízení relací? 501

Pochopení základů relací 501

Co je cookie? 502

Nastavujeme cookies z jazyka PHP 502

Cookies a relace 503

Ukládání identifikátoru relace 503 Implementace jednoduchých relací 504

Spuštění relace 504

Registrace relačních proměnných 504

Používání relačních proměnných 505

Mažeme proměnné a ukončujeme relaci 505 Příklad s jednoduchou relací 505 Konfigurace řízení relací 508 Implementujeme autentizaci s použitím relací 509 Co bude dál 516

Kapitola 23

Spojení jazyků JavaScript a PHP 517

Technologie AJAX 517

Stručný úvod do jQuery 517

Aplikace frameworku jQuery ve webových aplikacích 518

Základní techniky a koncepce frameworku jQuery 519

Selektory knihovny jQuery 519

Zpracování vybraných skupin 522

Úvod do událostí frameworku jQuery 523 Spojení frameworku jQuery s technologií AJAX a jazykem PHP 528

Skript na straně serveru umožňující chatovat pomocí technologie AJAX 528

Ajaxové metody frameworku jQuery 532

Metoda $.ajax() 532

Pomocné ajaxové metody 533

Klientská část chatu jako aplikace v jQuery 535 Další zdroje 541 Co bude dál 541 Obsah

Kapitola 24

Další užitečné funkce 543

Vyhodnocování textových řetězců – eval() 543

Ukončujeme běh skriptu – die() a exit() 544

Serializování proměnných a objektů 545

Načítání informací o prostředí PHP 546

Pátráme po načtených rozšířeních 546

Identifikujeme vlastníka skriptu 547

Zjištění času poslední úpravy skriptu 548 Dočasná změna běhového prostředí 548 Zvýrazňování zdrojového kódu 549 Ovládání interpretu PHP z příkazového řádku 550 Co bude dál 551

Kapitola 25

Používáme jazyk PHP a systém MySQL

ve velkých projektech 553

Aplikujeme principy softwarového inženýrství na webový vývoj 554

Plánování a zpracování projektu webové aplikace 554

Znovupoužitelnost zdrojového kódu 555

Píšeme udržovatelný kód 556

Standardy programování 556

Definice konvencí pojmenování 557

Komentování kódu 558

Odsazování kódu 559

Rozdělení kódu 559

Standardní adresářová struktura 560

Dokumentace a sdílení funkcí interně 560 Implementace správy verzí 561 Výběr vývojového prostředí 562 Dokumentování projektů 562 Prototypování 563 Oddělení logiky od obsahu 564 Optimalizace zdrojového kódu 565

Jednoduché optimalizace 565 Testování 566 Další zdroje 567 Co bude dál 567Obsah

Kapitola 26

Ladění a logování 569

Programovací chyby 569

Syntaktické chyby 569

Běhové chyby 570

Volání neexistující funkce 571

Čtení a zapisování do souborů 572

Interakce s databází MySQL a jinými databázemi 573

Připojení k síťovým službám 575

Absence validace vstupních dat 576

Logické chyby 576 Pomoc s laděním proměnných 577 Úrovně hlášení chyb 579 Změna konfigurace hlášení chyb 580 Vyvolávání vlastních chyb 582 Elegantní logování chyb 583 Logování chyb do souboru 585 Co bude dál 586

Kapitola 27

Autentizace a personalizace uživatelů 587

Komponenty řešení 587

Identifikace a personalizace uživatelů 588

Ukládáme záložky 589

Doporučování záložek 589 Přehled řešení 589 Implementace databáze 591 Implementace základních stránek 592 Implementujeme autentizaci uživatelů 595

Registrace uživatelů 595

Přihlašování 601

Odhlášení 605

Změna hesla 606

Obnova zapomenutého hesla 609 Implementujeme ukládání a načítání záložek 613

Přidávání záložek 613

Zobrazování záložek 616

Mazání záložek 617 Implementace doporučování 620 Možná rozšíření ke zvážení 623 Obsah Kapitola 28 Vývoj webového e-mailového klienta s frameworkem Laravel, první část 625

Úvod do frameworku Laravel 5 625

Tvorba nového projektu s frameworkem Laravel 625

Struktura aplikace Laravel 626

Cyklus požadavků frameworku Laravel a architektura MVC 628

Jádra aplikace 628

Poskytovatelé služeb 629

Modely, pohledy a kontrolery frameworku Laravel 629

Směrovač Laravel 629

Parametry cesty 630

Skupiny cest 632

Kontrolery 632

Přistupujeme k datům požadavku 634

Pohledy 636

Šablony Blade 637

Modely frameworku Laravel 639

Operace CRUD v modelech Eloquent 644

Poslední nápady týkající se frameworku Laravel 645 Kapitola 29 Vývoj webového e-mailového klienta s frameworkem Laravel, druhá část 647

Vývoj jednoduchého klienta IMAP pomocí frameworku Laravel 647

Funkce pro práci s protokolem IMAP 647

Otevření spojení se serverem IMAP 648

Protokol IMAP a e-mailové schránky 649

Načítání zpráv protokolem IMAP 651

Načítání a parsování konkrétních zpráv ze serveru IMAP 654

Začlenění funkčnosti IMAP do naší aplikace Laravel 656

Třída klienta IMAP 659

Třída zprávy a rozhraní zprávy 664

Třída Attachment 674

Skládáme vše dohromady, abychom vytvořili webového e-mailového

klienta 675

Implementace poskytovatele ImapServiceProvider 675

Přihlašovací stránka webového klienta 676

Implementujeme hlavní pohled 682

Implementujeme prohlížení zprávy 688

Mazání a odesílání zprávy 692

Závěr 697


23Obsah

Kapitola 30

Sdílení a přihlašování pomocí sociálních sítí 699

Přihlašování k webové službě standardem OAuth 699

Povolení typu autorizační kód 701

Implicitní povolení 702

Stavíme webového klienta propojeného se sítí Instagram 703

Přihlašovací stránka OAuth 705

Dokončení autorizačního povolení OAuth 707

Zobrazujeme feed sítě Instagram 708

Lajkování fotografií na síti Instagram 712 Závěr 713

Kapitola 31

Vývoj nákupního košíku 715

Komponenty řešení 715

Stavba online katalogu 716

Sledování vybraných produktů uživatelů při nakupování 716

Implementace platebního systému 716

Vývoj administračního rozhraní 717 Návrh řešení 717 Implementujeme databázi 721 Implementace online katalogu 723

Výpis kategorií 725

Výpis knih v kategorii 728

Zobrazujeme detail knihy 729 Implementace nákupního košíku 731

Skript show_cart.php 731

Zobrazení košíku 734

Přidávání položek do košíku 736

Ukládáme aktualizovaný košík 738

Výpis shrnutí v záhlaví 739

Objednávání 739 Implementujeme platby 746 Implementujeme administrační rozhraní 748 Rozšiřování projektu 757 Obsah Dodatek A Instalace Apache, PHP a MySQL 759

Instalace programů Apache, PHP a MySQL v systému UNIX 760

Binární instalace 760

Instalace ze zdrojového kódu 761

Instalace systému MySQL 762

Instalace PHP a Apache 765

Základní úpravy konfigurace serveru Apache 769

Funguje podpora jazyka PHP? 770

Funguje vrstva SSL? 770

Instalace programů Apache, PHP a MySQL v systémech

Windows a Mac OS pomocí souhrnných instalačních balíků 772

Otestujte výsledek své práce 773

Instalace repozitáře PEAR 773

Instalace interpretu PHP s jinými webovými servery 774

Rejstřík 775


Autoři

Laura Thomson je technickou ředitelkou ve společnosti Mozilla Corporation.V minu

losti bývala ředitelkou ve společnostech OmniTI a Tangled Web Design a pracovala pro

univerzitu RMIT University a společnost Boston Consulting Group. Je držitelkoubaka

lářského titulu aplikované informatiky a informačních technologií, přičemž absolvovala

s vyznamenáním. Ve svém volném čase ráda jezdí na koni, diskutuje o softwarus ote

vřeným zdrojovým kódem a spí.

Luke Welling pracuje jako softwarový analytik. Pravidelně přednáší o tématechotevře

ného zdrojového kódu a webového vývoje na konferencích, jako jsou například OSCON,

ZendCon, MySQLUC, PHPCon, OSDC a  LinuxTag. Pracoval také ve společnostech

OmniTI, Hitwise.com, MySQL AB a jako nezávislý konzultant ve společnosti Tangled

Web Design. Přednášel o informatice na univerzitě RMIT University ve městě Melbourne

v Austrálii a je držitelem bakalářského titulu aplikované informatiky. Ve svém volném

čase se snaží zdokonalit svou nespavost.



Přispěvatelé

Julie C. Meloni je produktovou manažerkou a technickou konzultantkou. Žije ve městě

Washington, D.C. Napsala několik knih a článků o webových programovacích jazycích

a databázích, a to včetně bestselleru Sams Teach Yourself PHP, MySQL and Apache All in

One.

John Coggeshall vlastní společnost Internet Technology Solutions, LLC, celosvětovoukon

zultantskou společnost v oblastech internetu a jazyka PHP, a také společnost CoogleNet,

která poskytuje síť WiFi. V minulosti býval členem týmu Zend Technologies‘ Global

Services. S jazykem PHP se seznámil v roce 1997 a napsal čtyři knihy a více než 100

článků o PHP technologiích.

Jennifer Kyrnin pracuje jako webová designérka od roku 1995. Napsala kupříkladu knihy

Sams Teach Yourself Bootstrap in 24 Hours, Sams Teach Yourself Responsive Web Design in

24 Hours a Sams Teach Yourself HTML5 Mobile Application Development in 24 Hours.



Úvod

Vítejte, v této knize najdete souhrn našich znalostí, které jsme nabyli používáním jazyka

PHP a databázového systému MySQL – jedná se o dva nedůležitější a nejpoužívanější

nástroje pro webový vývoj.

Proč byste si měli přečíst tuto knihu?

V této knize se naučíte vytvářet interaktivní webové aplikace od nejjednoduššíhoobjed

návkového formuláře až po složité zabezpečené webové aplikace. A co víc – dozvíte se,

jak toho dosáhnout s pomocí technologií s otevřeným zdrojovým kódem.

Tato kniha je určena čtenářům, kteří už znají základy jazyka HTML a programovali

v některém moderním programovacím jazyku, přičemž nemuseli nutně programovat

pro web nebo používat relační databáze. Jestliže začínáte programovat, bude pro vás tato

kniha stále užitečná, ale proniknout do ní vám může trvat déle. Snažili jsme senevyne

chat žádnou základní koncepci, ale i tak je pouze stručně shrnujeme. Typickými čtenáři

této knihy jsou programátoři, kteří chtějí ovládnout jazyk HTML a databázový systém

MySQL za účelem tvorby rozsáhlých komerčních webových stránek. Pokud jižprogra

mujete v některém jiném webovém programovacím jazyku, nemělo by vám v rychlém

přečtení této knihy nic překážet.

První vydání této knihy jsme napsali, protože nás unavovaly knihy o jazyce PHP, které

byly pouhými referencemi základních funkcí. Ačkoliv jsou tyto knihy užitečné, nijak vám

nepomůžou, když za vámi přijde šéf a řekne: „Vytvořte mi nákupní košík.“ Snažili jsme

se co nejvíce zjednodušit všechny příklady v této knize. Spoustu ukázkových zdrojových

kódu můžete přímo použít ve svých webových stránkách, řadu jiných můžete použít jen

s drobnými úpravami.

Co se naučíte v této knize?

Po přečtení této knihy budete umět vytvářet skutečné dynamické webové aplikace. Jestliže

jste vytvořili nějaké statické webové stránky v jazyce HTML, znáte omezení tohotopří

stupu. Statický obsah z čistých HTML stránek je prostě statický. Zůstává stejný, dokud

ho fyzicky nezměníte. Uživatelé nemůžou interagovat s takovými webovými stránkami

žádným smysluplným způsobem.

S pomocí skriptovacího jazyka (například PHP) a databázového systému (například

MySQL) můžete udělat své webové stránky dynamické tak, aby byly přizpůsobitelné

a obsahovaly aktuální informace.


30 ÚvOd

Tato kniha se zaměřuje na aplikace z reálného světa, a to dokonce i v úvodních kapitolách.

Nejprve se podíváte na jednoduché systémy a potom se budete propracovávat různými

částmi jazyka PHP a databázového systému MySQL.

Posléze se dozvíte o jednotlivých aspektech bezpečnosti a autentizace, jelikož jsou nedílnou

součástí skutečných webových stránek, a také zjistíte, jak je implementovat v jazyce PHP

a databázi MySQL. Kromě toho se seznámíte s integrací frontendových a backendových

technologií – objevíte jazyk JavaScript a roli, jakou může hrát při vývoji vašich aplikací.

V poslední části této knihy se naučíte, jak přistupovat ke skutečným projektům – projdete

si fázemi návrhu, plánování a budování níže uvedených projektů:

„ Uživatelská autentizace a personalizace

„ Webový e-mail

„ Integrace se sociálními sítěmi Všechny tyto projekty můžete zužitkovat tak, jak jsou. Případně je můžete přizpůsobit svým požadavkům. Vybrali jsme je, protože se domníváme, že se jedná o nejběžnější webové aplikace. Pokud potřebujete něco jiného, tato kniha by vám měla pomoctv dosažení vašich cílů. Co je PHP? PHP je skriptovací jazyk na straně serveru, který byl navržený speciálně pro web. Do stránky HTML můžete vkládat kód jazyka PHP, jenž se provede při každé návštěvě této stránky. Váš kód jazyka PHP je interpretován webovým serverem, přičemž generujedokument HTML nebo jiný výstup, který uvidí návštěvník. Jazyk PHP vznikl v roce 1994. Původně se jednalo o výsledek práce jediného muže – Rasmuse Lerdorfa. Postupně se přidávali k jeho vývoji další talentovaní lidé a z velké části ho přepsali, až se z něj stal rozšířený vyspělý produkt, jakým je dnes. Podle Grega Michillieho ze společnosti Google poháněl tento jazyk v květnu 2013 více než tři čtvrtiny všech webových stránek, přičemž toto číslo vzrostlo na více než 82 % v červenci 2016. PHP je projekt s otevřeným zdrojovým kódem, což znamená, že máte přístup k jehozdrojovému kódu, můžete ho používat, měnit a distribuovat ho. PHP bylo původně zkratkou pro Personal Home Page, ale její význam se změnil po vzoru rekurzivní konvence pojmenování GNU (GNU = Gnu’s Not Unix) – nyní znamená PHP Hypertext Preprocessor. Aktuální hlavní verzí jazyka PHP je verze 7. V této verzi se jazyk dočkal kompletního přepsání jádra Zend a několika podstatných vylepšení. Veškerý zdrojový kód pro tuto knihu je otestovaný v poslední verzi PHP 7 a také v poslední verzi z rodiny verzí PHP 5.6, které jsou v současnosti stále oficiálně podporované.ÚvOd Domovská stránka jazyka PHP je k dispozici na internetové adrese http://php.net/. Domovská stránka společnosti Zend Technologies se nachází na internetové adrese http:// www.zend.com/. Co je MySQL? MySQL je velmi rychlý a robustní systém pro správu relačních databází (RDBMS). Databáze umožňuje efektivně ukládat, vyhledávat, řadit a načítat data. MySQL server řídí přístup k vašim datům. Zajišťuje, aby k datům mohlo přistupovat více uživatelů současně, nabízí rychlý přístup a dohlíží na to, aby přístup získali pouze oprávnění uživatelé. MySQL je tudíž server s podporou více uživatelů a více vláken. Používá jazyk SQL (Structured Query Language) – standardní databázový dotazovací jazyk. MySQL je veřejně dostupný od roku 1996, ale počátek jeho vývoje sahá až do roku 1979. Jedná se o celosvětověnejoblíbenější databázi s otevřeným zdrojovým kódem, která mnohokrát vyhrála cenu Volba čtenářů časopisu Linux Journal. MySQL je k dispozici pod dvěma licencemi. Můžete si zvolit volně dostupnou licenci s otevřeným zdrojovým kódem (GPL), jestliže splníte její podmínky. Pokud chcete vydat aplikaci s jinou licencí než GPL, která bude zahrnovat MySQL, můžete si koupit komerční licenci. Proč používat PHP a MySQL? Když se rozhodnete, že budete vytvářet webové stránky, můžete si vybírat z mnoharůzných produktů. Musíte si vybrat:

„ kde budete chtít provozovat svůj webový server – v cloudu, na soukromýchvirtuálních serverech nebo na skutečném hardwaru,

„ operační systém,

„ webový server,

„ systém pro správu databází nebo jiné datové úložiště,

„ programovací nebo skriptovací jazyk. Můžete skončit s hybridní architekturou s více datovými úložišti. Některé volby závisejí na jiných. Například ne všechny operační systémy běží na všech typech hardwaru, ne všechny webové servery podporují všechny programovací jazyky atd. Tato kniha nevěnuje příliš pozornosti hardwaru, operačním systémům ani webovým serverům. Není to ani nutné. Na jazyku PHP a systému MySQL je krásné, že fungují na všech nejrozšířenějších operačních systémech, a dokonce na řadě méně známých. ÚvOd Většinu kódu v jazyce PHP lze napsat tak, aby byl přenositelný mezi operačními systémy a webovými servery. Existuje několik funkcí tohoto jazyka, které jsou závislé na systému souborů (jenž závisí na operačním systému), ale ty jsou v dokumentaci i v této knize řádně označené. Ať už si vyberete jakýkoliv hardware, operační systém nebo webový server, měli byste vážně uvažovat, že si zvolíte jazyk PHP a systém MySQL. Několik předností jazyka PHP Mezi hlavní konkurenty jazyka PHP patří jazyk Python, Ruby, Perl, Java, prostředí Node. js a Microsoft .NET. V porovnání s těmito produkty má jazyk PHP několik předností:

„ výkon,

„ škálovatelnost,

„ rozhraní pro spoustu různých databázových systémů,

„ vestavěné knihovny pro většinu běžných webových úloh,

„ nízká cena,

„ snadnost učení a používání,

„ silná podpora objektově orientovaného programování,

„ přenositelnost,

„ flexibilita vývojového přístupu,

„ dostupnost zdrojového kódu,

„ dostupnost podpory a dokumentace. Následuje podrobnější informace o jeho přednostech. Výkon PHP je velmi rychlý jazyk. S pomocí jediného levného serveru můžete zpracovat miliony návštěv denně. Umí obsluhovat vše – od malého kontaktního formuláře až po webové stránky typu Facebook nebo Etsy. Škálovatelnost PHP má něco, co Rasmus Lerdorf často označuje jako architektura SN (sdílené nic). To znamená, že ho můžete efektivně a levně implementovat do velkého množství webových serverů.

33ÚvOd

Integrace s databází

PHP nativně podporuje spoustu databázových systémů. Kromě databáze MySQL se můžete

připojovat kupříkladu k databázím PostgreSQL, Oracle, MongoDB a MSSQL. Verze PHP

5 a PHP 7 rovněž nabízejí SQL rozhraní pro běžné soubory, které se nazývá SQLite.

Prostřednictvím standardu ODBC (Open Database Connectivity) se můžete připojovat

k libovolné databázi přes ovladač ODBC. Řadí se k nim především produkty společnosti

Microsoft, ale také spousta jiných.

Kromě nativních knihoven poskytuje jazyk PHP rovněž abstraktní vrstvudatabázo

vých objektů (PDO), jež přináší konzistentní přístup a prosazuje postupy bezpečného

programování.

Vestavěné knihovny

Protože jazyk PHP byl navržený pro použití na webu, obsahuje spoustu vestavěných funkcí,

které vykonávají mnoho užitečných webových úloh. Můžete dynamicky generovat obrázky,

připojovat se k webovým službám a jiným síťovým službám, parsovat kód jazyka XML,

odesílat e-maily, pracovat s cookies a generovat dokumenty PDF, a to vše jen s pomocí

několika řádků kódu.

Cena

PHP je k dispozici zdarma. Jeho poslední verzi si můžete kdykoliv stáhnout nainterne

tové adrese http://www.php.net bez poplatků.

Snadnost učení jazyka PHP

Syntaxe jazyka PHP vychází z jiných programovacích jazyků – zejména z jazyků C a Perl.

Pokud už znáte jazyk C nebo Perl nebo jiný programovací jazyk podobný jazyku C,napří

klad jazyk C++ nebo Java, budete produktivní s jazykem PHP téměř okamžitě.

Podpora objektově orientovaného programování

Jazyk PHP ve verzi 5 přinesl skvěle navržené objektově orientované prvky, které byly

dále vylepšeny ve verzi 7. Jestliže umíte programovat v jazyce Java nebo C++, najdete zde

prvky, které už znáte – kupříkladu dědičnost, soukromé a chráněné vlastnosti a metody,

abstraktní třídy a metody, rozhraní, konstruktory a destruktory. Objevíte v něm dokonce

i méně obvyklé prvky, jako jsou například iterátory nebo traity.

Přenositelnost

PHP je k dispozici pro spoustu různých operačních systémů. Psát kód v jazyce PHP je

možné ve volně dostupných unixových operačních systémech (například Linuxu nebo

FreeBSD), v komerčních unixových systémech, v systému OS X a v systému Windows.

34 ÚvOd

Flexibilita vývojového přístupu

V jazyce PHP můžete vyřešit jednoduché úkoly jednoduše, a stejně tak jednoduše můžete

vytvářet obrovské aplikace s pomocí některého frameworku založeného na architektuře

MVC (Model-View-Controller).

Zdrojový kód

Máte přístup ke zdrojovému kódu jazyka PHP. Pokud chcete něco upravit nebo přidat do

tohoto jazyka, můžete to udělat.

Nemusíte čekat na to, až jeho výrobce vydá novou verzi. Nemusíte se obávat, že by výrobce

přestal podnikat nebo se rozhodl přestat podporovat svůj produkt.

Dostupnost podpory a dokumentace

Společnost Zend Technologies (http://www.zend.com/), která stojí za vývojem jádra jazyka

PHP, financuje svůj vývoj tak, že nabízí placenou podporu a související software.

Dokumentace a  komunita okolo jazyka PHP jsou vyspělé a  bohaté zdroje spousty

informací.

Klíčové funkce jazyka PHP 7

Dlouho očekávaná verze PHP 7 vyšla veřejně v prosinci roku 2015. Jak už víte z úvodu, tato

kniha se zabývá verzemi PHP 5.6 a PHP 7, což vás pravděpodobně přivede k otázce: „Kam

se poděla verze PHP 6?“ Krátká odpověď zní: „Neexistuje žádná verze PHP 6 a nikdy ani

veřejně nevyšla.“ Existovala sice snaha o vývoj kódu, která byla označovaná jako „PHP 6“,

ale samotný vývoj se nikdy neuskutečnil. Vývojový tým měl spoustu ambiciózních plánů,

přičemž následně narazil na spoustu komplikací, které nakonec znemožnily věnovat se

dále vývoji. PHP 7 není PHP 6 – neobsahuje funkce, které byly navrhované pro PHP 6.

Místo toho se jedná o zcela novou verzi se svým vlastním cílem, a tím je lepší výkon.

Pod kapotou jazyka PHP 7 se skrývá kompletně přepsané jádro Zend Engine, kterépři

náší výrazné vylepšení výkonu pro mnoho webových aplikací – někdy až o 100 %. Cílem

verze PHP 7 nebylo pouze zvýšit efektivitu a snížit paměťové nároky, ale také zachovat

zpětnou kompatibilitu. A skutečně bylo zavedeno jen velmi málo nekompatibilních změn.

Tyto změny budou popsané v jednotlivých kapitolách této knihy tak, aby příkladyfun

govaly ve verzi PHP 5.6 i ve verzi PHP 7. Někteří poskytovatelé webhostingu totiž zatím

nepřešli na verzi PHP 7.ÚvOd Několik předností systému MySQL Hlavními konkurenty MySQL v oblasti relačních databází jsou PostgreSQL, Microsoft SQL Server a Oracle. Na webu se však začíná objevovat rostoucí trend používání NoSQL/ nerelačních databází, jejichž hlavním zástupcem je databáze MongoDB. Existuje však stále celá řada důvodů, proč pohlížet na databázový systém MySQL jako na dobrou volbu. MySQL má mnoho předností:

„ vysoký výkon,

„ nízká cena,

„ snadnost konfigurace a učení,

„ přenositelnost,

„ dostupnost zdrojového kódu,

„ dostupnost podpory. Následuje podrobnější popis jeho předností. Výkon Databázový systém MySQL je nepopiratelně rychlý. Stránku s banchmarky vývojářů najdete na internetové adrese http://www.mysql.com/why-mysql/benchmarks/. Nízká cena MySQL je k dispozici zdarma pod licencí otevřeného softwaru a za mírný poplatek pod komerční licencí. To znamená, že pokud distribuujete MySQL jako součást aplikace,potřebujete komerční licenci, ale nepotřebujete ji pro aplikace s otevřeným zdrojovým kódem. Pokud nehodláte distribuovat svou aplikaci (což je typické pro většinu webovýchaplikací), pracujete na volně dostupné aplikaci nebo aplikaci s otevřeným zdrojovým kódem, nemusíte si kupovat licenci. Snadnost použití Většina moderních databází používá jazyk SQL. V případě, že jste někdy používali jiný systém pro správu relačních databází, neměli byste mít žádné potíže se systémem MySQL. Ten lze totiž snadněji nastavit než převážnou část podobných produktů. Přenositelnost MySQL můžete používat ve spoustě unixových operačních sy



       
Knihkupectví Knihy.ABZ.cz - online prodej | ABZ Knihy, a.s.
ABZ knihy, a.s.
 
 
 

Knihy.ABZ.cz - knihkupectví online -  © 2004-2018 - ABZ ABZ knihy, a.s. TOPlist