ホームページ  >  記事  >  バックエンド開発  >  PHP SPL 標準ライブラリの共通関数の紹介_PHP チュートリアル

PHP SPL 標準ライブラリの共通関数の紹介_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:54:11834ブラウズ

PHP SPL 標準ライブラリの共通関数の紹介

この記事では主に、PHP SPL 標準ライブラリの共通関数の紹介について、spl_autoload_extensions()、spl_autoload_register()、spl_autoload() の 3 つの関数に焦点を当てます。友達も参考にできます

PHP SPL標準ライブラリは、自動ロード、イテレータ処理などの処理のためのいくつかの関数を提供します。

spl_autoload_extensions()は、spl_autoload()でロードできるファイル拡張子を追加します

spl_autoload_register() は、関数を SPL __autoload 関数スタックに登録します。

コードをコピーします。コードは次のとおりです:

/*test1.php*/

クラステスト1

{

}

/*test2.lib.php*/

クラステスト2

{

}

/*test.php*/

//ロード可能なクラスのファイル拡張子を設定します

spl_autoload_extensions(".php,.inc.php,.class.php,.lib.php");

// include_path を設定すると、自動ロードはこれらのパスでクラス ファイルを探します。PATH_SEPARATOR を通じて複数のパスを追加できます

Set_include_path(get_include_path().PATH_SEPARATOR.'libs/');

//パラメータは指定されず、デフォルトの実装関数は spl_autoload() です

spl_autoload_register();

$test1 = new Test1();

$test2 = new Test2();

spl_autoload() は __autoload() のデフォルト実装であり、include_path にファイル (.php/.inc) をロードします

コードをコピーします。コードは次のとおりです:

/*test1.php*/

クラステスト1

{

}

/*test.php*/

Set_include_path(get_include_path().PATH_SEPARATOR.'libs/');

spl_autoload('test1');

$test1 = new Test1();

spl_autoload_call() は、すべての spl_autoload_register 登録関数を呼び出してファイルをロードします

コードをコピーします。コードは次のとおりです:

/*test1.php*/

クラステスト

{

パブリック関数getFilename()

{

echo 'test1.php';

}

}

/*test2.lib.php*/

クラステスト

{

パブリック関数getFilename()

{

echo 'test2.lib.php';

}

}

/*test.php*/

関数ローダー($classname)

{

if($classname == 'Test1') {

__DIR__ が必要です;

}

if($classname == 'Test2') {

__DIR__ が必要です。 '/test2.lib.php';

}

}

spl_autoload_register('loader');

spl_autoload_call('Test2');

$test = new Test();

$test->getFilename(); //test2.lib.php

その他のSPL機能の紹介:

class_implements — 指定されたクラスによって実装されたすべてのインターフェイスを返します。

class_parents — 指定されたクラスの親クラスを返します。

class_uses — 指定されたクラスで使用される特性を返します

iterator_apply — イテレータ内の各要素に対してユーザー定義関数を呼び出します

iterator_count — イテレーター内の要素の数をカウントします

iterator_to_array — イテレータ内の要素を配列にコピーします

spl_autoload_functions — 登録されているすべての __autoload() 関数を返します

spl_autoload_unregister — 登録された __autoload() 関数の登録を解除します

spl_classes — 利用可能なすべての SPL クラスを返します

spl_object_hash — 指定されたオブジェクトのハッシュ ID を返します

イテレータ関連の関数を使用する場合:

コードをコピーします。コードは次のとおりです:

$iterator = new ArrayIterator (array( 'recipe' => 'pancakes' , 'egg' , 'milk' , 'flour' ));

print_r(iterator_to_array($iterator)) //イテレータ要素を配列に変換します

echo iterator_count($iterator); //イテレータ要素の数を計算する

print_r(iterator_apply($iterator, 'print_item', array($iterator)));//イテレータの各要素に対してカスタム関数を呼び出します

関数 print_item(Iterator $iterator)

{

echo strtoupper ( $iterator -> current ()) .

TRUE を返します ;

}

http://www.bkjia.com/PHPjc/998361.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/998361.html技術記事 PHP SPL 標準ライブラリの共通関数の紹介 この記事では、PHP SPL 標準ライブラリの共通関数の紹介を中心に、spl_autoload_extensions()、spl_autoload_register(...
) を中心に紹介します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。