Я не понимаю этого:
Я использую функцию __autoload
в php, и это работает:
include_once '../sys/core/init.inc.php';
$Intro = new Intro();
echo $Intro->ip();
exit();
init.inc.php
загружает класс Intro и ip()
Функция распечатывает IP.
Но это не работает
include_once '../sys/core/init.inc.php';
/*
* Smarty template engine
*/
include_once '../sys/core/smarty/Smarty.class.php';
$smarty = new Smarty;
$smarty->debugging = false;
$smarty->caching = false;
$smarty->cache_lifetime = 86400; // 24 timer
/*
* gettext translation
*/
if( ! defined('PROJECT_DIR')){ define('PROJECT_DIR', realpath('/var/www/v3/')); }
if( ! defined('LOCALE_DIR')){ define('LOCALE_DIR', PROJECT_DIR .'/sys/locale'); }
if( ! defined('DEFAULT_LOCALE')){ define('DEFAULT_LOCALE', 'no_NO'); }
include_once('../sys/core/gettext/gettext.inc');
$encoding = 'utf-8';
$locale = (isset($_COOKIE['lang']))? $_COOKIE['lang'] : DEFAULT_LOCALE;
T_setlocale(LC_MESSAGES, $locale);
$domain = 'messages';
T_bindtextdomain($domain, LOCALE_DIR);
T_bind_textdomain_codeset($domain, $encoding);
T_textdomain($domain);
/*
* facebook
*/
include_once '../sys/core/facebook/facebook.php';
// Create our Application instance (replace this with your appId and secret).
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => 'xxx',
'secret' => 'xxx',
'cookie' => true,
));
$session = $facebook->getSession();
$me = null;
// Session based API call.
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me'); // me?fields=email
$email = $facebook->api('me?fields=email');
} catch (FacebookApiException $e) {
error_log($e);
}
}
// login or logout url will be needed depending on current user state.
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(
array('req_perms' => 'email, publish_stream')
);
}
$Intro = new Intro();
echo $Intro->ip();
exit();
Теперь я получаю Fatal error: Class 'Intro' not found in ... on line 92
Я не понимаю этого, потому что требуется только добавленный код, включающий для facebook
, gettext
и smarty
.До включений я могу вызывать классы, но не после добавления включений.Это не имеет смысла быть.Может кто-нибудь объяснить.