他のプログラミング経験者が PHP のコードを見て,「PHPってこうやるんだなぁー」と感じたところをメモしておきます.
‘?’で区切られた最初の値を取得する
list( $activate_path ) = explode( ‘?’, wp_unslash( $_SERVER[‘REQUEST_URI’] ) );
ファイルの有無を判断する
if ( file_exists( ABSPATH . ‘wp-config.php’ ) ) {
クラスのインスタンスか?判定する
型演算子 instanceof を使用する.
バージョン比較する
version_compare( phpversion(), ‘7.0.16’, ‘>=’ )
カレントディレクトリの指定ファイルを処理する
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );
リクエスト種別を判断する
if ( ‘POST’ != $_SERVER[‘REQUEST_METHOD’] ) {
指定文字列が含まれていないことを確認する
if ( 0 === strpos( $_SERVER[‘REQUEST_URI’], ‘http’ ) ) {
フォルダにある処理が記述されていない index.php はファイル一覧を公開しないためのファイル
WordPress には,セキュリティーに配慮した,以下の記述のみの index.php が配置されているディレクトリがある.
1 2 | <?php // Silence is golden. |
javascript を使用する
1 2 3 4 5 6 | <?php if ( ! empty( $input_id ) ) : ?> <script type="text/javascript"> try{document.getElementById('<?php echo $input_id; ?>').focus();}catch(e){} if(typeof wpOnload=='function')wpOnload(); </script> <?php endif; ?> |
@(エラー制御演算子)
「PHP はエラー制御演算子(@)をサポートしています。PHP の式の前に付けた場合、 その式により生成されたエラーメッセージは無視されます。」
とのこと.あまり使用しない方が良い気がしますね.
参考: エラー制御演算子
コロン構文
if文などで,本来「{」があるべき箇所に「:」があったので調べてみた.
php では,コロン構文といい,HTMLタグとPHPの処理が混在する箇所で使用されているらしい.
判定処理が複数のタグに渡る場合などは使用せざるを得ないですね.
グローバル変数
PHP の独自言語仕様と思える箇所もあるので,global キーワードなど最初にチェックしておいた方が良いと思います.
参考: PHP $GLOBALS(グローバル変数)のすべて!【初心者向け基本】
定数定義
クラス外で定数を定義する場合,define,クラス内で定数を定義場合,const.という使い分けで良いと思います.
用語
PEAR (PHP Extension and Application Repository) : PHPで記述されたPHP拡張ライブラリ
PECL (PHP Extension Community Library) : C言語で記述されたPHP拡張ライブラリ