2017-05-23 5 views
0

PHPでファイルにincludeが失敗した場合、それが報告されます。PHP:有効なクラスを '使用する'を確認する

しかし、GuzzleHttp\Cookie\CookieJarクラスを正常にインポートするにはどうすればよいですか?

そして、それが有効なクラスであることをどのように知っていますか?

namespace GuzzleHttp; 

use GuzzleHttp\Cookie\CookieJar; 
use GuzzleHttp\Promise; 
+0

'use'ステートメントはクラスファイルをロードしません。これを 'include'か' require'のどちらかで行うか、オートロード機能を使う必要があります。 – raina77ow

+0

コンポーザーオートローダーを使用して簡単に – Dale

+0

'class_exists()'がクラスの自動ロードをトリガーします –

答えて

0

今日、ほとんどのアプリケーションでは、コンポーザのオートロード機能が使用されています。

if (!class_exists(CookieJar::class)) { 
    throw new Exception('class not found'); 
} 

が、class_existsをおそらくより便利あなたはダイナミックなものを行うとき:クラスのコードを経由して存在する場合

あなたがチェックすることができます。

1

useステートメントはNOTに含まれることに注意することが重要です。したがって、このステートメントが成功したかどうかを検出することは不可能です。

のクラスをインポートすると、インポートに失敗した場合は、エラーが発生します。

通常は、composerのようにオートローダーを使用しますが、自分で書き込むこともできます。このページに関する詳しい情報:What is Autoloading; How do you use spl_autoload, __autoload and spl_autoload_register?

関連する問題