Ответ 1
Ваш код должен быть чем-то вроде
require_once('class.twitter.php');
$t = new twitter;
$t->username = 'user';
$t->password = 'password';
$data = $t->publicTimeline();
У меня есть index.php
, и я хочу включить class.twitter.php
внутри него, как это сделать?
Надеюсь, тогда, когда я поставлю код ниже в index.php, он будет работать.
$t = new twitter();
$t->username = 'user';
$t->password = 'password';
$data = $t->publicTimeline();
Ваш код должен быть чем-то вроде
require_once('class.twitter.php');
$t = new twitter;
$t->username = 'user';
$t->password = 'password';
$data = $t->publicTimeline();
Вы можете использовать одно из следующих действий:
include "class.twitter.php";
или
require "class.twitter.php";
Использование require
(или require_once
, если вы хотите, чтобы класс загружался только один раз во время выполнения) приведет к возникновению фатальной ошибки, если файл не существует, тогда как include
будет только поднимать предупреждение. Подробнее см. http://php.net/require и http://php.net/include
use
из интерфейса командной строки:Пространства имен PHP не работают в командной строке, если вы также не включили или не потребовали файл php. Когда php файл находится в веб-пространстве, где он интерпретируется демоном php, вам не нужна строка require. Все, что вам нужно, это линия использования.
Создайте новый каталог /home/el/bin
Создайте новый файл с именем namespace_example.php
и разместите там этот код:
<?php
require '/home/el/bin/mylib.php';
use foobarwhatever\dingdong\penguinclass;
$mypenguin = new penguinclass();
echo $mypenguin->msg();
?>
Сделайте еще один файл с именем mylib.php
и поставьте здесь этот код:
<?php
namespace foobarwhatever\dingdong;
class penguinclass
{
public function msg() {
return "It a beautiful day chris, come out and play! " .
"NO! *SLAM!* taka taka taka taka.";
}
}
?>
Запустите его из командной строки следующим образом:
[email protected]:~/bin$ php namespace_example.php
Какие принты:
It a beautiful day chris, come out and play!
NO! *SLAM!* taka taka taka taka
См. примечания к этому в комментариях здесь: http://php.net/manual/en/language.namespaces.importing.php
Я предлагаю вам также взглянуть на __ autoload.
Это очистит код запроса и включает.
require('/yourpath/yourphp.php');
require_once('/yourpath/yourphp.php');
include '/yourpath/yourphp.php';
use \Yourapp\Yourname
Примечания:
Избегайте использования require_once, потому что оно медленное: Почему require_once так плохо использовать?
Check: http://www.php.net/require а также http://www.php.net/include