2013-10-09 3 views
1

Я работаю с php под xampp.Пространство имен в php под xampp

В моем C: \ XAMPP \ HTDOCS \ AppLib1 \ lib1.php

<?php 
// application library 1 i.e. lib1.php 
namespace AppLib1; 

const MYCONST = 'AppLib1MYCONST'; 

function MyFunction() { 
    return __FUNCTION__; 
} 

class MyClass { 
    static function WhoAmI() { 
     return __METHOD__; 
    } 
} 
?> 

и в моем C: \ XAMPP \ HTDOCS \ myapp.php

<?php 
//myapp.php 

header('Content-type: text/plain'); 
include_once ('lib1.php'); 

echo AppLib1MYCONST . "n"; 
echo AppLib1MyFunction() . "n"; 
echo AppLib1MyClass::WhoAmI() . "n"; 
?> 

теперь, когда я бегу не myapp.php локально, я получаю Fatal Error


Предупреждение: require_once (lib1.php): не удалось открыть поток: нет такого файла или Каталог в C: \ XAMPP \ HTDOCS \ myapp.php на линии

неустранимая ошибка: require_once(): Ошибка открытия требуется 'lib1.php' (include_path =».; C: \ XAMPP \ PHP \ PEAR ') в C: \ XAMPP \ HTDOCS \ myapp.php на линии

Может кто-нибудь объяснить мне, как использовать функцию, класс, постоянный от lib1.php

выход должно быть: AppLib1MYCONS T AppLib1MyFunction AppLib1MyClass :: WhoAmI

Я знаю, что проблемы столкновения могут быть решены с помощью пространств имен.

ответ

0

Я считаю, что вам нужно, чтобы назвать это так:

echo AppLib1\MYCONST . "n"; 
echo AppLib1\MyFunction() . "n"; 
echo AppLib1\MyClass::WhoAmI() . "n"; 
Смежные вопросы