PHP 7 & MySQL - практическо програмиране. Второ преработено и допълнено издание - Издателство Асеневци
   
Ново
PHP 7 & MySQL - практическо програмиране. Второ преработено и допълнено издание
zoom Увеличи изображението

PHP 7 & MySQL - практическо програмиране. Второ преработено и допълнено издание

Цена: 24.95 лв.
безплатна доставка
ISBN: 978-619-7356-32-8
Автор: Денис Колисниченко
Корица: Мека
Страници: 478 стр.
Формат: 159х235 мм
Година на издаване: 2018
Издател: Асеневци
Количество: 

 От тук може да свалите кода за примера от книгата "Интернет магазин"

Анотация

Освен задължителните знания свързани с програмирането на PHP и работата с MySQL база данни, в книгата ще намерите множество примери, в които последователно и с подробни обяснения са разгледани полезни проекти от практиката — такива с които се сблъсква всеки съвременен PHP програмист.

Отделено е нужното внимание и на начините за оптимизация на PHP кода, използването на шаблони, фреймуърк, SSL, работа с поща, Mp3 файлове, RSS, както и на техниките за защита от спам и хакери. Ще научите как да разработите мобилна версия на сайт и как да защитите вашия код от неоторизирано копиране и разпространение.

Дадени са и примери с качване на файлове на сървър, използване на сесии, регулярни изрази и форматите CSV/XML. Разгледана е и прецизната настройка на сървъра.
Особено полезна ще ви бъде частта „Практическо програмиране“. Там постъпково са представени проектирането, разработването на потребителския интерфейс и администрацията на интернет магазин. Кодът на този полезен за практиката проект е предоставен от автора за безплатно  сваляне и ползване.

За начинаещите програмисти е включена глава, в която са представени основите на HTML и phpMyAdmin — знания без които не може никой PHP програмист.

Съдържание

Въведение...10
PHP 7...11
Подобрена производителност...11
Премахнати са старите разширения и SAPI...11
Промени в синтаксиса на езика...13
Нови възможности...13
Променени функции...14
Нови функции...15
Как правилно да четете тази книга...15

Част 1. Запознаване с PHP

Глава 1. Осигуряване на необходимия софтуер...18
1.1. Настройка на собствен уеб сървър...18
1.2. Инсталиране на уеб сървър Apache 2.4...19
1.3. Инсталиране на PHP 7...23
1.4. Инсталиране на СУБД MySQL и настройка на взаимодействието с нея...29
1.5. Антивирусна програма и защитна стена...31
1.6. Настройка на Skype...32
1.7. Избор на текстов редактор...33

Глава 2. Основи на PHP...36
2.1. Как работи PHP?...36
   2.1.1. Въведение в CGI...36
   2.1.2. Недостатъци на CGI. Как работи PHP?...38
2.2. Вашата първа програма на PHP...40
2.3. Променливи и константи...43
2.4. Действия над променливите...48
2.5. Изрази, операции и връзки...51
   2.5.1. Какво е израз?...51
   2.5.2 Аритметични операции...51
   2.5.3. Побитови операции...52
   2.5.4. Логически изрази и операции...53
   2.5.5. Приоритет на операциите в PHP...54
   2.5.6. Низ и низови изрази...54
   2.5.7. Връзки...56
   2.5.8. Оператор ??. Съкратена форма на тернарна условна операция...57
2.6. Конструкции на езика...58
   2.6.1. Оператор if-else...58
   2.6.2. Цикли...59
   2.6.3. Конструкция switch-case...62
2.7. Инструкции include и require...64

Част 2. Форми и параметри

Глава 3. Форми за въвеждане на данни. Методи GET и POST...65
3.1. Форма. Таг <form>...65
3.2. Получаване на данни от фòрмата. Функция filter_input()...68
3.3. Елементи, използвани за въвеждане на данни ...70
   3.3.1. Текстови полета...71
   3.3.2. Зависими и независими превключватели...72
   3.3.3 Таг <TEXTAREA>...75
   3.3.4. Списъци...76
   3.3.5. Бутони ...77
3.4. Защита от спам...78

Глава 4. Променливи на сървърното обкръжение...81
4.1. Променливи на обкръжението...81
4.2. Други глобални масиви...82

Глава 5. Създаване на интерактивни форми за въвеждане на данни...83
5.1. Предимства на интерактивните форми...83
5.2. Добавяне на бутон Back във вашите форми...84
5.3. Форма за проверка на въведените данни...85
5.4. Сложна динамична форма...86

Част 3. Основни функции в PHP

Глава 6. Функции, които трябва да знае всеки PHP програмист ...91
6.1. Математически функции...91
6.2. Функции за преобразуване от една бройна система в друга...92
6.3. Дата и време...93
6.4. Генератор на случайни числа...95
6.5. Функции за стартиране на външни програми...96

Глава 7. Функции за работа с низове...97
7.1. Операции с низове...97
7.2. Основни функции за работа с низове...100
7.3. Функции за работа с отделни символи...103
7.4. Функции за обработка на HTML и форми за въвеждане на данни...104
7.5. Смяна на регистъра...106
7.6. Специални функции...107
   7.6.1. Функции md5() и crc32()...107
   7.6.2. Функция explode()...108
   7.6.3. Функции Serialize() и UnSerialize()...108
7.7. Хеширане на пароли...109
7.8. Низове и PHP 7...110

Глава 8. Функции за обработка на масиви...112
8.1. Разлика между масиви и списъци. Асоциативни масиви...112
   8.1.1. Въведение в масивите...112
   8.1.2. Списъци...116
   8.1.3. Асоциативни масиви...116
   8.1.4. Инструкцията list() за списъци...118
8.2. Многомерни масиви...120
8.3. Операции с масиви...120
   8.3.1. Унищожаване на масив...120
   8.3.2. Сливане на масиви...121
   8.3.3. Преброяване на елементите на масив...122
   8.3.4. Сортиране на масиви...123
   8.3.5. Директен достъп до елемент от масива...125
8.4. Други функции за работа с масиви...125
   8.4.1. Извличане на части от масива...125
   8.4.2. Добавяне и премахване на елементи в масива...126
   8.4.3. Функция array_unique()...126
   8.4.4. Функции compact() и extract()...127

Глава 9. Функции за работа с файлове и папки...128
9.1. Съхраняване на информация в папки...128
9.2. Отваряне, четене, запис и затваряне на файл...130
   9.2.1. Отваряне на файл...130
   9.2.2. Четене и запис на файла в двоичен режим...133
   9.2.3. Четене и запис на файл в текстов режим...134
   9.2.4. Затваряне на файл...135
   9.2.5. Функции, автоматизиращи някои операции с файловете...135
9.3. Функции за работа с файлове...137
   9.3.1. Проверка за съществуването на файл...137
   9.3.2. Копиране, преименуване и изтриване на файл...138
   9.3.3. Функция filetype(): определяне на типа на файла...139
   9.3.4. Функции fileatime(), filectime() и filemtime()...139
   9.3.5. Функции disk_free_space() и disk_total_space() ...140
   9.3.6. Функции за проверка на правата за достъп до файла...140
9.4. Функции за работа с папки...140
9.5. Заключване на файл...144
9.6. Изобразяване на изходен код. Функция show_source()...147

Глава 10. Мрежови функции...149
10.1. Функции за работа със сокети...149
10.2. FTP функции...154
10.3. Функции за работа с DNS...157
10.4. Библиотеката cURL...157

Глава 11. Работа с изображения. Библиотека GD...160
11.1. Активация на библиотеката GD...160
11.2. Проверка за достъпност на GD...161
11.3. Формат на изображението...162
11.4. Основни операции...163
   11.4.1. Определяне на размера на изображението...163
   11.4.2. Функции за работа с цвят...163
   11.4.3. Рисуване на графични примитиви...165
   11.4.4. Функции за запълване на област...166
11.5. Показване на текст над изображение...166
11.6. Завъртане на изображение...168
11.7. Промяна на размера на изображение...168
11.8. Поддръжка на WebP в GD...170

Глава 12. Работа с поща чрез PHP...171
12.1. Изпращане на обикновени съобщения. Функция mail():...171
12.2. Изпращане на HTML съобщения с прикрепени файлове...173
12.3. Получаване на поща по протоколите IMAP/POP3...175

Глава 13. Полезни възможности на PHP...178
13.1. Работа с RSS...178
13.2. Работа с MP3...182

Глава 14. Създаване на собствени функции...185
14.1. Какво е функция?...185
14.2. Променливи и област на видимост на функциите...188
14.3. Параметри на функциите...189
14.4. Генератори...193
14.5. Полезни примери...195
   14.5.1. Масив със случайни числа...195
   14.5.2. Функция за изчисляване на факториел...196
   14.5.3. Функция за инициализиране на променливи...196
   14.5.4. Предаване на масив в качеството му на параметър на функция...197
   14.5.5. Условно дефинирани функции...199

Част 4. Бази данни и PHP

Глава 15. Въведение в базите данни. Основни SQL оператори...200
15.1. Основни понятия...200
15.2. Да се договорим за нещо...202
15.3. Типове полета...202
15.4. Създаване на таблици с оператора CREATE...204
15.5. Оператор INSERT: вмъкване на данни в таблица...205
15.6. Оператор UPDATE: променяне на запис...207
15.7. Оператор DELETE: изтриване на запис...208
15.8. Оператор SELECT: извличане на записи...209
15.9. Групиране на записи...212
15.10. Сортиране на записи...213
15.11. Изтриване на полета и таблици ...214

Глава 16. Работим с MySQL чрез PHP 5...215
16.1. Способи за работа с база данни...215
16.2. Установяване на връзка със сървъра и избор на база данни...216
16.2. Изпращане на SQL заявка и получаване на резултата...217
16.3. Обработка на резултата...218
16.4. Затваряне на връзката...221
16.5. Постоянна връзка...221
16.6. Кеширане на заявките...222
16.7. Копиране на таблици в MySQL...224

Глава 17. Разширението PDO за работа с бази данни - PHP 7...225
17.1. Връзка с базата данни...225
17.2. Изпълнение на заявки и четене на резултата...227
17.3. Получаване на данни...230
17.4. Особености при използването на операторите LIKE, LIMIT и IN...231
17.5. Имена на таблици и полета при работа с PDO...232
17.6. Заявки за запис и обновяване...233

Глава 18. Алтернативни бази данни, поддържани в PHP...235
18.1. Бази данни и PHP...235
18.2. Поддържани бази данни...235

Част 5. PHP за опитния програмист

Глава 19. Качване на файлове на сървър...238
19.1. Форма за качване на файл...238
19.2. Сценарий за качване на файл upload.php...240

Глава 20. Използване на шаблони...247
20.1. Предназначение на шаблоните...247
20.2. Инсталиране на Smarty...249
20.3. Използване на Smarty...250
20.4. Прост шаблонизатор...253
20.5. Откъде да вземем шаблони?...254

Глава 21.Обектно ориентирано програмиране...258
21.1. Основи на обектно ориентираното програмиране...258
21.2. Вашият първи клас на PHP...261
21.3. Конструктори и деструктори...263
21.4. Наследяване и полиморфизъм...265
21.5. Област на видимост на членовете на класа...266
21.6. Абстрактни класове и методи...268
21.7. Ключова дума final...268
21.8. Обработка на изключения ...269
21.9. Клониране на обекти...272
21.10. Константа като член на клас...273
21.11. Статични членове на клас...273
21.12. Оператор instanceof...274
21.13. Итератори...275
21.14. Пространство от имена...275
21.15. Трейтове (traits) ...276
21.16. Ключова дума class...277
21.17. Особености при обработката на променливи в PHP 7...277
21.18. Полезен пример...278

Глава 22. Използване на сесии...283
22.1. За какво са ни сесии?...283
22.2. Работа със сесии...285
22.3. Пример за програма, използваща сесия...287

Глава 23. Регулярни изрази...290
23.1. Ново ниво на търсене с помощта на регулярни изрази...290
23.2. Език за описване на регулярните изрази...291
23.3. PHP функции за работа с RegExp...295
23.4. Примери с използване на RegExp...296

Глава 24. Въведение в AJAX...298
24.1. Презареждане на страници в движение...298
24.2. Създаване на AJAX приложение...299

Глава 25. Система за контрол на версиите...304
25.1. Защо е необходим контрол на версиите на файловете?...304
25.2. Използване на TortoiseHG...307
   25.2.1. Създаване на хранилища...307
   25.2.2. Внасяне и преглед на промените...308
   25.2.3. Добавяне и изтриване на файлове...311

Глава 26. Защита на сайта от атаки...312
26.1. Няколко думи за актуалността на проблема...312
26.2. XSS атаки...313
26.3. SQL инжектиране...314

Глава 27. SSL връзки във вашите проекти...318
27.1. Защо са ни SSL връзки?...318
27.2. Написване на сценарий, който поддържа SSL...319

Глава 28. Разработка на мобилна версия на сайта...322
28.1. Защо е нужна мобилна версия?...322
28.2. Препоръки...322
28.3. Класът MobileDetect...323
28.4. Как да създадем мобилна версия на сайта?...326
   28.4.1. Реализация на адаптивен дизайн...327
   28.4.2. Реализация на динамичен изглед...328
   28.4.3. Използване на отделен сайт за мобилната версия...329

Глава 29. Прецизна настройка на сървъра ...330
29.1. Ускорение посредством преминаване на новата версия на РНР...330
29.2. Конфигурационният файл php.ini...331
   29.2.1. Параметри на паметта...332
   29.2.2. Zend Opcache...334
   29.2.3. Максимално време за изпълнение...337
   29.2.4. Зареждане на файлове...338
   29.2.5. Обработка на сесии...338
   29.2.6. Буферизация на извода...339
29.3. Оптимизация на MySQL...340

Глава 30. Форматите CSV/XML...343
30.1. Работим с CSV файлове...343
   30.1.1. Четене на данни от CSV...343
   30.1.2. Разбор на CSV редове на стари версии на PHP (до версия 5.3)...344
30.2. Работим с XML...346
   30.2.1. Парсинг на XML файл...346
   30.2.2. Генериране на XML файл...348
   30.2.3. Нестандартният формат Excel 2003 XML...350

Глава 31. Фреймуърк или чист PHP код?...354
31.1. Какво е фреймуърк?...354
31.2. Разработка на проста книга за гости на PHP...355
   31.2.1. Изходна точка...355
   31.2.2. Отделяме кода от изгледа...357
   31.2.3. Изолираме логиката на приложението...358
   31.2.4. Изолираме оформлението...359
   31.2.5. Добавяне на друга страница...361
   31.2.6. Създаваме фронт-контролер...362
31.3. Проста книга за гости със Symfony...364
   31.3.1. Модифицираме наличния код...364
   31.3.2. Symfony приложение от нулата...366

Част 6. Практическо програмиране: разработка на интернет магазин

Глава 32. Проектиране...371
32.1. Създаваме общата картина...371
32.2. Определяме вида на стоката...372
32.2. Функционалност на витрината...373
32.3. Техническа част...374
32.4. Структура на базата данни...376

Глава 33. Разработка на потребителския интерфейс...380
33.1. Структура на приложението...380
33.2. Избор на Bootstrap шаблон...381
33.3. Конфигурационен файл config.php...381
33.4. Файл connect.php...382
33.5. Файл index.php - главна страница...383
33.6. Сценариите mens.php и womens.php - извеждане на продукти...385
33.7. Добавяме продукт в количката и показваме нейното съдържание...392
33.8. Сценарий order.php...400
33.9. Сценарий product.php - показване на продукт...403
33.10. Сценарий brands.php...408
33.11. Сценарий contacts.php...410
33.12. Сценарий за добавяне на e-mail в списъка с абонаменти...411

Глава 34. Администрация...415
34.1. Функции на администрацията...415
34.2. Автентификация на потребителя администратор...415
34.3. Главна страница на панела за управление - index.php...419
34.4. Система за съобщения...422
34.5. Пътеводител за сценариите на панела за управление...423
   34.5.1. Управление на брандовете...423
   34.5.2. Управление на продуктите...424
   34.5.3. Управление на поръчките...427

Част 7. Препоръки за програмиста

Глава 35. Оптимизация на PHP кода...431
35.1. Оптимизация на показването в браузър...431
35.2. Обръщане към елемент на масива...433
35.3. Не използвайте прекалено дълги имена на променливите...433
35.4. Правилно четене на файлове...434
35.5. Правилно използване на операторите за цикли...435
35.6. Ненужни извиквания на функции...435
35.7. Echo или print...436
35.8 Регулярни изрази...439

Глава 36. Защита на кода със Zend Guard...440
36.1. За какво ни е нужен Zend Guard?...440
36.2. Инсталиране на Zend Guard...441
36.3. Използване на Zend Guard...442
36.4. Как се генерират лицензи?...446
36.5. Колко е надеждна защитата Zend Guard?...447

Част 8. Допълнителни материали

Приложение 1.
Основи на HTML ...448
Структура на HTML документа...448
Таг <body>...450
Заглавни тагове...451
Тагове за абзаци и подравняване на текст...452
Форматиране на текст...452
Промяна на шрифта...453
Вмъкване на изображения...453
Номериран и неномериран списък...454
Връзки...454
Таблици...455

Приложение 2.
Стандартни цветове...459

Приложение 3.
Инсталиране и използване на phpMyAdmin...465
17.1. За какво ни е phpMyAdmin?...465
17.2. Инсталиране на phpMyAdmin на вашия сървър...466
17.3. Използване на phpMyAdmin...467

Заключение...477

За автора

Денис Николаевич Колисниченко е водещ автор в областта на програмирането и информационните технологии. Написал е многобройни статии и повече от 30 книги на компютърна тематика, в това число книги за PHP, MySQL, различни Linux дистрибуции (FreeBSD, Fedora, Ubuntu, openSUSE, Mandriva), Windows, интернет, Joomla!, Slaed, PHP-Nuke, Drupal и др.
Автор на проекта http://www.dkws.org.ua и създател на дистрибутива Denix - http://denix.dkws.org.ua.

Denis Kolisnichenko

 

 

Company MAXXmarketing GmbH