Объявление класса в PHP

Для того чтобы объявить класс в 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 имя класса никак не связано с именем файла, в котором размещён класс. Объектно-оринтированное приложение включает в себя большое колличество классов, поэтому лучше сразу продумать систему имени файлов.




Комментировать

captcha

  #1 / Гость
04 июня 2012 / Ответить  

Спасибо, помогли немного разобраться ;)

Проверенные сайты



Новые отзывы о сайтах


Авторизация

Если у Вас нет учетной записи, зарегистрируйтесь

captcha

Напомнить пароль
Создание учётной записи

captcha

  Подтверждаю, что согласен с условиями политики конфиденциальности.

Напомнить пароль

captcha

Войти в личный кабинет