PHP: Обработка ошибок и отладка

Что мы узнаем:
  • Как ловить и обрабатывать ошибки в PHP.
  • Принципы отладки и трассировки ошибок.
  • Использование функций для работы с ошибками.

Обработка ошибок


PHP предоставляет несколько механизмов для обработки ошибок:

Функция trigger_error()
Используется для генерации пользовательских предупреждений и ошибок:
trigger_error("Ошибка обработки данных.", E_USER_WARNING);

Функция set_error_handler()
Позволяет зарегистрировать пользовательскую функцию для обработки ошибок:
function customErrorHandler($errno, $errstr) {
    echo "Ошибка: $errstr";
}

set_error_handler("customErrorHandler");

Отладка и трассировка ошибок


Для отладки и отслеживания ошибок в PHP можно использовать

Функция debug_backtrace()
Возвращает массив с информацией о вызовах функций:
$backtrace = debug_backtrace();
print_r($backtrace);

Функция error_log()
Записывает сообщение об ошибке в журнал:
error_log("Ошибка: Невозможно выполнить запрос.");

Практическое задание


Создайте PHP-скр...

PHP: Работа с файлами и каталогами

Что мы узнаем:
  • Как читать и записывать файлы.
  • Как работать с каталогами.
  • Примеры использования функций для работы с файлами.

Чтение файла


Функция file_get_contents() позволяет прочитать содержимое файла в строку. Пример:
// Чтение файла
$fileContent = file_get_contents('example.txt');
echo $fileContent;

Запись в файл


Функция file_put_contents() позволяет записать данные в файл. Пример:
// Запись в файл
$fileContent = "Привет, мир!";
file_put_contents('example.txt', $fileContent);

Работа с каталогами


Функция scandir() позволяет получить список файлов и каталогов в директории. Пример:
// Получение списка файлов в каталоге
$files = scandir('.');
print_r($files);

Создание каталога


Функция mkdir() позволяет создать новый каталог. Пример:
// Создание каталога
mkdir('new_folder');

Удаление файла


Функция unlink() позволяет удалить файл. Пример:
// Удаление файла
unlink('example.txt');

Практическое задание


Создайте PHP-скрипт,...

PHP: Обработка форм и защита от атак

Что мы узнаем:
  • Как обрабатывать данные, отправленные через форму.
  • Защита от SQL-инъекций и XSS-атак.
  • Использование функций очистки данных.

Обработка данных формы


Когда пользователь отправляет данные через форму, они попадают в суперглобальные массивы $_GET или $_POST. Пример:
// Получение данных из формы
$name = $_POST['name'];
$email = $_POST['email'];

Защита от SQL-инъекций


SQL-инъекции — это атаки, при которых злоумышленник пытается выполнить вредоносный SQL-код через форму. Для защиты от них рекомендуется использовать подготовленные выражения (prepared statements).

Пример с подготовленным выражением:
// Подключение к базе данных
$mysqli = new mysqli("localhost", "user", "password", "database");

// Подготовленное выражение
$stmt = $mysqli->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$stmt->execute();

Защита от XSS-атак


XSS (Cross-Site Scripting) — это атака, при которой злоумышленник вставляет вредоносный...

PHP: Сессии и Cookie

Что мы узнаем:
  • Что такое сессии и cookie.
  • Как работать с сессиями и cookie в PHP.
  • Примеры использования сессий и cookie.

Что такое сессии и cookie?


Сессии и cookie — это механизмы, позволяющие сохранять данные между запросами пользователя. Они помогают поддерживать состояние пользователя на протяжении нескольких страниц.

Как работают сессии?


Сессии позволяют сохранять данные на стороне сервера. Каждый пользователь получает уникальный идентификатор сессии, который хранится в куки или передается через URL.

Пример использования сессий:
// Запуск сессии
session_start();

// Сохранение данных в сессии
$_SESSION['username'] = 'Иван';

// Чтение данных из сессии
echo $_SESSION['username']; // Вывод: Иван

Как работают cookie?


Cookie — это небольшие порции данных, которые хранятся на стороне клиента (браузера). Они могут использоваться для сохранения настроек пользователя, аутентификации и других целей.

Пример использования cookie:
// Установка cookie
setcookie('username',
...

PHP: Объектно-ориентированное программирование

Что мы узнаем:
  • Что такое классы и объекты.
  • Как создавать классы и объекты.
  • Понятие инкапсуляции, наследования и полиморфизма.

Что такое классы и объекты?


Класс — это шаблон, определяющий структуру и поведение объекта. Объект — это экземпляр класса, имеющий конкретные значения свойств и методов.

Как создать класс?


Класс в PHP создается с помощью ключевого слова class. Пример:
class User {
    public $name;
    public $age;

    public function sayHello() {
        echo "Привет, меня зовут $this->name!";
    }
}

Как создать объект?


Объект создается с помощью оператора new. Пример:
$user = new User();
$user->name = "Иван";
$user->sayHello(); // Вывод: Привет, меня зовут Иван!

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


Инкапсуляция — это механизм сокрытия данных и методов внутри класса. Пример:
class Car {
    private $speed = 0;

    public function accelerate($amount) {
        $this->speed += $amount;
    }

    public function getSpeed() {
        return $this->speed;
    }
}

Насле

...