*

WordPress利用者向けPHP入門【基本的な利用方法と変数】

公開日: : 最終更新日:2014/03/13 PHP, WordPress ,


スポンサードリンク



WordPressのソースを読むためのPHP入門として
WordPressのソースを読むために必要なPHPの文法などを取り扱って行こうと考えております。

初回はPHPの基本的な利用方法と変数を扱います。

PHPの基本的な利用方法

PHPの実行方法

実行方法はブラウザからPHPの格納されたパスを含んだURLを開くだけです。
当然ですが、格納先のパスがURLとして指定できる設定になっている必要があります。

利用しているローカル環境で動作しているApacheのドキュメントルートにsample.phpを格納した場合は
ブラウザからhttp://localhost:8888/sample.phpにアクセスすることで実行できます。

ポート番号はApacheの設定によって異なります。Apacheを単独で導入した場合は80番となります。
今回作成している検証環境のポートは8888となっておりますので、適宜お使いのポート番号で読み替えてください。

HTMLのbodyに直接PHPを記載する例

まずは基本的な利用例を記載させていただきます。

Apacheのドキュメントルートに以下の内容でsample.phpを作成します。

この例ではHTMLのbodyに直接PHPのコードを記載しています。
ポイントは7,8,9行です。
PHPのソースをBODYタグ内に直接記載する場合は、<?php と?>の間に記載します。

実際の処理はecho “こんにちは”; だけです。この処理は”こんにちは”を表示する処理となります。
実行結果は以下のようになります。
スクリーンショット 2013-12-07 18.23.35

別ファイルのPHPを読み込んで利用する例

次に別ファイルのPHPを読み込む利用例を試してみたいと思います。

先ほどのsample.phpを以下のように変更します。

変更後のポイントは8行目のrequire( ‘./included.php’ );です。
同じディレクトリに存在するincluded.phpを読み込んでいます。
これによってincluded.phpの実行結果をsample.phpに挿入できます。

Apacheのドキュメントルートに以下の内容でincluded.phpを作成します。

実行すると「ちわっす」がブラウザに表示されました。
スクリーンショット 2013-12-07 18.32.23

PHPにおける変数

変数の宣言方法

PHPでは変数名は$から開始される必要があります。

変数を定義する時に明示的な型を指定する必要はありません。
変数に代入する値の型が変数の型になります。

変数のスコープ

PHPの変数のスコープはグローバルスコープとローカルスコープが存在します。
簡単に説明すると、関数内で宣言した変数はローカルスコープで、それ以外はグローバルスコープとなります。
しかし、この考え方が少し他の言語(Java,JavaScript,C,C#等)と異なります。
例として以下の様なコードを作成してみました。

実際に実行すると
$nameに値がセットされていません。と表示されます。
スクリーンショット 2013-12-07 18.36.45

なんとPHPでは明示的に関数内でグローバル変数と同じ名前の変数を宣言しなくても、変数を利用するだけで同じ変数を宣言したことになるのです!
sampleFuncでisset($name)が処理された時点で暗黙的に$nameのローカル変数が宣言され、値が何も設定されていない状態になります。

なおisset関数は引数の変数の値が指定され、NULLでない場合のみtrueを返却します。

 

ではsampleFuncでグローバル変数の$nameを参照するにはどうしたらいいのでしょう?
方法は2つあります。

一つ目はglobalキーワードを指定して$nameを宣言する方法です。
これにより$nameはグローバル変数であると認識されます。
なお’.’は文字列演算子と呼ばれ文字列を結合したものを返却します。

 

二つ目は$GLOBALSから$nameを参照する方法です。
配列$GLOBALSは連想配列であり、グローバル変数の名前($を取り除いた)がキー、その変数の内容が配列要素の値となっています。
$GLOBALSは全てのスコープで存在し、参照可能です。

 

requireを利用したときの変数の参照方法

変数の宣言方法やスコープの基本的な考え方は理解していただけたと思います。
しかしrequireで他のPHPファイルをインクルードしたときの変数の参照方法に疑問が残っていると思います。

例として
sample.phpでグローバル変数を宣言して、その変数がincluded.phpのグローバルスコープや任意の関数内でどのように参照できるかを実験してみます。

sample.phpを以下のように変更しました。
グローバル変数の$titleを追加しただけです。

included.phpを以下のように変更しました。
$titleをグローバルスコープとsampleFunc関数で表示しています。

実行結果は以下のようになりました。included.phpのグローバルスコープで宣言した変数と同じ動きですね。
スクリーンショット 2013-12-07 19.02.24

WordPress利用者向けPHP入門【基本的な利用方法と変数】は以上です。


スポンサードリンク



関連記事

no image

ウェブマスター ツールの構造化データでauthor がありません、updated がありませんとエラーが出る。

前々から気になっていたのですが、 「ウェブマスター ツール」の「検索デザイン」>「構造化

記事を読む

no image

WordPressのソースを読んでみる【その1】

少しずつですがWordPressのソースを読んでいこうと考えております。当然WordPressはPH

記事を読む

no image

久しぶりに攻撃されました。

本当に怖い世の中になってますね。 久しぶりに攻撃されちゃいました。 古いWordPres

記事を読む

no image

突然WordPressの「投稿一覧」画面に存在するはずの投稿がみつからないず「投稿が見つかりませんでした。」と表示される。

なんだか昨日からおかしいと思っていたのですが 突然WordPressの「投稿一覧」画面が以下のよう

記事を読む

no image

WordPress(Stinger3)の見出し2のCSSを変更する

WordPress(Stinger3)の見出し2のCSSを変更してみました。 何故変更したかと言う

記事を読む

no image

WordPress(Stinger3テーマ)のナビゲーションメニュー追加

テーマはStinger3を利用しています。WordPressのバージョンは3.7.1です。 ナビゲ

記事を読む

no image

WordPress 3.8にアップデートしました。

利用しているWordPressを3.8にアップデートしました。 利用しているテーマはStinger

記事を読む

no image

WordPressで既存の投稿(エントリー)を更新するとcron.phpの処理でタイムアウトが発生する時の対処方法

WordPressで既存の投稿(エントリー)を更新するとブラウザに以下のように表示されるようになった

記事を読む

no image

WordPressにGoogle Analyticsを導入する。

WordPressのアクセス解析には「StatPress Reloaded」を利用しているのですが、

記事を読む

no image

ソースコードの表示をCrayon Syntax Highlighterに変更しました。

WordPressにgoogle code prettifyを導入する。で行った設定でソースコードの

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑