【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【予約システム開発】EDISONE カスタマイズ開発サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【200ヶ国以上に対応】グローバル eSIM「ビヨンドSIM」

【200ヶ国以上に対応】グローバル eSIM「ビヨンドSIM」

【中国への旅行・出張・駐在なら】中国SIMサービス「チョコSIM」

【中国への旅行・出張・駐在なら】中国SIMサービス「チョコSIM」

【グローバル専用サービス】北米・中国でも、ビヨンドのMSP

【グローバル専用サービス】北米・中国でも、ビヨンドのMSP

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【PHP新機能】PHP8 が リリースされました

PHP

こんにちは、ビヨンドの 元 ISMS 担当、元プログラマ、とたくさん元がつく現雑用柏木です。
2020年11月に PHP8がリリースされ、まだビヨンドブログでは触れられていなかったので滑り込み紹介します。

まず PHP とは

言わずと知れた、サーバサイドのスクリプト言語です
仕様や文法の理解のしやすさから、スタディコストが安くいろいろなところで利用されている言語になります。
データベースの接続等も容易で初心者の方でも迷わずに実装できる利点があります。
インストールも簡単です。

早速 CentOS7 に インストール

$ sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum -y install yum-utils
$ sudo yum --enablerepo=remi-php80 install php

インストールが完了しているはずなので、バージョンを確認してみます。

$ php -v
PHP 8.0.0 (cli) (built: Nov 24 2020 17:04:03) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies

無事インストールされました。インストールは相変わらず簡単ですね。

早速新機能をいろいろ試す

JIT

処理が早くなります。ただ、WEBコンテンツではその恩恵をそこまで得られないかもしれません。
いままで敬遠されていた、PHPでのバッチ処理化がはかどりそうですね。
ただ、JITの説明自体はたくさんの方々がブログ等で説明していただいているようですので詳しくは割愛します。
目玉機能なので紹介しました。

名前付き引数

引数を名前で渡せる新機能です。python 等、他の言語ではすでにおなじみですね。

// 名前付き引数
function sample01( int $mae = 0, int $ato = 0  ) {
        var_dump( $mae );
        var_dump( $ato );
}

// どの引数か指定できる
sample01( mae: 1, ato: 2 );
// 出力結果
// int(1)
// int(2)

// 逆にしても大丈夫
sample01( ato: 2, mae: 3 );
// 出力結果
// int(3)
// int(2)

// 片方だけもいける
sample01( ato: 4 );
// 出力結果
// int(0)
// int(4)

match 式

switch文みたいな処理を、三項演算子のように使える新機能です。

$x = 2;
$sample02 = match ( $x ) {
        1 => '$x は 1',
        2 => '$x は 2',
        default => '$x は それ以外',
};
var_dump($sample02);
// 出力結果
// string(8) "$x は 2"

などなど、簡単に試せるところだけのご紹介で、
今回はあまり大幅な仕様変更はなかったかなと思いますが、
見どころはたくさんあったのではと思います。

ただ、世界に残存する、PHP5 からの アップグレード、PHP7 からのアップグレードは
下位互換のない機能、実装もありますので注意が必要です。

今手元にあるソースと、公式のソースを見比べながらグレードアップに関しては検討してみることをお勧めします。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
1
読み込み中...
1 票, 平均: 1.00 / 11
856
X facebook はてなブックマーク pocket
【2025.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2025.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

この記事をかいた人

About the author

柏木宏文

エンジニアもどき。

入社年月日:2010/11/10
これまでの経歴:開発会社2社
現在の業務:エンジニアもどき
所有資格:AWS SAA, GCP PCA

かしわもちはそんなに好きじゃない。