我有 file index.php
,我想在其中包含 file 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
(或者如果你想确保类只在执行期间加载一次)将导致致命错误,而只会引发警告。有关详细信息,请参阅http://php.net/require和http://php.net/includerequire_once
include
use
命令行界面关键字的类示例:PHP 命名空间在命令行上不起作用,除非您还包含或需要 php 文件。当 php 文件位于由 php 守护程序解释的 web 空间中时,您不需要 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's a beautiful day chris, come out and play! " .
"NO! *SLAM!* taka taka taka taka.";
}
}
?>
像这样从命令行运行它:
el@apollo:~/bin$ php namespace_example.php
哪个打印:
It's 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 不好用?
检查: http ://www.php.net/require 和 http://www.php.net/include