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
は、実行中にクラスが1回だけロードされるようにする場合)ファイルが存在しない場合に致命的なエラーを発生させますが、include
は警告のみを発生させます。 http://php.net/require および http://php.net/include を参照してください。
use
キーワードを使用してクラスの例を含めます。PHP名前空間は、phpファイルも含めるか、必要としない限り、コマンドラインでは機能しません。 phpファイルがphpデーモンによって解釈されるWebスペースにある場合、require行は必要ありません。必要なのは「use」行だけです。
新しいディレクトリを作成/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 もご覧になることをお勧めします。
これにより、requiresおよびincludeのコードがクリーンアップされます。
require('/yourpath/yourphp.php');
require_once('/yourpath/yourphp.php');
include '/yourpath/yourphp.php';
use \Yourapp\Yourname
ノート:
Require_onceは遅いため使用しないでください: なぜrequire_onceがそんなに悪いのですか?