リソース型:resource
そふぃのPHP入門 >> PHP言語リファレンス >> PHPの型 >> リソース型:resource

リソース型:resource

リソース型とは

リソース型(resource)は少し特殊です。ごく単純に説明すると、外部リソースへのリファレンスを保持する変数の事となりますが、意味が分からない人も多いと思うのでもう少し解説を加えておきます。

分かりやすく、カウンターや掲示板を例に挙げさせて頂きます。

カウンターや掲示板を作る時には、カウント値または名前やメッセージなどの値を記録しておくものが別に必要になります。ここではごく単純に「もの」といいましたが、値を記録しておくものはファイルであったりデータベースであったりします。つまり、ファイル操作やデータベース操作をして値を取り出すわけです。

ファイルを操作といっても難しい事ではなく、「ファイルを開く」・「ファイルを閉じる」など普段クリックなどで行っている作業をPHPで行うっていうだけです。データベースについても同様で、「データベースと接続する」・「接続を閉じる」などの操作をPHPで行います。実際には「開く」と「閉じる」の間にいろいろな処理(値を読み込んだりなど)が入るですが、ここでは詳しく述べません。

そういった外部ファイルやデータベースへの接続IDのようなものを保持しておくのがリソース型です。

正確には接続IDというより、外部のリソース(ファイルやデータベース)を操作するためのハンドラです。外部のリソースを操作するためにまずそのリソース専用のハンドルを作成し、それ以降はそのハンドルを使用してリソースを操作する事になります。

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

ファイルやデータベースが一番有名な外部リソースですが、PHPには他のリソースも存在します。次に有名なのは画像操作ができるGDでしょうか。

PHPマニュアル リソース型の一覧

  1. <?php
  2. $fp = fopen("test.txt", "r"); // 外部ファイルオープン
  3. var_dump($fp); // $fpはリソース型
  4. fclose($fp); // ファイルクローズ
  5. ?>

出力結果

resource(37) of type (stream)

リソース型はPHP4で導入されました。

PHP5徹底攻略
PHP5徹底攻略 PHPのバイブル、赤マンモスです。
独習PHP
独習PHP 入門から、PEAR、Smartyまで。