
現在PHPのソース解析を行っております。
初心者なのですが、実際動いている本格的なPHPソースを解析して勉強するように言われております。
その中で、@includeというものが度々出てくるのですが、普通のincludeとは何が違うのでしょうか?
調べてみましたが、http://php.net/manual/ja/function.include.phpこちらではよくわかりませんでした。
@が付くと具体的にどのようなことが起こるのでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
ついでにだけど
http://www.y2sunlight.com/water/webman/php1/1I.4 …
あたりを読んでおくことを奨める。
>これを付けると、エラー出力が抑制され、また致命的エラーが発生してもスクリプトが終了しなくなります。
致命的なエラーはエラーの内容も示さずにスクリプトは終了してしまいます。
あなたが示したURL先にもしっかりと「警告」として
>現在、エラー制御演算子プレフィックス"@"は、スクリプトの実行を 終了するような致命的なエラーの出力さえ抑圧します。このため、ある関数の エラー出力を抑制するために "@" を使用した場合、その関数が 利用できなかったり、ミスタイプがあった場合でも、原因を示すことなく その場所でスクリプトは終了してしまいます。
と書かれています。
簡単なサンプルだけど
a.php
<?php
@include "b.php";
echo "テスト";
?>
b.php
<?php
ecgo "aa";
?>
これ実行してみたらわかると思います。
「@」を付けてincludeを実行すると何も表示されないで終了します。
「@」を付けないでincludeをした場合には「Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in」と言うエラーが発生します。
No.1
- 回答日時:
「@」はエラー制御演算子です。
http://www.php.net/manual/ja/language.operators. …
これを付けると、エラー出力が抑制され、また致命的エラーが発生してもスクリプトが終了しなくなります。
include で@を使うのは、たとえばプラグインなど後から追加した外部PHPファイルを読み込む時に、
それでエラーが発生しても本来の動作に影響しないようにするため、といった目的などでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォントの色を変えるには?
-
Localeクラスについて
-
PHP mb_send_mail メール送信 5...
-
PHPで、エラーがない場合のみ画...
-
PHPの@includeとは?
-
Notice: Undefined offset: 1を...
-
正規表現での最後尾のバックス...
-
require_once で読み込まれたか?
-
PDO で try~catch 構文を使う...
-
PHP、unpack関数でのエラー
-
PHPでfatal errorが出ても無視...
-
phpでこの記述をもっと簡単に書...
-
phpについて バージョン8.0
-
fsockopenの例外について
-
phpでget_headers()が使えない?
-
クラスの中でincludeするとき、...
-
IIS/PHPのサイトでたまにCGIエ...
-
windows環境でphpのfopenが使用...
-
これは例外処理でしょうか?
-
bindValueエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォントの色を変えるには?
-
PHPでfatal errorが出ても無視...
-
PHP8を使うと、大量のWarningが...
-
PHPで、エラーがない場合のみ画...
-
トランザクションが原因?DBに...
-
phpでお問い合わせフォームを作...
-
PHPで特定のURLにジャンプす...
-
try~catch構文は、どういうメ...
-
ある条件に当てはまったときに...
-
PHPでネットワークドライブのop...
-
SELECTの値を保持する
-
PHP、unpack関数でのエラー
-
functionに括弧を使用するとエラー
-
iframeからのアクセスか、ブラ...
-
phpの質問です
-
外部のHTMLに書かれた文字を取...
-
E_NOTICEでも処理を止められま...
-
日本語をGETで渡す場合UR...
-
エラーが出ない
-
「@$変数」の「@の意味は?」
おすすめ情報