Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec3-thesis.doc
Скачиваний:
4
Добавлен:
14.11.2019
Размер:
69.12 Кб
Скачать

Функции php

Пользовательские функции:

function foo($arg1 = val1, $arg2 = val2, /* ..., */ $argN = valN) {

...

return $retVal;

}

PHP поддерживает рекурсию, передачу аргументов по ссылке (&$var), значения аргументов по умолчанию и списки аргументов переменной длины (при помощи специальных функций).

Функции могут быть описаны прямо в точке их использования.

Все функции и классы PHP имеют глобальную область видимости (даже вложенные)

PHP не поддерживает перегрузку, удаление или переопределение функций (за исключением наследования в классах)

Имена функций регистронезависимы, тем не менее, более предпочтительно вызывать функции так, как они были объявлены.

Так же как "переменные переменных" могут использоваться "переменные функций": $func('test');

function_name(); // Вызов функции function_name

$c = 'function_name';

$c(); // Вызов функции function_name,

===========================================================

Классы и объекты

Основы ООП

Смещение приоритетов в процессе программирования от функциональности приложения к структурам данных.

Суть - описание предметной области как системы сущностей. Выполнение программы = взаимодействию этих сущностей между собой. Что это нам дает?

- простота понимания, более наглядное представление

- облегчает разработку и сопровождение: структура -> модульность -> расширяемость, безопасность

Класс - это базовое понятие ООП. Объект - реализация класса

Объектно-ориентированное программирование основано на 3 принципах:

- Инкапсуляции;

- Полиморфизме;

- Наследовании.

Инкапсуляция - объединение данных с методами (или другими функциями), обрабатывающими эти данные. В результате этого программист работает непосредственно с этим объектом, что приводит к упрощению программы, поскольку из нее исключаются второстепенные детали.

Полиморфизм - возможность объектов с одинаковой спецификацией иметь различную реализацию.

Наследование - описание нового класса на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.

<?php

// Создаем новый класс Coor:

class Coor {

// данные (свойства):

var $name;

const constant = 'значение константы';

// методы:

function Getname() {

return $this->name;

}

}

// Создаем объект класса Coor:

$object = new Coor;

// Получаем доступ к членам класса:

$object->name = "Alex";

echo $object->name;

echo $object->Getname();

?>

В контексте класса можно создать новый объект через new self и new parent.

Наследование:

class Child extends Test {}

Доступ к родительским методам возможен через parent::метод()

ПХП не поддерживает множественное наследование

конструкторы и деструкторы - необязательные методы, автоматически выполняются при создании/уничтожении объекта.

void __construct ([ mixed $args [, $... ]] )

void __destruct ( void )

Конструкторы/деструкторы классов-родителей не вызываются автоматически, если класс-потомок определяет собственный конструктор/деструктор в зависимости от количества передаваемых параметров могут вызываться разные конструкторы.

В ПХП4 имя конструктора должно совпадать с именем класса. В целях совместимости поддерживаются оба варианта (приоритет у __construct).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]