Задать вопрос

Php, слеш перед именем класса

Здравствуйте.
Вопрос такой:
$date = new \DateTime(); - для чего поставлен слеш перед именем класса?
Для чего его вообще ставить, и в каких случаях.
  • Вопрос задан
  • 6736 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
janson
@janson
PHP-разработчик
1. Читаем мануал по namespace в PHP. Обязательно пригодится.
2. Запись \DateTime() означает, что нужно использовать встроенный тип DateTime() который есть в PHP (он находится в корне пространств имён, т.е. начинается с '\' хотя если нет конфликтов, то слэш можно не указывать). Например у вас есть свой класс DateTime, находящийся в вашем собственном пространстве имён MySpace.

Какой-то ваш файл app/MySpace/DateTime.php:
<?php
namespace MySpace;

class DateTime {...}


Где-то в своём index.php вы используете его:
<?php
...
...
require_once 'app/MySpace/DateTime.php';

// если мы хотим создать объект СВОЕГО КЛАССА:
$myDateTime = new \MySpace\DateTime();

//Или так:
use \MySpace\DateTime;
$myDateTime2 = new DateTime();

// а вот если хотим использовать встроенный класс DateTime в данной ситуации:
$intDateTime = new \DateTime();


Так что, если вы хотите использовать в определённый момент именно встроенный тип данных PHP, то безопаснее вписать слэш перед именем файла - избавляемся от неоднозначностей.
Ответ написан
Комментировать
egor_nullptr
@egor_nullptr
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽