menu
ホーム > PHPの文法 > 2 データ型 > PHP の リソース型(resource) について
PHPリファレンス

UPDATE:2019年10月15日

PHP の リソース型(resource) について

PHP の リソース型(resource) について | wepicks!

PHP4.3 PHP5 PHP7

1 Minute Note

  • リソース型はPHPの外部世界とやり取りを行うデータが格納されている型
  • リソースはデータベースや画像ファイルなどの外部情報
  • リソース型の種類は特殊型
  • リソース型のチェックは is_resource() 関数 で行う


リソース型とは

POINT

  • リソース型はPHPの外部世界とやり取りを行うデータが格納されている型
  • リソースはデータベースや画像ファイルなどの外部情報
テキストファイルやデータベースなど外部世界を扱う

リソースはPHPと外部世界とのやり取りを行うための特別な変数です。例えばPHPからMySQLやSQLite、テキストファイルなどのデータベースへ接続したり、画像ファイルを開いたりする際、PHPではそれらを実行するための専用の関数が定義されています。そのような関数を実行して取得した接続情報を変数へ格納することが可能で、これらの変数は外部リソースを保持し、型はリソース型となります。

つまり、リソースは、特別な関数により作成された外部情報を持つ変数のことです。そのような変数の型がリソース型となるのです。

リソースで外部情報を容易に操作する

PHPの外部世界とのやり取りを行うためには、様々な処理が必要になりますが、リソースにはそのような処理を完結に扱うためのデータが格納されます。したがって、通常行う複雑な手続きが、リソースを呼び出すだけで一括して処理することが可能となり、外部リソースのやり取りが非常に楽になります。

リソースの実態は整数値

リソースの実体は整数値です。リソースは外部世界とのやり取りを実現するための数値データ(ハンドル)が格納されているハンドラです。

このような特殊な型のため、他の型からリソース型への変換はできません

リソースへの参照が無くなった時点でそのリソースは自動的に削除されます。これにより、このリソースが作成した全てのリソースは開放され、同時にメモリも開放されます。

PHPには多くのリソースを 生成、使用、破棄 するための関数が定義されています。

MySQLデータベースとのやり取り

例えばデータベースのMySQLとやり取りを行うために、データベースへ接続するための特別な関数を動かし、結果を変数に格納しておきます。この変数はリソース型の変数となります。データベースを利用しているアプリケーションであれば、頻繁にデータベースを呼び出すことになりますが、その際、リソース型の変数を呼び出すだけでいつでもデータベースとやり取りが行えるようになります。この特別な変数がリソース型の変数です。

データベースに接続

リソースを呼び出してクエリを実行

リソースを呼び出してクエリを実行

接続解除

リソース型であるか調べる

POINT

    リソース型のチェックは is_resource() 関数 で行う

ある値がリソース型かどうか調べるにはis_resource()関数を使用します。

結果は

リソース型です。

となります。


タグ(=記事関連ワード)

日付

公開日:2019年9月26日
最終更新日:2019年10月15日

関連記事

配列関数サンプル

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/resourcetype/trackback/

page top