イイダリョウのブログ。JS「サーバサイドの中でのWordPressの位置付け」で書いたようにPHP*1はサーバサイドのプログラミング言語です。現在、CMSの定番となっているWordPressはPHPで作られています。WordPressのコードは「PHP書式」とWordPress独自の「テンプレートタグ」で構成されています。この二つが識別できるとWordPressのコードが読みやすくなり、テーマ作成やカスタマイズがしやすくなります。PHPの基本を理解するために、フロントエンドのプログラミング言語JSとの違いを見ていきましょう。if文(分岐)while文(反復)最後に開始タグと終了タグWordPressのテーマフォルダにある.phpファイルの中を見てみるとHTMLっぽい書式が見受けられます。静的ページである.htmlファイルにPHPを記述しても、通常は動作しません。拡張子.htmlを.phpに変えるとPHPが動作し、動的ページになります。*2その際に下記の「開始タグ」「終了タグ」が静的HTMLと動的PHPの境界の目印になります。?>頭の<?phpが「開始タグ」、最後の?>が「終了タグ」です。その中にPHPの書式で処理を記述します。HTMLのh1タグの中身を動的に変更したい場合はこのように記述します。?></h1>なんだか「HTMLの基本」で触れたコメントの開始タグ<!--、終了タグ-->とも似ていますね。PHPの動作確認はサーバ上*3で行います。ブラウザにはPHP動作後のHTMLのみが表示されます。WordPressテーマにあるfunctions.phpなどのようにファイル全体がPHPのみで記述しているファイルの場合は、終了タグを省略します。処理4(終了タグ不要)コメントここからは以前の記事で触れたフロントエンドのプログラミング言語であるJSと比較していきます。JSって何?という方はこちらをご覧ください。【JSの基本-前編】書ける前に読む!HTML、CSS、JSの書式-4PHPのコメントは3種類。複数行のコメントです。コメントですったらコメントです。*/?>二つはJSのコメントと共通しますね。残りの一行コメント#は今はあまり推奨されていないらしいので、PHPのコメントはJSとほぼほぼ同じと考えていいでしょう。注意すべきはPHPのコメントが効くのは開始タグ、終了タグの中だけということ。*/?>開始タグ<?php、終了タグ?>の外のコメントにはシンタックスハイライトの色が付いていないのがわかると思います。ここにはHTML書式のコメントを書きます。変数PHPの変数はこのような書式です。変数名とドルの間は開きません。値をイコール=で繋ぎ、行末にセミコロン;を付けるのはJSと同じです。"でくくり、数値はコーテーション不要。後述する関数なども入れることができます。文字列の出力echoechoは文字列を出力する命令です。PHPではとてもよく使われます。echoは関数ではなく「言語構造」と言われるもので、すぐ後ろの文字列を出力します。関数のようなカッコは不要です。-->変数と文字列はピリオド.でつなぎます。(JSではプラス+で繋ぎます。-->echoはHTMLタグも含めて出力ができるので、PHPの中にHTMLタグを埋め込むことができます。-->なお、文字出力の言語構造は他にprintというものもあります。書式はほとんど同じです。組み込み関数PHPにもJSと同様あらかじめ定義された「組み込み関数」があります。)が付いて中に引数が入る形はJSと同じです。2018/01/08?>date()関数は現在の日付を取得する組み込み関数です。ユーザー定義関数ユーザー定義関数もJSと同じです。functionの後に関数名、引数、ブロック文です。私の名前はイイダです。functionの後にすぐ引数です。私の名前はイイダです。配列(添字)PHPの配列は下記のような書式です。);?>JSの配列との違いは、あらかじめarrayという関数が定義されていることです。引数の中に値を書きます。下記のように書きます。値);?>JSの連想配列はキーと値をコロン:で繋ぎましたが、PHPはダブルアロー演算子=>でつなぎます。Webデザイナー?>制御構造ここからはPHPの制御構造を見ていきましょう。WordPressではif文やWhile文がよく見られます。JSの制御構造はこちら。【JSの基本-後編】書ける前に読む!HTML、CSS、JSの書式-5if文(分岐)PHPのif文はJSによく似ています。ifがあらかじめ用意されたelseifの一語で済むところです。}をつかわない書き方もあります。処理4endif;?>波カッコの{がコロン:になり、閉じカッコ}はなくなり、if文の一番最後にendif;がつきます。あなたはアラフォーです?>PHPの分岐処理にはJSと同じくswitch文などもあります。while文(反復)while文もJSとよく似ています。増減式}?>if文と同様に波カッコを書かない書式があります。増減式endwhile;?>一番最後はendwhileになります。塩ラーメンいかがっすかー??>PHPの反復処理にはJSと同じくfor文などもあります。最後に以上がWordPressでよく見られるPHPの基本書式です。JSと比較すると細かい書き方は違うけど全体的には似ていますよね!PHPの基本が理解できるとWordPressのコードが読みやすくなり、その中にあるWordPress独自の「テンプレートタグ」が見つけやすくなります。Preprocessorの略。Preprocessorの略。Pageだったそうな。海外でもWebサイトのことをホームページと言ってたようだね。*2:JSと同じくスクリプト言語なのでコンパイラは不要です。*3:ローカルで確認したい場合はローカルサーバ環境を構築します。13:26Tweet関連記事2019-08-14【Vue.js】コンポーネント事始め(グローバル登録とローカル登録)Vue.jsシリーズの続きです。前回まではlocalSltrageとの連携で...2018-12-19Pythonの基本を理解するためにJSと比較するQiitaアドベントカレンダー「Pythonその2」19日目の記事です。Fieldsの繰り返し(グループ)機能の出力タグ一覧Qiitaアドベントカレンダー「WordPress」5日目の記事です。はてなブログProフロントエンドエンジニア。神奈川に住まう四十路のオジキ。DTP→Webデザイナーから転向し今に至る。引き続きコツコツの日々。(24)リンクTwitterInstagramYoutubeCodePenGitHubPinterestQuolaFacebooknoteQiitaはてなブログをはじめよう!idr_zzさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。