
【ワードプレス】問い合わせフォームから届く、ひたすら迷惑なスパムメールを防ぐ為には?

僕的PHP備忘録第5弾。前回は変数を紹介しましたが変数の中にもちょっと変わった仕組みが存在します。これを分かっていないと思わぬエラーに陥る可能性があるのでしっかりと覚えておきましょう
スコープとは’範囲’のことを指します。よって変数のスコープは変数の範囲、変数を利用できる範囲という意味になります。変数を利用できる範囲とは何でしょうか?
そもそも変数というのは使える範囲が決まっております。スコープにはローカルスコープ、グローバルスコープがありそれぞれの変数をローカル変数、グローバル変数と呼びます。
後ほど紹介する関数というものを使用するとスコープを意識してコーディングをしないと思わぬエラーやバグが発生してしまいます。
<?php
$global = 'これはグローバル変数です';
function example() {
$local = 'これはローカル変数です';
echo $global;
echo $local;
}
example();
echo $local; //これはエラーになります
$globalはグローバル変数、$localはローカル変数、function example() はクラス定義になります。
クラス内で定義された変数はローカル変数と呼ばれ定義されたクラス内でしか使用できません。
よってクラス外で使用すると変数が定義されていないというエラーになります。
一方グローバル変数はクラスの中でもクラスの外でも使用することができます。
ですので意図しない変数の書き換えなどに注意しなければいけません。
自分で定義する変数以外にもPHPが事前に設定している変数、スーパーグローバル変数というのもあります。【$_GET】【$_POST】【$_SESSION】などスコープを気にせず使用でき、これを使用することに検索機能やフォーム機能などの実装に役立ちます。
変数を定義するときは「今定義している変数はどこまでスコープが効くか?」を意識することにより思わぬバグを減らしたり、ソースコードが読みやすくなりその後の運用がやりやすくなるなど得られるメリットは大きいです。
スコープを意識しバグを減らして素敵なプログラミングライフを送りましょう!
山下 生真
役員
建築家を志し京都の大学を卒業。様々な業種を経て、IT業界に心惹かれ、一心発起し、プログラミングスクールに業務の傍ら通う。趣味のYouTubeの動画編集・撮影活動で現CEOと出会う。幼少期からの夢であった”魔法使いになってみんなの役に立つ”実現の為、IT技術を駆使し、世の中の役に立つことを目標に起業。座右の銘は”野心・向上心”。
【ワードプレス】問い合わせフォームから届く、ひたすら迷惑なスパムメールを防ぐ為には?
長時間作業しても疲れない!?4スタンス理論から見る本当に自分に合ったマウスの選び方!
【Part7】記事取得のカスタマイズが捗る。WP_Queryの使い方。カスタムフィールドの指定編
サステナブルマーケティングとは
対面マーケティングの重要性
AIとグラフィックデザイン: デザイナーは心配すべきか?
Webサイト制作における開発手法
最近のマイブーム(おすすめメディア紹介)
幼稚園でICT活用のメリットを紹介
デジタルヘルスとは?