Для того чтобы объявить класс в PHP, нужно в теле программы указать специальное слово "class", после чего создать тело класса с помощью фигурных скобок. В самом теле указываются Методы (Функции) и Члены (Переменные).
Пример:
class <указываем имя класса>
# После чего создаём тело класса;
{
/* Далее в теле создаём члены и методы класса; */
}
Иногда в теле документа объявляется множество тегов объявления PHP кода. Важной особенностью при создании класса в PHP является то, что весь класс располагается в одном блоке внутри тегов объявления кода, так как при попытке разрыва тела класса, вызывается ошибка.
Приведём пример как делать нельзя:
<?php
class name {
?>
# Последует ошибка;
Hello World!
<?php
}
?>
Прервать объявление класса невозможно, его не удаётся механически разбить и при помощи таких конструкций, как "include(_once)" и "require(_once)". Напомним, что при помощи конструкций можно включать PHP-скрипты в другие. Тем самым, мы избавляемся от многострочных файлов разбив их на мелкие, которые разработчику проще воспринять.
А сейчас продемонстрируем пример:
class myclass {
# Подключение внешнего файла является ошибочным;
require_once('class_.php');
# Будет вызвана ошибка;
}
Такое поведение может обескуражить опытных разработчиков, привыкших иметь дело с объектно-ориентированным программированием на других языках. Но в тоже время имеется некий способ обхода данного ограничения, т.к. в методах класса не запрещается использовать данные конструкции.
Забегая вперёд, продемонстрируем, как с помощью метода "bypass()", мы реализуем работающую конструкцию.
class name {
# Реализуем метод подключения внешнего файла;
public function bypass()
{
require_once('auth.php');
}
}
Важно с самого начала использовать "require" с суффиксом "once", чтобы предотвратить повторное включение самого файла. Конечно в небольшой "прозрачной" программе практически невозможно ошибиться и допустить ошибку, связанную с повторным включением файла с объявлением класса, однако в большие программы входит множество мелких приложений, и не исключён случай повторного ввода класса. А также в PHP имя класса никак не связано с именем файла, в котором размещён класс. Объектно-оринтированное приложение включает в себя большое колличество классов, поэтому лучше сразу продумать систему имени файлов.
Спасибо, помогли немного разобраться ;)