Найти в Дзене

Как в PHP подавить вывод сообщений об ошибках

Думаю, что даже начинающие PHP-программисты знают, что такое include. Я, например, узнал об этом довольно давно, когда вообще не собирался изучать PHP, а мне нужно было лишь найти решение, позволяющее “склеивать” страницу сайта из нескольких файлов. Сначала я использовал для этого JavaScript. Тоже рабочий способ, однако имеющий недостатки. Главным из них является то, что при отключенных сценариях браузер не сможет отобразить информацию, хранящуюся в подключаемых файлах.

Сценарии же PHP выполняются на сервере и не зависят от настроек браузера. Поэтому я быстро взял это на вооружение, при этом ничего более не зная о PHP. Вот, например, как можно подключить файл к странице и отобразить на странице то, что находится в этом файле:

Если, к примеру, в файле header.php у нас что-то типа

echo "Это подключаемый файл. ";

то при подключения этого файла к нашему основному файлу, все инструкции PHP будут выполнены так, как будто они находятся в основном файле. А если пользователь в браузере откроет исходный код страницы с помощью CTRL + U, то он не увидит include 'header.php';, а увидит вместо этого код (HTML, например), который хранится в header.php.

Всё это прекрасно, однако есть одна проблема. Если по каким-то причинам файл не удаётся подключить (например, недоступен ресурс, где этот файл хранится), то прямо на странице будут выведены сообщения об ошибках. Что-то типа этого:

-2

Пользователю эти сведения обычно мало чем помогают, но зато очень раздражают. В таких случаях лучше подавлять вывод сообщений об ошибках. Сделать это можно с помощью оператора @, добавив его перед include или require. Пример:

-3

Теперь, несмотря на то, что имя файла я изменил, а по указанному пути нет файла header1.php, сообщение об ошибке не будет отображаться. Разумеется, не будет отображаться и содержимое указанного файла, поскольку подцепить его к странице не удалось:

-4

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.