ホームページ > バックエンド開発 > PHPチュートリアル > PHPクラスの自動読み込み方法_PHPチュートリアル

PHPクラスの自動読み込み方法_PHPチュートリアル

WBOY
リリース: 2016-07-13 09:52:02
オリジナル
693 人が閲覧しました

php自動クラスローディングメソッド

PHP5以前では、各PHPフレームワークがクラ​​スの自動ローディングを実装したい場合、通常、ディレクトリを横断し、特定の取り決めに従って合意されたルールに適合するすべてのファイルを自動的にロードするクラスを実装していました。 . または関数。 もちろん、PHP5 より前のオブジェクト指向のサポートはあまり良くなく、クラスの使用は現在ほど頻繁ではありませんでした。 これについて詳しく説明しましょう。

PHPクラスの自動ロード方法

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

クラスの読み込み

{

/**

* クラスは自動的にロードされるため、開発者が呼び出す必要はありません

*

* @param string $class クラス ファイル

*/

プライベート関数 autoload( $class )

{

if( 空($class) )

{

throw new QException('ロードされたファイルが存在しません'.$class);

}

その他

{

require _SPRING_.'/_Core/SpringMap.php' //フレームマップ

;

if(! file_exists( $source[$class]['file'] ) )

{

throw new QException('ロードされたファイルが存在しません'.$class);

}

$source[$class]['file'];

が必要です

}

}

/**

* 自動クラスロードメソッドを登録または登録解除します

*

* このメソッドは Zend Framework を参照しています

*

* @param string $class 自動読み込みサービスを提供するクラス

* @param boolean $enabled サービスを有効または無効にします

*/

プライベート関数 registerAutoload($class = 'Interpreter' , $enabled = true)

{

if (!function_exists('spl_autoload_register'))

{

throw new QException('この PHP インストールには spl_autoload が存在しません');

}

if ($enabled === true)

{

spl_autoload_register(array($class, 'autoload'));

}

その他

{

spl_autoload_unregister(array($class, 'autoload'));

}

}

/**

* デストラクター

*/

パブリック関数 __destruct()

{

self::registerAutoload('Interpreter' , false);

}

以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1010440.html技術記事 PHP クラスの自動ロード方法 PHP5 より前では、各 PHP フレームワークがクラ​​スの自動ロードを実装したい場合、通常、特定の取り決めに従ってトラバーサル ディレクトリを実装し、以下に準拠するすべてのファイルを自動的にロードしていました...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート