Цей урок орієнтований на тих, хто зовсім трохи знайомий з PHP і об'єктно-Орієнтованим Програмуванням (ООП) і хочуть створити просте веб додаток.
Для більш зручного сприйняття матеріалу урок складається з 3-х частин.
Огляд серії уроків
Нам необхідно вивчити дуже багато матеріалу. Ось план:
Частина №1 - Створюємо проект і створюємо перший клас
- створюємо начерк проекту
- створюємо файли і папки
- створюємо клас для операцій з базою даної: DB.class.php
Часть №2 - Доробляємо серверну чаcть
- Створюємо клас для користувачів (User)
- Створюємо клас UserTools
- Реєстрація \ Логін \ Вихід
Частина №3 - Створюємо зовнішній інтерфейс
- форми
- Обробка форм
- Відображення інформації сесій
Починаємо наш проект!
Створюємо план дій
Завжди важливо представляти кінцевий результат. Перш ніж почати з кодом необхідно задати мети, уявити весь проект і вирішити якою буде структура папок і які файли Вам знадобляться. Мета даного проекту дуже проста: створити просте додаток на PHP з можливістю реєстрації користувачів, входу і виходу, а також з можливістю користувачам змінювати власні настройки.
Структура фото і Тек
ООП PHP програмування використовує класи і об'єкти для виконання необхідних для застосування операцій. При плануванні Вам необхідно подумати про те, які класи Вам знадобляться. Для даного проекту ми створимо 3 класу. Перший клас - User (буде містити інформацію про користувача з функцією простого збереження save ()), другий - UserTools (буде містити функції, які необхідні користувачам, такі як login (), logout () та інші.), Третій - клас БД ( він буде виконувати роль сполучної ланки - під'єднання до БД, внесення змін, вставка нових лав, і багато іншого).
Крім класів, ми також будемо використовувати файл з назвою global.inc.php. Цей файл буде викликатися з кожної сторінки і виконувати звичайні операції, які нам знадобляться. Наприклад, в цьому файлі ми будемо виконувати підключення до БД на кожній сторінці.
Інші файли - це сторінки для користувачів: index.php, register.php, login.php, logout.php, settings.php і welcome.php.
Загальна структура у нас буде виглядати так:
Створення Бази Даних і таблиці users
На Вашому сервері повинен бути встановлений MySQL. Для початку необхідно створити нову базу даних для Вашого застосування. У цій БД створіть таблицю users, яку ми будемо використовувати для цього уроку. Можете використовувати наступний код SQL:
Первинним ключем у нас виступає поле "id", і саме його ми будемо використовувати для ідентифікації наших користувачів.
Унікальним полем у нас також буде "username". Інші необхідні поля "password", "email", і "join_date".
Створюємо клас DB.class.php
Мета даного класу дуже проста: якомога більше зменшити використання SQL при зверненні до БД, а також організувати дані в зручний для нас формат.
Нижче наведено код:
Після створення класу Ви бачите 4 змінні: $ db_name, $ db_user, $ db_pass, і $ db_host. У них необхідно внести дані для підключення до БД. $ Db_host зазвичай localhost. Перед цими змінними зазначено "protected" - це означає, що вони будуть не доступні поза цього класу. Усередині ж класу їх можна виводити використовуючи $ this-> db_name, $ this-> db_user, і т.д.
Перша функція називається connect (). Ця функція містить захищені значення для з'єднання з БД. Це з'єднання буде відкрито для використання в будь-якому місці поточної сторінки (не тільки всередині класу).
Ось приклад використання цієї функції поза класом:
Друга функція називається processRowSet (). Мета даної функції - взяти об'єкт результату mysql і конвертувати його в асоціативний масив, в якому ключами є назва колонок. Функція проходить по кожному ряду і функція mysql_fetch_assoc () перетворює кожен ряд в масив. Ряд далі передається масиву і повертається за допомогою функції.
Існує другий аргумент $ singleRow, який містить значення за замовчуванням. Якщо значення true, виводиться тільки один ряд замість масиву. Це дуже корисно, якщо Ви очікуєте отримати один результат (наприклад, при виборі користувача з БД використовуючи унікальний id).
Останні 3 функції виконують прості функції MySQL: select, insert, update. Мета даних функцій мінімізувати кількість SQL коду, який необхідно використовувати будь-де в іншому місці програми. Кожна функція створює SQL запит на основі переданого значення і виконує цей запит. У разі select (), результати форматируются і виводяться. У разі update (), виводиться true при успішному виконанні. У разі insert (), виводиться id нового ряду.
Ось приклад як Ви можете змінити дані користувача в БД використовуючи функцію update ():
Ось і все на сьогодні! До наступних частин!
Друга частина уроку тут. третя - тут
За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!
Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!
Якщо ви вже вивчили HTML і хочете рухатися далі, то наступним кроком буде вивчення технології CSS.
Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!