WordPressのテーマやプラグインファイルの先頭に次の記述があるのをよく見ます。
if ( ! defined( 'ABSPATH' ) ) exit;
これはWordPressでのセキュリティ対策の1つであり、ファイルが直接実行された際に処理をすぐ終わらす記述です。
「if ( ! defined( ‘ABSPATH’ ) ) exit」の意味
defined()
は引数に指定された名前の定数が存在するか確認するPHPのメソッドです。
つまりdefined( 'ABSPATH' )
の部分は、定数ABSPATH
が定義されているとtrue
を返します。
論理否定演算子!
がついているので、! defined( 'ABSPATH' )
は、定数ABSPATH
が定義されていない場合に、true
となります。
true
の場合に実行されるif
文は、exit
です。exit
はPHPの関数です。
exit
は言語構造にも分類される関数であり、カッコの記載なしでも利用が可能です。
exit
は現在のスクリプトを終了する処理を実行します。
if ( ! defined( 'ABSPATH' ) ) exit
のコードの意味は、ABSPATH
が定義されていない状態でファイルを実行すると、処理が終了するということになります。