SEO продвижение сайтов

Пространства имен в PHP

Пространство имён (namespace) - предназначено для разделения кода в больших проектах для того, чтобы не допустить путаницы, одинаковых названий классов, функций и констант, обращение к которым происходит через уникальные имена пространства имен.

Так Вы сможете смело подключать сторонние библиотеки и не бояться, что там будут такие же имена, как и в вашем коде, которые могут привести к фатальным ошибкам.

Пример:

<?php
	namespace dir\gena\f;
	class Gena {
		function __construct() {
			echo "Гена<br />\n";
		}
	}
	
	namespace dir\ivan\f;
	class Gena {
		function __construct() {
			echo "Иван<br />\n";
		}
	}
	
	new \dir\gena\f\Gena();//Гена
	new \dir\ivan\f\Gena();//Иван
	
	new Gena();//Иван

	use \dir\gena\f;//Импортируем пространство имен
	new f\Gena();//Гена

	use \dir\gena\f AS g;//Импортируем пространство имен КАК псевдоним
	new g\Gena();//Гена

	namespace dir\ivan\f;
	new Gena();//Иван
?>

На практике каждый класс переносят на отдельный файл.php, потом "инклюдят" в основной код. Имя класса принято указывать с большой буквы.

<?php
	require_once("Gena.php");
	$oG=new Gena();//Ошибка: класс не найден
	$oG=new \dir\gena\f\Gena();//Всё работает - указали в начале namespace dir\gena\f;
?>

Импортируем пространства имен - use

<?php
	require_once("Gena.php");

	use dir\gena\f;//Импортируем пространство имен
	new f\Gena();//Гена
?>

или так...

<?php
	require_once("Gena.php");

	use dir\gena\f\Gena;//Импортируем пространство имен
	new Gena();//Гена
?>

или так...

<?php
	require_once("Gena.php");

	use dir\gena;//Импортируем пространство имен
	new gena\f\Gena();//Гена
?>

Добавить комментарий


Защитный код
Обновить

Ошибки в тексте выделить и Ctrl+Enter


Расскажи о нас друзьям

Web-технологии

SQL инъекции в PHP

Конечно, SQL инъекции в PHP возможны только при отсутствии проверки данных из форм и при наличии явных ошибках программистов. Я пишу эту статью для тех, кто НЕ хочет стать жертвой таких атак на свой сайт и для тех, кто хочет писать свои безопасные приложения.

Пишем форму для отправки логина и пароля для АВТОРИЗАЦИИ:

<form action="" method="POST">
        <input type="text" name="email" value="<?=$email?>"><br>
        <input type="text" name="pass" value="<?=$pass?>"><br>
        <input type="submit" name="subm" value="Авторизоваться">
</form>
Подробнее...

PHP-код вывода массивов в HTML

Все программисты PHP (с любым уровнем подготовки), конечно знаю, как вывести массив PHP в HTML-код: ну, конечно же через цикл!

Я предлагаю это сделать при помощи функции, которая отобразит любой массив в любом виде c HTML оформлением. Данной функции мы передаём в качестве аргументов: массив и формат отображения его в виде другой функции.

Такой подход даёт универсальность данной функции отображения массива и значительно сокращает дублирование PHP кода.

Пример:

Подробнее...

Composer — менеджер зависимостей в PHP

https://getcomposer.org/

  • Запускаем Open Server, открываем консоль,
  • Переходим в папку проекста - cd C:\Users\alehin_gv\Desktop\OSPanel\domains\test.ru
  • Скачиваем Композер - composer init
  • Устанавливается composer.json
Подробнее...
Интересные статьи

Стишки-депрессяшки

Стишки-депрессяшки

У меня нет попы

у меня нет тить

я должна работать

чтобы как то жить

©

В камасутре много

интересных поз

жаль у нас с женою

остеохондроз

©

Надо же приснится

всякая херня

прямо на работе

среди бела дня

Подробнее...

Почему или резонные вопросы

Почему или резонные вопросы

Хотель бы получить ответы на такие вопросы:

  1. Почему современные технологии одновременно позволяют производить банки для пива, которые не разлагаются на свалке за 100 лет, и кузова автомобилей, которые гниют за 3-4 года?
  2. Почему лимонный сок сделан из концентрата, а средство для мытья посуды – из настоящего лимона?
  3. Почему белая нитка, которой соединены новые носки, всегда оказывается прочнее, чем нитки, из которых сделаны сами носки?
Подробнее...

Детские загадки для взрослых

murzilka m

*Загадки, которые были опубликованы в журнале "Мурзилка" 30 лет назад!!! Сегодня они не для детей точно: ))*

1. Чтобы спереди погладить, нужно сзади полизать. (Почтовая марка)

2. Кругом волоса, посредине колбаса. (Кукуруза)

3. Сверху черно внутри красно, как засунешь так прекрасно. (Галоши)

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить