web-dev-qa-db-ja.com

PHP:クラスを含める方法

index.phpがあり、その中にclass.Twitter.phpを含めたいのですが、どうすればよいですか?

願わくば、index.phpに以下のコードを入れるとうまくいきます。

$t = new Twitter();
$t->username = 'user';
$t->password = 'password';

$data = $t->publicTimeline();
25
CLiown

あなたのコードは次のようなものでなければなりません

require_once('class.Twitter.php');

$t = new Twitter;
$t->username = 'user';
$t->password = 'password';

$data = $t->publicTimeline();
30
Mez

次のいずれかを使用できます。

include "class.Twitter.php";

または

require "class.Twitter.php";

require(またはrequire_onceは、実行中にクラスが1回だけロードされるようにする場合)ファイルが存在しない場合に致命的なエラーを発生させますが、includeは警告のみを発生させます。 http://php.net/require および http://php.net/include を参照してください。

14
richsage

コマンドラインインターフェイスのuseキーワードを使用してクラスの例を含めます。

PHP名前空間は、phpファイルも含めるか、必要としない限り、コマンドラインでは機能しません。 phpファイルがphpデーモンによって解釈されるWebスペースにある場合、require行は必要ありません。必要なのは「use」行だけです。

  1. 新しいディレクトリを作成/home/el/bin

  2. namespace_example.phpという新しいファイルを作成し、次のコードをそこに配置します。

    <?php
        require '/home/el/bin/mylib.php';
        use foobarwhatever\dingdong\penguinclass;
    
        $mypenguin = new penguinclass();
        echo $mypenguin->msg();
    ?>
    
  3. 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."; 
        }   
    }
    ?>   
    
  4. 次のようにコマンドラインから実行します。

    el@apollo:~/bin$ php namespace_example.php 
    
  5. どの印刷:

    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

9
Eric Leschinski

__ autoload もご覧になることをお勧めします。
これにより、requiresおよびincludeのコードがクリーンアップされます。

6
AntonioCS
  1. require('/yourpath/yourphp.php');

    http://php.net/manual/en/function.require.php

  2. require_once('/yourpath/yourphp.php');

    http://php.net/manual/en/function.require-once.php

  3. include '/yourpath/yourphp.php';

    http://www.php.net/manual/en/function.include.php

  4. use \Yourapp\Yourname

    http://php.net/manual/fa/language.namespaces.importing.php

ノート:

Require_onceは遅いため使用しないでください: なぜrequire_onceがそんなに悪いのですか?

3
peter p
1
Jimmy Shelter