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

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

WBOY
リリース: 2016-07-13 09:54:23
オリジナル
893 人が閲覧しました

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

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 = 新しい Test1();
$test2 = 新しい 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 = 新しい 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__ が必要です;
}
}

spl_autoload_register('ローダー');
spl_autoload_call('テスト2');


$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)));//イテレータの各要素に対してカスタム関数を呼び出します


function print_item(Iterator $iterator)
{
echo strtoupper ( $iterator -> current ()) . TRUE を返します ;
}

http://www.bkjia.com/PHPjc/997903.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/997903.html技術記事 PHP SPL 標準ライブラリの共通関数の紹介 phpspl PHP SPL 標準ライブラリには、自動ロード、イテレータ処理などの処理のための関数がいくつか用意されています。 spl_autoload_extensions() は spl_aut を追加します...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート