За последние 24 часа нас посетили 16874 программиста и 1646 роботов. Сейчас ищут 1030 программистов ...

вызов постороннего класса в namespace

Тема в разделе "PHP для новичков", создана пользователем VLK, 26 авг 2014.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Есть класс который не относится к namespace, т.е. просто класс:

    Код (PHP):
    1. class cls {
    2. function show() {
    3. echo 'in cls ';
    4. }
    5. }
    и класс относящийся к namespace
    Код (PHP):
    1. namespace NS;
    2. class A {
    3. function action() {
    4. $ob = new cls();
    5. $ob->show();
    6. }
    7. }
    Как видите в этом классе идет обращение к классу cls, данный код не работает, пишет что нет такого класса NS\cls, как правильно обращаться из класса namespace к классу который не имеет отношения ни к какому namespace.
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Re: вызов постороннего класса namespace

    Код (Text):
    1. \cls
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Re: вызов постороннего класса namespace

    Во, пашет, а можно еще такой вопрос, я так понимаю в автолоадер у меня будет попадать в таком случае - '\cls' или просто 'cls'?
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Re: вызов постороннего класса namespace

    Без понятия. Ни разу не писал сам автолоадер. В простых проектах я явно делаю require_once, а в сложных за меня это делает фреймворк
     
  5. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    затестил, приходит просто название класса без '\', т.е. можно и так обращаться:
    Код (PHP):
    1. class cls {
    2. }
    3.  
    4. $ob = new \cls(); 
    был у меня еще какой то вопрос, но я забыл его, вспомню, спрошу :)