За последние 24 часа нас посетили 44448 программистов и 1807 роботов. Сейчас ищут 1108 программистов ...

в чем разница между пространством имен и include

Тема в разделе "PHP для новичков", создана пользователем riaron, 29 апр 2018.

  1. riaron

    riaron Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    не понял разницу между пространством имен и include. Можете на пальцах обяснить?
     
  2. riaron

    riaron Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    Нашел, тут все понятно
    file1.php

    <?php
    namespace Foo\Bar\subnamespace;

    const FOO = 1;
    function foo() {}
    class foo
    {
    static function staticmethod() {}
    }
    ?>
    file2.php

    <?php
    namespace Foo\Bar;
    include 'file1.php';

    const FOO = 2;
    function foo() {}
    class foo
    {
    static function staticmethod() {}
    }

    /* Неполные имена */
    foo(); // определяется как функция Foo\Bar\foo
    foo::staticmethod(); // определяется как класс Foo\Bar\foo с методом staticmethod
    echo FOO; // определяется как константа Foo\Bar\FOO

    /* Полные имена */
    subnamespace\foo(); // определяется как функция Foo\Bar\subnamespace\foo
    subnamespace\foo::staticmethod(); // определяется как класс Foo\Bar\subnamespace\foo
    // c методом staticmethod
    echo subnamespace\FOO; // определяется как константа Foo\Bar\subnamespace\FOO

    /* Абсолютные имена */
    \Foo\Bar\foo(); // определяется как функция Foo\Bar\foo
    \Foo\Bar\foo::staticmethod(); // определяется как класс Foo\Bar\foo с методом staticmethod
    echo \Foo\Bar\FOO; // определяется как константа Foo\Bar\FOO
    ?>
     
    igordata нравится это.