PHP関数のデフォルト引数

phpでプログラミングをしている時、関数を使う事がある。

functionというヤツである。今まで知らなかったが

以下のような書き方もできる、らしい。

<?php

//セッションの開始

session_start();

//入力値の取得・検証・加工

$s_name = chkString($_POST[“s_name”], “名前”);

$s_mail = chkString($_POST[“s_mail”], “メールアドレス”, true);

$s_message = chkString($_POST[“s_message”], “メッセージ”);

//入力値をセッション変数に格納

$_SESSION[“s_name”] = $s_name;

$_SESSION[“s_mail”] = $s_mail;

$_SESSION[“s_message”] = $s_message;

//入力値の検証・加工

function chkString($temp = “”, $field, $accept_empty = false) {

//未入力チェック

if(empty($temp) AND !$accept_empty){

echo “{$field}には何かを入力してください。”;

exit;

}

//入力内容を安全な値に

$temp = htmlspecialchars($temp, ENT_QUOTES, “UTF-8”);

//戻り値

return $temp;

}

?>

お分かりになっただろうか。chkStringという関数を定義して

引数を渡しているんだがデフォルトの引数値を定義している。

つまり$_POST[“s_name”]や$_POST[“s_message”]が

空の時はデフォルトの$temp = “”になる。何か入ってれば

その文字列になるという事のようである。

またメールアドレスにはchkStringで3番目の引数を

trueにしている。これによりデフォルトの

$accept_empty = falseがtrueになる。

その次にif文で$tempの中が空であり、かつ

$accept_emptyがfalseの時には

{$field}には何かを入力してください。という

メッセージを出し処理が終了する。

一方上記のif文に当てはまらない時、

htmlspecialchars関数を行いサニタイズして

その値($temp)を返してあげる。

ここまでがchkString関数。

あとは$s_nameや$s_mailなどをセッション変数に格納。

そして次に何か処理をするのだろうがそこは割愛。

このようなPHP関数のデフォルト引数の仕組み

を知らなかったため目からウロコだった。

webで調べると以下にも出ている。

https://www.php.net/manual/ja/functions.arguments.php#functions.arguments.default

引用すると

<?php

function makecoffee($type = “cappuccino”)

{

    return “Making a cup of $type.\n”

}

echo makecoffee();

echo makecoffee(null);

echo makecoffee(“espresso”);

?>

上の例の出力は以下になる。

Making a cup of cappuccino.

Making a cup of .

Making a cup of espresso.

何も指定しなければデフォルトのcappuccinoになり

nullを指定すれば何も入らない。

そしてespressoを指定すれば$typeはespressoに

なるという事ですね。

WordPressバージョンアップ時のメモ

今後WordPressのバージョンをあげるときの注意点。

バージョンアップは自動でも手動でもできる。

自動はワンクリック。手動はややこしい。

WordPressを最新版にアップグレードする方法【初心者向け】

https://techacademy.jp/magazine/2055

バックアップが重要。

DBのバックアップは不測の事態でデータベースが壊れた時の事も考え

定期的に取っておいた方がいいかもしれない。

>サーバー上のファイルは、FTPソフトなどでPC上にバックアップファイルを

ダウンロードする方法が一般的です。

>また、データベースのバックアップは、データベースの管理システム

「phpMyAdmin」を使うのが一般的です。

phpMyAdminを使ってMySQLのデータをバックアップ・復元する方法

phpMyAdminを使ってMySQLのデータをバックアップ・復元する方法

https://easyramble.com/backup-mysql-with-phpmyadmin.html

バージョンアップしたときプラグインが動くかも重要。

wordpressプラグイン

https://ja.wordpress.org/plugins/

※プラグイン「Jetpack by WordPress.com」によるアクセスはwebcrowのセキュ

リティ制限の一部対象外。

webcrow wordpress セキュリティ設定

https://www.webcrow.jp/support/man/homepage_wpsecurity.php