Четвер, 18.04.2024, 16:13 | RSS | Приветствую Вас Гість
Главная | Регистрация | Вход
Створення
Просування
Оптимізація
Ми переїхали!!!
Нова адреса сайту http://buildsait.pp.ua/
Главная
Меню сайта
Категории раздела
Підготовка до створення сайта [8]
Добре спроектований проект, буде створити простіше та швидше. Сюди відноситься: вибір тематики сайта, практичні поради для початківців і ін...
Установка програм [9]
Список необхідних програмних інструментів для створення web-проектів (сайтів). Інструкції по установці програм і посилання на дистрибутиви.
Приклад створення web-сайту [12]
Опис практичного прикладу створення конструкції web-сайту. Практичний приклад створення web-сайту.
Хостинг і домен [7]
Поняття хостингу і домену. Опис видів хостингу, їх порівняння і правила вибору оптимального хостингу. Як правильно підібрати ім'я домену...
Оптимізація web-сайту [7]
Оптимізований під пошукові системи web-сайт забезпечує високі позиції, швидку індексацію сторінок і, як результат, більшу кількість відвідувачів.
Розкручення web-сайту [9]
Опис основних видів і способів розкручення web-сайту. Опис різноманітних факторів, які впливають на позицію отриманих сторінок web-сайту при пошуковому запиті.
Заробіток web-майстра [6]
Опис основних видів заробітку web-майстрів, власників сайтів. Опис деяких партнерських програм, спосіб їх ефективного використання.
Joomla, Drupal, Wordpress [3]
Статті про CSM Joomla, Drupal та Wordpress
Joomla [4]
Матеріали пов'язані з використанням Joomla
Wordpress [1]
Матеріали пов'язані з використанням Wordpress
Drupal [1]
Матеріали пов'язані з використанням Drupal
Поиск
Наші спонсори
Тут може бути розміщена Ваша реклама

Главная » Статьи » Приклад створення web-сайту

5. ООП і класи в php
   Веб розробка сайтів веб майстрами, призводить, з часом, до створення перевірених і ефективних кодів для вирішення різних завдань. Уявіть собі сайт з точки зору архітектурного об'єкта. Ну, наприклад, будинок. Звичайний житловий будинок, в якому є двері, вікна, стіни, дах і т.д. Так ось, всі ці елементи будинку (двері та вікна) це окремі скрипти.
   ООП (об'єктно-орієнтоване програмування) у розробці сайту - це здатність маніпулювати різними елементами для побудови архітектури сайту. У PHP окремі елементи, які виконують вузько направлену функцію і можуть бути повністю або частково автономні визначаються у класах.

   Клас - це самостійний елемент (скрипт), який містить в собі змінні, їх значення і функції.

   На клас лягає відповідальна задача - виконувати окремий процес і керувати цим процесом. Наприклад, майже у кожного веб програміста є свій клас, який відповідає за з'єднання з базами даних. При необхідності веб майстер підключає цей клас і передає йому команду про отримання даних. Клас самостійно виконує запит до бази даних, у разі необхідності він може перебудувати запит до відповідного вигляду (конструкції), самостійно визначити тип бази даних, обробляти отриману відповідь і повертати у зручному для використання вигляді відповідь. Як бачите, клас це самостійний потужний інструмент, що дозволяє оптимізувати частину роботи.

   Як яскравий приклад ООП можна уявити звичайну CMS. Якщо у Вас був досвід роботи з CMS, то Ви знаєте, що CMS складається з модулів (текст, новини, фотогалерея, голосування, карта сайта). Кожен модуль це набір скриптів та шаблонів, які взаємодіють між собою і виконують завдання, за яку відповідальний модуль.
   Метою ООП (об'єктно-орієнтоване програмування) є вивчення основ побудови сайту на основі класів як окремих об'єктів. Будь-який сайт збирається як конструктор з різних об'єктів, які можуть взаємодіяти між собою. Будь-яка веб студія починаючи працювати над розробкою веб проектів, першим ділом створює свої універсальні об'єкти. Звичайно, зовсім не обов'язково створювати все з нуля, можна скористатися і поширеними в інтернеті популярними рішеннями. Однак, в кінцевому підсумку, щоб створити з набору об'єктів ефективний і функціональний сайт, необхідно створити своє ядро.
   Ядро сайту - клас, який дає завдання функціональним модулям сайту (об'єктам) і маніпулює ними. Якщо об'єкт, ще можна десь скачати, то ядро кожен створює самостійно.
   ООП особливо актуально у великих сайтах, які мають складну архітектурну побудову та безліч об'єктів. А для створення, невеликих сайтів це носить скоріше теоретичний характер.
   Однак, якщо завдання по створенню сайтів на Вас чекають неодноразово. То, Вам так чи інакше доведеться навчитися основам ООП. Адже створивши рішення в одному проекті Вам немає сенсу перестворювати його ще раз, все що потрібно це лише перенести його і підключити.
   Тут ми і підходимо до самої головної задачі ООП - вміння проектувати і глобально мислити. Кожен раз вирішуючи завдання будь-якої складності Ви повинні наперед продумати до якого об'єкту відноситься завдання, чи варто створювати окремий об'єкт або додати до вже існуючого об'єкта і як при цьому домогтися універсальності.
   Тепер, давайте подивимося, що з себе представляє об'єкт ООП в PHP (в якості прикладу візьмемо клас, не забувайте, що об'єкт це відносне поняття і може бути представлений як у вигляді класу так і у вигляді частини коду або набору скриптів):
   Як видно у прикладі, конструкція класу нагадує конструкцію функції, тільки починається зі слова Class. Всередині класу знаходяться оголошені змінні і функції. Це внутрішні аргументи класу і вони можуть змінювати своє значення і виконуються тільки при звернення до них через сам клас. Іншими словами, ніякі зовнішні змінні або функції не можуть вплинути на значення змінних і викликати функції, які знаходяться всередині класу. Ця властивість ООП носить назву "інкапсуляція" - все що знаходиться усередині капсули (об'єкта у вигляді звичайної змінної).
   Щоб звернутись до внутрішньої змінної (функції) класа всередині класа, використовується наступний шаблон:
   — $this->attribute_1 (для функций: $this->name_function_1(param1, paramN)),
   а щоб звернутись до внутрішньої змінної (функції) класа із ззовні класа такий шаблон:
   — $object_1->attribute_1 (для функций: $object_1->name_function_1(param1, paramN)).

   В останньому рядку приклада, ми створюємо безліч нових об'єктів класа NewClass під назвою $object_N.
   Посудіть самі, клас один, а об'єктів може бути скільки завгодно. Пам'ятаєте, на початку статті я порівняв сайт з архітектурної точки зору з домом, так вот в будинку може бути один дах, 4 стіни і 6 вікон і всього нам необхідно створити для цього 3 класу. А щоб Ви зрозуміли ще більш наочно з точки зору веб, то уявіть собі інформаційний сайт, у якого є 2 стрічки новин: вертикальна (загальна) і горизонтальна (список новин). Так от, це є 2 об'єкти одного класу "Новини", тільки використовують вони відображення інформації за допомогою різних шаблонів. Ви, також, часто бачили на деяких сайтах, рейтинги опублікованих статей (інформації), представлені у вигляді зірочок - всі вони ідентичні екземпляри свого класу.

   Отже, метою цієї статті є розкрити для Вас основи ООП. Ви повинні дивитися на процес по створенню сайту глобально. Поділіть свій сайт на умовні автономні об'єкти. Тут з'являється питання: Як же визначити що є об'єктом, а що не є об'єктом?

   Об'єкт - це аналітична частина сторінки чи сайту (об'єднання обчислювальної (логіки) і візуальної (відображення) частини сайту).

    До аналітичної частини сторінки можна віднести:
  1. основний текст разом з назвою, датою, підписом, малюнком;
  2. рейтинг статті;
  3. форма коментарю;
  4. блок новин;
  5. блок пошуку по сайту;
  6. навігаційний блок;
  7. рекламний блок і т.д.
    До аналітичної частини сайту можна, також віднести:
  1. клас відповідальний за з'єднання з базою даних;
  2. клас генератор сторінки за шаблоном;
  3. статистичний клас і т.д.
   Кожен об'єкт є самостійним, його можна підключати або відключити і це ніяк не позначиться на роботі інших об'єктів. Кожен об'єкт можна модернізувати і це торкнеться тільки його внутрішнього коду. І, нарешті, його можна перенести в інший веб проект, просто підключити і він буде чудово працювати. Це основна перевага ООП - об'єкти автономно, легко настроюються і модернізуються.

   Давайте, тепер перейдемо до практичного створення класу. Зробимо клас, відповідальний за з'єднання з базою даних MySQL:
   У мене вийшов такий ось невеликий клас "link_mysql", якому ми передаємо SQL запит, а він нам повертає результат і номер ID останнього активного рядка (це може бути корисним коли необхідно, наприклад, вставити новий рядок і отримати його ID) у вигляді масиву . Щоб зробити запит до бази даних необхідно підключити даний скрипт і звернутись до внутрішньої функції класу "link_mysql":
   Якщо необхідно звернутися до іншої бази даних достатньо лише змінити значення внутрішньої змінної класу, наприклад:
$link_mysql->dbname = "other_base".
   Як бачите, робота з класами не представляє великої складності. Всі професійні Web програмісти намагаються максимально розподіляти код в окремі класи. Клас може мати заздалегідь призначені внутрішні змінні зі значенням (дія класу за замовчуванням) або йому можуть призначатися нові значення внутрішніх змінних з середовища поза класу. Клас може мати необмежену кількість внутрішніх функцій, які можуть викликати один одного. Все це в цілому дає можливість створити ефективний і багатофункціональний об'єкт.

   Дотримуючись принципів об'єктно-орієнтованого програмування (ООП) в створенні сайтів, Ви набагато ефективніше зможете управляти своїми частинами коду, модифікувати, доповнювати новими функціями, заміняти один об'єкт іншим і т.д.



Категория: Приклад створення web-сайту | Добавил: defaultNick (18.11.2009)
Просмотров: 1810
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Copyright MyCorp © 2024
Безкоштовний хостинг uCoz