PHP LDAP ライブラリは、検索結果をトラバースするための関数のいくつかのクラス、「最初/次」関数、および「取得」関数を定義します。
ldap_first_entry
ldap_next_entry
ldap_get_entries
属性、値などについても同様です。
これらのそれぞれの使用例 (各結果を反復処理する場合と多次元配列ですべての結果を取得する場合) と、コーディングが簡単なのはどれですか?
他のデータベースと同様に、多くの結果を受け取ることが予想される場合は、一度に1つの結果を繰り返すことが推奨されます。代わりに、すべての結果を一度にフェッチするのは便利ですが、何百もの結果が返される場合、メモリ使用量が高くなる可能性があります。
PHP には、同様の機能のペアを提供する多くの領域があります。
たとえば、file_get_contents()
vsfopen()
とfread()
. またはXMLReader
対SimpleXML
。
いずれの場合も、これらの主な違いは、1 つのオプションではデータ構造全体を一度にメモリにロードし、もう 1 つのオプションではデータを反復処理しながら一度に 1 つずつロードできることです。
これらの LDAP 機能は同じです。
一度にすべてをメモリにロードする方が高速であり、リストを単純に繰り返す以上のことをしたい場合には利点があります。
一方、一度に 1 つずつロードすると、特に読み取る項目が多い場合に、メモリ使用量が明らかに有利になります。
どちらのオプションにもメリットがあるため、PHP が選択肢を提供します。用途に合わせてご利用ください。
それが役立つことを願っています。