Будуємо свою cms на php і mysql
В ході процесу ви навчитеся створювати бази і таблиці MySQL, працювати з об'єктами, константами, включеннями, сесіями і іншими інструментами PHP. Крім того ми покажемо, як відокремлювати логіку додатки від презентації і зробити код PHP безпечнішим. А також вам відкриється багато іншого, корисне в справі створення власної системи мрії.
Примітка: для вивчення матеріалів уроків потрібно веб сервер Apache з встановленим модулем PHP і сервер MySQL. Для роботи на локальному комп'ютері можна скористатися одним з інструментів веб розробника: XAMPP (англійською мовою), Denwer. Open server або іншим.
Функціонал нашої CMS
Насамперед треба точно визначитися, що буде робити наша CMS. Отже, ось список функцій:
- Вхід / вихід для адміністратора
- Список всіх статей
- Додавання нової статті
- Редагування існуючої статті
- Видалення існуючої статті
планування робіт
Для створення нашої CMS потрібно зробити наступні кроки
- Створити базу даних
- Створити таблицю articles
- Зробити файл конфігурації
- Побудувати клас Article
- Написати скрипт клієнтської частини index.php
- Написати скрипт серверної частини admin.php
- Створити шаблон клієнтської частини
- Створити шаблон серверної частини
- Створити таблицю стилів і логотип системи
Примітка: на сторінках уроків наводиться код для нашої CMS готовий до копіювання в ваші текстові файли. Якщо у вас немає бажання створювати файли самостійно, то можна завантажити архів з вихідними кодами, в якому містяться всі потрібні папки і файли.
Крок 1. Створюємо базу даних
На першому етапі необхідно створити базу даних MySQL для зберігання змісту. Можна зробити так:
Запускаємо програму клієнт mysql Відкриваємо вікно терміналу і набираємо команду
mysql -u username -p
Після запиту введіть пароль для доступу до MySQL.
username - ім'я користувача, який має повноваження для створення баз даних. У разі роботи на локальному комп'ютері можна використовувати root. хоча для безпеки завжди слід створювати користувача з іншим ім'ям для вирішення завдань адміністрування.
Створюємо базу даних Після мітки mysql> вводимо:
create database cms;
І натискаємо Enter.
Виходимо з програми клієнта mysql Після мітки mysql> вводимо:
І натискаємо Enter.
Для вирішення такого завдання також можна скористатися інструментами для адміністрування баз даних, таким як phpMyAdmin, cPanel або Plesk (якщо вони встановлені на вашому сервері). У деяких випадках використання подібних інструментів є єдиним доступним для користувача інструментом для роботи з базами даних (ситуація залежить від правил, встановлених на вашому хостингу).
Крок 2. Створюємо таблицю articles
Наша проста CMS має єдину таблицю в базі даних: articles. У ній містяться всі статті в нашій системі.
Створимо схему таблиці. Схема таблиці описує типи даних, які можуть міститися в таблиці і інформацію про неї.
Створюємо текстовий файл tables.sql на жорсткому диску і додаємо в нього наступний код:
Вище наведений код визначає схему таблиці articles. Він написаний на SQL, мовою для створення і маніпулювання базами даних в MySQL (і в багатьох інших системах).
Розберемо вище наведений код
Тепер у нас є схема таблиці і її потрібно завантажити в MySQL для створення структури. Найпростіший спосіб - відкрити вікно терміналу, перейти до папки з файлом tables.sql і запустити наступну команду:
mysql -u username -p cms де username - ім'я користувача MySQL, а cms - ім'я бази даних, яку ми створили на кроці 1. Вводите пароль користувача після запиту, і MySQL завантажить і виконає код з файлу tables.sql. створивши таблицю articles в базі даних cms. Також можна скористатися інструментами для адміністрування баз даних, таким як phpMyAdmin, cPanel або Plesk (якщо вони встановлені на вашому сервері). Тепер у нас є база даних і ми готові розробляти код PHP. Почнемо зі створення файлу конфігурації для зберігання різних установок для нашої CMS. Даний файл буде використовуватися іншими скриптами нашої системи. Насамперед створюємо папку cms в папці веб сервера. Вона буде містити всі файли нашої CMS. В папці cms створюємо файл config.php і копіюємо в нього наступний код: Розберемо код докладно: Такий обробник виключень зроблений для спрощення матеріалів уроку. "Правильний" спосіб для обробки винятків для перехоплення всіх викликів PDO в Article.php полягає в використанні блоків try. catch. У наступному уроці ми побудуємо основний клас нашого застосування - Article. Flex27 тут же PDO. Я подивився щодо мови. По-перше потрібно додати кодування на завантажувані сторінки.)) А по-друге в функції public function __construct стоять обмеження на символи. и опять про висновок статей зроблено! ну невже не можна зробити щось більш менш варте? наприклад сайт для роботи з різним контентом (список файлів - фільми, ігри, музика) а не ці статті. Про соціалку підтримую, ось я наприклад навіть не уявляю як це реалізувати, от би хто пояснив, а то Дуров і Цукерберг навряд чи стануть ділитися досвідом! що таке вікно терміналу і як ним користуватися. термінал це командний рядок, в Лінуксі називається термінал або shell наскільки я знаю. Скачав исходник, але він не запускається, пише помилку Sorry, a problem occurred. Please try later. При такій проблемі перевір версію php і підключені чи потрібні модулі в php.ini. А вам не здається, що викладати з помилками "поганий тон"? Наприклад админка: Warning: session_start () [function.session-start]: Can not send session cookie - headers already sent by (output started at /home/elated/v3.elated.com/articles/development/php/cms-in- an-afternoon-php-mysql / config.php: 21) in /home/elated/public_html/res/File/articles/development/php/cms-in-an-afternoon-php-mysql/demo/admin.php on line 4 Warning: session_start () [function.session-start]: Can not send session cache limiter - headers already sent (output started at /home/elated/v3.elated.com/articles/development/php/cms-in-an -afternoon-php-mysql / config.php: 21) in /home/elated/public_html/res/File/articles/development/php/cms-in-an-afternoon-php-mysql/demo/admin.php on line 4 Warning: Can not modify header information - headers already sent by (output started at /home/elated/v3.elated.com/articles/development/php/cms-in-an-afternoon-php-mysql/config.php:21 ) in /home/elated/public_html/res/File/articles/development/php/cms-in-an-afternoon-php-mysql/demo/admin.ph p on line 47 перекодуйте файли в UTF-8 без BOM. Це помилка сесій. Допоможу з проектами будь-якої складності! mail [email protected] skype - san4o123123 Блін підкажіть що це за помилка така? Sorry, a problem occurred. Please try later. в перші таке бачу, тупа напис про помилку. а яку нід версію пхп? Недключена база даних, перевір дані! як за допомогою пхп ми адмін Додати таблицю? ви так пишіть, як ніби я це кожен день роблю і сам все знаю. але в такому б випадку мені ці уроки були не потрібні. розжуйте ласка все по поличках для людини який взагалі ні бе ні ме Admin, а чому вибрав MODX, розкажеш які переваги? Хто досвідчений, додайте будь ласка людські пояснення з приводу "правильного" способу обробки винятків для перехоплення всіх викликів PDO. в даному прикладіКрок 3. Створюємо файл конфігурації
Зауваження про безпеку
fabrigas201
classic1698
nik.gavrilovich
Shade1234321
uasd
За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!
Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!
Якщо ви вже вивчили HTML і хочете рухатися далі, то наступним кроком буде вивчення технології CSS.
Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!