За последние 24 часа нас посетили 18347 программистов и 1637 роботов. Сейчас ищут 1667 программистов ...

Проблема с namespace'ами

Тема в разделе "Прочие вопросы по PHP", создана пользователем pavel-php5, 5 янв 2012.

  1. pavel-php5

    pavel-php5 Активный пользователь

    С нами с:
    30 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Здравствуйте, коллеги!

    Решил попробовать воспользоваться namespace'ами вне какого-либо фреймворка, но что-то не получается.

    Вот у меня есть два файла, которые лежат на одном уровне:

    test.php
    PHP:
    1. <?php
    2. namespace testpro;
    3.  
    4. class test
    5. {
    6.     public static $test = 'test456';
    7. }
    index.php
    PHP:
    1. <?php
    2. namespace testpro;
    3.  
    4. echo \testpro\test::$test;
    Запускаю index.php и получаю вот такую ошибку:
    Код (Text):
    1. Fatal error: Class 'testpro\test' not found in index.php on line 4
    Версия PHP: 5.3.3
    PHP работает как модуль Apache2.

    Подскажите пожалуйста в чем проблема! Спасибо.
     
  2. karlozzz

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

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
  3. Amperandus

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

    С нами с:
    13 мар 2009
    Сообщения:
    226
    Симпатии:
    11
  4. pavel-php5

    pavel-php5 Активный пользователь

    С нами с:
    30 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Я думал, что использование неймспейсов избавляет от использования include. Значит, никакой магии тут нет, сам он файлы не ищет. Придется использовать автозагрузку.

    Спасибо.
     
  5. udodirc

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

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    В фреймворках неймспейсы прописаны в коде, поэтому если хочешь их использовать надо писать в коде вручную в сервисном классе.