Внешние файлы
Часть раздела Объектно-ориентированное программирование путешествия по PHP на Coddy — урок 1 из 91.
Внешние файлы позволяют организовывать ваши классы в отдельных PHP-файлах и включать их в вашу основную программу с помощью require_once.
Создайте отдельный PHP-файл с именем my_class.php
<?php
class MyClass {
// тело класса
}Подключите файл к вашему основному файлу с помощью require_once
<?php
require_once 'my_class.php';Теперь вы можете использовать класс в вашем основном файле
$obj = new MyClass();
echo get_class($obj);Вывод:
MyClassИнструкция require_once 'my_class.php'; подключает файл my_class.php к вашей программе. Имя файла должно включать расширение .php и быть заключено в кавычки. require_once гарантирует, что файл будет загружен только один раз, даже если инструкция встречается несколько раз.
Задание
СреднеВам даны PHP-файлы (my_class.php и driver.php). Добавьте правильную инструкцию require_once в файл driver.php, чтобы соединить файлы и использовать класс из внешнего файла!
Шпаргалка
Используйте require_once для включения внешних PHP-файлов в вашу основную программу:
require_once 'my_class.php';Имя файла должно включать расширение .php и быть заключено в кавычки. require_once гарантирует, что файл будет загружен только один раз, даже если инструкция встречается несколько раз.
Пример использования класса из внешнего файла:
<?php
require_once 'my_class.php';
$obj = new MyClass();
echo get_class($obj); // Вывод: MyClassПопробуйте сами
<?php
// TODO: Добавьте инструкцию require_once для включения my_class.php
$testCase = trim(fgets(STDIN));
$obj = new MyClass();
echo "Test completed\n";
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Объектно-ориентированное программирование
1Основы ООП
Внешние файлыВведение в ООПКлассы и объектыКлючевое слово $thisМетодыСвойстваКонструктор (__construct)Деструктор (__destruct)Итоги — Простой калькулятор4Наследование
Основы наследованияКлючевое слово parent::Переопределение методовКлючевое слово finalАбстрактные классыИтоги — Иерархия сотрудников7Инкапсуляция
Public, Protected, PrivateПодробный разбор модификаторов доступаГеттеры и сеттерыСокрытие данныхConstructor Promotion (8.0)Итоги — Система учета студентов10Продвинутые концепции ООП
Композиция против наследованияВнедрение зависимостейАнонимные классыПеречисления (PHP 8.1)Файберы (PHP 8.1)Глубокое погружение в клонирование объектовГенераторы и итераторы13Паттерны проектирования. Часть 2
Паттерн КомандаПаттерн АдаптерПаттерн ДекораторПаттерн Шаблонный методПаттерн СостояниеПаттерн КомпоновщикПаттерн Репозиторий2Пространства имен и автозагрузка
Введение в пространства именКлючевое слово useСтандарт автозагрузки PSR-4Автозагрузчик ComposerИтоги: структурированный проект5Интерфейсы и контракты
Введение в интерфейсыРеализация интерфейсовРеализация нескольких интерфейсовИнтерфейс против абстрактного классаType Hinting с интерфейсамиИтоги — Калькулятор фигур8Магические методы
Введение в магические методы__toString и __debugInfo__get, __set, __isset, __unset__call и __callStatic__clone и клонирование объектов__serialize и __unserializeИтоги — Кастомная коллекция11Система типов и обработка ошибок
Объявление типовNullable-типыТипы объединения и пересеченияКлассы исключенийИерархия пользовательских исключенийTry, Catch, FinallyИтоги — Валидатор форм14Проект: Управление библиотекой
Обзор проектаКлассы Book и User3Свойства классов
Свойства экземпляра и статические свойстваКонстанты в классахСтатические методы и свойстваПриватные и защищенные свойстваСвойства Readonly (PHP 8.1)Итоги — Менеджер банковского счета6Полиморфизм
Снова о переопределении методовПолиморфизм через интерфейсыType Hinting и Union TypesПозднее статическое связываниеИтоги — Payment Processor9Трейты
Введение в трейтыИспользование нескольких трейтовРазрешение конфликтов трейтовАбстрактные методы в трейтахТрейты и наследование12Паттерны проектирования. Часть 1
Введение в паттерны проектированияПаттерн SingletonПаттерн FactoryПаттерн ObserverПаттерн Strategy