Пространство имен/подпространства имен

Для работы над большим количеством кода необходимо делить его на составные модули (компоненты). Каждый компонент кода - это класс, которые несет свою смысловую нагрузку.
Каждый файл это класс. В каждом классе свой набор методов и функций. Чтобы не писать для каждой функции отдельное название, можно писать одни и те же названия , но с префиксом в названии. Этот префикс в названии есть имя пространства имен к которому относится функция. Или к какому файлу относится название данной функции.

Создадим в корневой папке где мы запускаем скрипты файл index.php.
Дальше создадим папку admin и users.
В папке admin пишем код:

<?php
	namespace Admin;
	
	class Page
	{
		public $f;
		function getInformation ($f) {
			if (!$f== null) {
				echo "You are write :".$f;
			} else {
				echo "You are not write anything";
			}
		} 
	}
?>

В папке users:

<?php
	namespace Users;
	
	class Page
	{
		
	}
?>

В индексном файле index.php пишем:

	require_once 'admin/page.php';
	require_once 'users/page.php';
	$adminPage = new \Admin\Page;
	$usersPage = new \Users\Page;
    $f="wewew";
	$adminPage->getInformation ($f);

Что такое подпространства имен? Это когда мы делим пространство имен Admin еще на два имени, например, data и view. Создадим в папке admin две папки data и view.

В папке admin пишем:


<?php
	namespace Admin\Data;
	
	class Page
	{
		
	}
?>

В папке data пишем:

<?php
	namespace Admin\View;
	
	class Page
	{
		
	}
?>

И в файле index.php пишем:

	require_once 'admin/data/page.php';
	require_once 'admin/view/page.php';
	$adminDataPage = new \Admin\Data\Page;
	$adminViewPage = new \Admin\View\Page;

Данные использованы с сайта