-
PHP ErrorException
はじめに PHPのExceptionクラスは、 Throwableを実装します インターフェース。 ErrorException クラスは例外を拡張します クラス。 ErrorExceptionは、通知や警告など、他の方法では無視されるエラーをキャッチして処理する場合に明示的にスローされることを目的としています。 PHPコアは、次の事前定義されたエラー定数で構成されています 値 一定 説明 1 E_ERROR 致命的な実行時エラー。 2 E_WARNING 実行時の警告(致命的でないエラー)。 4 E_PARSE コンパイル時の解析エラー。
-
PHP DivisionByZeroError
はじめに DivisionByZeroError クラスはArithmeticErrorのサブクラスです クラス。このタイプのエラーは、除算演算に分母の値がゼロである場合に発生します。これは、モジュロ演算子(%)の場合にも発生する可能性があります )2番目の演算子として0があり、 intdiv ()2番目の引数を0とする関数。 DivisionByZeroErrorの例 最初の例では、%を使用して10と0のモジュロ除算を実行しようとします。 DivisionByZeroErrorを誘導する演算子。 例 <?php try { $a = 10; &nbs
-
PHP CompileError
はじめに PHP 7.3以降では、 ComputeError 例外が追加されました。このクラスはエラーを継承します クラス。以前は致命的なエラーを引き起こしていたいくつかのエラー条件が、CompileErrorをスローするようになりました。これは、 token_get_all()によってスローされる可能性のあるコンパイルエラーに影響します。 機能。 token_get_all() 関数は、Zend字句スキャナーを使用して、指定された文字列をPHP言語トークンに解析します。 構文 token_get_all ( string $source [, int $flags = 0 ] ) :
-
PHP AssertionError
はじめに AssertionError クラスはエラーのサブクラスです クラス。このタイプのエラーは、 assert()のときにスローされます FALSEを返します assert()は、指定されたアサーションがtrueかfalseかをチェックし、falseの場合はAssertionErrorをスローします。 assert()関数は次のように定義されています- 構文 for PHP 5 and PHP 7 assert ( mixed $assertion [, string $description ] ) : bool PHP 7 only assert ( mixed $asser
-
PHP ArithmeticError
はじめに ArithmeticError クラスはエラーから継承されます クラス。このタイプのエラーは、特定の数学操作の実行中に発生する可能性があります。そのようなシナリオの1つは、負の量だけビット単位のシフト演算を実行しようとすることです。このエラーは、 intdiv()を呼び出すときにもスローされます 関数は、整数の正当な境界を超えるような値になります。 ArithmeticErrorの例 次の例では、負のオペランドを持つバイナリシフト演算子を使用しようとしています。これにより、ArithmeticErrorが発生します。 例 <?php try {  
-
PHP ArgumentCountError
はじめに PHPパーサーは、ユーザー定義の関数またはメソッドに渡される引数がその定義内の引数よりも少ない場合、ArgumentCountErrorをスローします。 ArgumentCountError クラスはTypeErrorから継承されます クラス ArgumentCountErrorの例 次の例では、2つの引数を受け取るようにユーザー定義関数add()が定義されています。ただし、呼び出し中に必要な数より少ない引数が指定された場合、引数CountErrorがスローされ、catchブロックで処理できます。 例 <?php function add($x, $y){
-
PHPArrayAcccessインターフェース
はじめに PHPでは、 ArrayAccess インターフェイスは、配列であるプロパティの1つへのアクセスのような配列を提供するクラスを開発するために使用されます。このような配列プロパティは、オブジェクトの作成中に公開せずに操作できます。 ArrayAccess インターフェイスは次の抽象メソッドを定義します 構文 ArrayAccess { /* Methods */ abstract public offsetExists ( mixed $offset ) : bool abstract public
-
PHPクロージャクラス
はじめに 匿名関数(ラムダとも呼ばれます)は、クロージャのオブジェクトを返します クラス。このクラスには、無名関数をさらに制御するための追加のメソッドがいくつかあります。 構文 Closure { /* Methods */ private __construct ( void ) public static bind ( Closure $closure , object $newthis [, mixed $newscope = "static" ] ) : Closure &
-
PHPジェネレータークラス
はじめに foreachなどのループ構造を使用して大量のデータコレクションをトラバースする 大容量のメモリとかなりの処理時間が必要になります。 ジェネレーターを使用 これらのオーバーヘッドなしでデータのセットを反復することが可能です。ジェネレーター関数は通常の関数に似ています。ただし、ジェネレータは関数内のreturnステートメントの代わりに、利回りを使用します 繰り返される値を提供するために繰り返し実行されるキーワード。 イールドキーワードは、ジェネレータメカニズムの中心です。その使用法はreturnに似ているように見えますが、関数の実行を停止することはありません。反復の次の値を提供し
-
PHP反復可能インターフェース
はじめに イテレータ インターフェースは抽象を拡張しますTraversable インターフェース。 PHPには、多くの組み込みイテレータ(SPLイテレータと呼ばれる)が用意されています。 )多くのルーチン機能用。例はArrayIteratorです 、 DirectoryIterator イテレータインターフェイスを実装するユーザークラスは、その中で定義されている抽象メソッドを実装する必要があります。 構文 Iterator extends Traversable { /* Methods */ abstract public curren
-
PHPIteratorAggregateインターフェース
はじめに IteratorAggregate インターフェースは抽象を拡張しますTraversable インターフェース。これは、外部イテレータを作成するためのクラスによって実装されます。このインターフェースは、 getIteratorと呼ばれる抽象メソッドを紹介します 。 構文 IteratorAggregate extends Traversable { /* Methods */ abstract public getIterator ( void ) : Traversable } メソッド IteratorAggregate:
-
PHPシリアル化可能なインターフェース
はじめに シリアル化可能 インターフェイスは、カスタマイズされたシリアル化を提供するクラスを構築するためにPHPライブラリに存在します。 PHPのserialize() 関数は、ほとんどの値を格納可能な表現にシリアル化できます。ただし、ユーザー定義クラスのオブジェクトはシリアル化できません。このインターフェースはそれを可能にします。 構文 Serializable { /* Methods */ abstract public serialize ( void ) : string abstract public
-
PHPスローアブルインターフェース
はじめに PHP 7では、スロー可能 インターフェイスは、スローのパラメータとなる可能性のあるオブジェクトのベースとして機能します エラーを含むステートメント および例外 。事前定義されたクラスとユーザー定義のエラークラスと例外クラスがそれぞれ派生するErrorクラスとExceptionクラスの両方が、Throwableインターフェイスを実装します。次の抽象メソッドは、Throwableインターフェイスで定義されています- 構文 Throwable { /* Methods */ abstract public getMessage ( v
-
PHPトラバーサブルインターフェイス
はじめに 移動可能 は抽象インターフェイスであるため、どのクラスからも直接実装することはできません。通常、イテレータ またはIteratorAggregate Traversableを拡張するインターフェースは、PHPのforeach構文を使用して実装クラスがトラバース可能かどうかを確認するために使用されます。 このインターフェースを実装する特定の組み込みクラスはforeachで使用でき、イテレーターインターフェースを実装する必要はありません。 Traversableは抽象なので インターフェイスにはメソッドがありません。 構文 Traversable { //
-
PHPWeakReferenceクラス
はじめに 弱参照を使用すると、オブジェクトの破棄を妨げないオブジェクトへの参照を保持できます。キャッシュのような構造の実装は、弱参照によって実行できます。 弱参照は、ガベージコレクターによるオブジェクトの収集を妨げないことを除いて、通常の参照と似ています。そのオブジェクトへの強い参照が見つからない場合、そのオブジェクトはすぐにメモリから削除されます。このようにして、メモリの問題なしに、キャッシュの利点のほとんどを実装することができます。 弱参照 クラスはPHP7.4で導入されました。このバージョンの前は、同じ効果が weakrefによって得られていました 拡大。 WeakReferenc
-
PHP $ argc
はじめに このスーパーグローバル変数は、PHPスクリプトがコマンドラインから実行される場合に使用できます(HTTPサーバーのドキュメントルートから実行される場合は使用できません)。これは、現在のスクリプトに渡されるコマンドライン引数の数に対応する整数です。スクリプトのファイル名はコマンドラインで入力する必要があるため、 $ argcの最小値 は1です。register_argc_argvの場合、この変数は使用できません。 php.iniのディレクティブが無効になっています。 $ argc 次のスクリプトは、スクリプト名を含む3つの引数を使用してコマンドラインから実行する必要があります
-
PHP $ argv
はじめに PHPスクリプトをコマンドラインから実行すると、$argvスーパーグローバル配列に渡された引数が含まれます。配列の最初の要素$argv [0] 常にスクリプトの名前です。 register_argc_argv の場合、この変数は使用できません php.iniのディレクティブが無効になっています。 $ argv 次のスクリプトはコマンドラインから実行されます。 例 <?php var_dump($argv); ?> 出力 array(1) { [0]=> string(8) "main.php&
-
PHP $ _COOKIE
はじめに スーパーグローバル$_ COOKIE 現在のスクリプトに渡された変数をHTTPリクエストとともにCookieの形式で保存します。$HTTP_COOKIE_VARS 同じ情報も含まれていますが、スーパーグローバルではないため、非推奨になりました。 クッキーとは何ですか? Cookieは、サーバーによってクライアントコンピューターに保存されるテキストファイルであり、追跡目的で使用されます。 PHPはHTTPCookieを透過的にサポートします。通常、CookieはHTTPヘッダーに設定されます。 JavaScriptは、ブラウザに直接Cookieを設定することもできます。 サー
-
PHP $ _ENV
はじめに $ _ ENV PHPのもう1つの超グローバル連想配列です。現在のスクリプトで使用可能な環境変数を格納します。 $ HTTP_ENV_VARS 同じ情報も含まれていますが、スーパーグローバルではないため、非推奨になりました。 環境変数はグローバル名前空間にインポートされます。これらの変数のほとんどは、PHPパーサーが実行されているシェルによって提供されます。したがって、環境変数のリストはプラットフォームによって異なる場合があります。 この配列には、PHPがサーバーモジュールとして実行されているかCGIプロセッサとして実行されている場合に備えて、CGI変数も含まれています
-
PHP $ _FILES
はじめに グローバルに定義された変数$_ FILES HTTPPOSTメソッドを介してアップロードされたアイテムを含む連想配列です。ファイルをアップロードするには、enctype属性が multipart / form-dataに設定されたHTTPPOSTメソッドフォームが必要です。 。 $ HTTP_POST_FILES 同じ情報も含まれていますが、スーパーグローバルではないため、非推奨になりました _FILES配列には、次のプロパティが含まれています- $ _ FILES [file] [name] -アップロードするファイルの元の名前。 $ _ FILES [fil