PHP обрабатывается по порядку, то есть вам нужно убедиться, что header.php
включено, прежде чем вызов произойдет в index.php
. Вполне возможно, что в целом у вас есть что-то вроде этого:
В index.php
<?php
// blah blah other code
$session = $facebook->getSession();
// blah blah more code
include('header.php');
Что, конечно, будет читаться как:
<?php
// blah blah other code
$session = $facebook->getSession();
// blah blah more code
require '/facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => 'xxx',
'secret' => 'xxx',
'cookie' => true,
));
Когда вы смотрите на общий код, который $facebook
еще не существует, вы можете видеть.
Добавьте var_dump($facebook);
в конец header.php (после того, как вы установили $facebook
, а также один в начало index.php (прямо перед тем, как попытаться использовать $facebook
).
Еще одна причина, по которой вы можете вызывать Facebook
Graph API, работает неправильно и возвращает false или что-то еще. Ваш вывод var_dump
будет таким же, если $facebook
существует и не подключен должным образом (или что-то в этом роде), но будет другим, если вы попытаетесь получить доступ к $facebook
до того, как настроите его (один будет NULL
и сгенерирует E_NOTICE
, другой будет объектом Facebook - или что-либо еще, полученное из вызова API Graph Facebook).