Quantcast
Channel: PHP8タグが付けられた新着記事 - Qiita
Browsing all 521 articles
Browse latest View live

【PHP8.0】なんでもあり型が書けるようになる

ジェネリクスではない…ジェネリクスではないのだよ………ざっくり言うとvar_dump()の型引数です。 var_dumpにはプリミティブ値にオブジェクトにリソース型にと、どんな値でも渡すことができるのですが、PHP7.4時点の型システムではvar_dumpの引数の型を表すことができません。...

View Article


PHP Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated

PHP の開発バージョン(master/8.0.0-dev)で、mbstringを有効にすると mbstring.internal_encoding is deprecatedと表示される。$docker run --rm-it keinos/php8-jit /bin/sh / $php -vPHP Deprecated: PHP Startup: Use of...

View Article


【PHP8.0】例外をcatchしたいけど何もしたくない

例外をcatchしたいけど何もしたくない。try{foo();}catch(Throwable$e){// 何もしない}何もしないのにわざわざ変数に受け取るのって無駄じゃありませんか?というわけでnon-capturing catchesというRFCが提出されました。PHP RFC: non-capturing...

View Article

【PHP8.0】PHPにオブジェクト初期化子が導入される

これまで何度も塩漬けにされたり却下されたりしていたオブジェクト初期化子ですが、ついにPHP8.0で導入されることになりました。オブジェクト初期化子が何かというとこれです。classHOGE{publicfunction__construct(privateint$x){//...

View Article

メモ: マクロ PHP_FUNCTION を展開する

結論もどきPHP_FUNCTION(array_reverse)↓void zif_array_reverse(zend_execute_data *execute_data, zval *return_value)読むソースコードphp/php-src: The PHP Interpreter手元のソースコードのコミットは...

View Article


【PHP8.0】厳密なswitch文ことmatch式が使えるようになる

PHPがよく言われる問題点のひとつとして、switchが曖昧な比較であるということが挙げられます。switch($x){case1:'$xは1だよ';break;case"1":'$xは"1"だよ';break;}case "1"に到達することは決してありません。ということで厳密な比較を用いるswitchことmatch構文のRFCが提出されました。以下はMatch expression...

View Article

PHP8.0.0α1がリリースされたのでさっそくJITの威力を体感する(した)

2020/06/25、PHP8.0.0α1がリリースされました。...

View Article

百番煎じくらいの、CentOS8でPHP8環境作るコピペ

前置きPHP8.0.0α1がリリースされたのでさっそくJITの威力を体感する(した)これ試したかったんですが、centos8でやりたかった。CentOS8で、PHP8のインストール。で、これをコピペしようとしたら、ちょこちょこライブラリでつまずいた。あれこれ調べた結果、コピペ手順ができたので、載せておこうと思いました。OPCache/JIT周りは上の記事読んでどうぞ。諸準備dnf update -y...

View Article


読解メモ: PHP RFC: Make constructors and destructors return void

この記事は @carrotRakkoが PHP RFC: Make constructors and destructors return voidを読み解いて自分なりにまとめなおしたものです。英語の解釈や PHP の仕様/実装などなどについて間違っている部分を見つけたらご指摘くださると幸いです。この記事を書いている時点で読んでいるリビジョンは 2020/07/02 23:13...

View Article


【PHP8.0】PHPに名前付き引数が実装される

全ぺちぱーが待ち望んでいた機能がついに来まするよ。変な関数functionhoge($foo=null,$bar=false,$baz=0,$qux=''){}こんな関数があったとして、4番目の引数だけ変更したい、他はデフォルトのままでいいという場合、現在のPHPではいちいちデフォルト値を調べて与えないといけません。めんどうhoge(null,false,0,'fuga');この問題解決のために、こ...

View Article

【PHP8.0】PHPにヌル安全オペレータが導入される

ユーザの住んでいる国を取得します。しかし、うっかりユーザがnullでした。どうなるでしょう。$user=null;echo$user->address->country??'';PHPのプロパティは元よりnull安全なので、存在しないプロパティだろうがnullだろうがプリミティブ型だろうがいきなりプロパティを取り出せます。取れない場合はE_NOTICEが発生しますが、??を使えば黙殺でき...

View Article

【PHP8.0】非厳密な比較演算子`==`の挙動が今さら変更になる

推移律?そんなものはこの世の果てに置いてきた。PHP7"true"==0;0=="0";"true"=="0";結果は順にtrue、true、falseです。これがPHP7までの非厳密な比較(等価)演算子だったわけですが、まあおかしいよねってことで、この挙動がPHP8.0で変更になることになりました。よもや今さら基本中の基本である比較演算子の動作を弄ってくるとは思わなかったぞ。以下はSaner...

View Article

【PHP8.0】PHP8.0の新機能

PHP8.0 / PHP7.42020/08/04にPHP8.0がフィーチャーフリーズしました。言語機能に関わるような機能の追加・変更が締め切られたということです。今後はデバッグを繰り返しながら完成度を高めていき、2020/12/03にPHP8.0がリリースされる予定です。というわけでPHP8.0で対応することが決まったRFCを見てみましょう。RFCJIT賛成50反対2で受理。...

View Article


【PHP+Docker】対話シェルで echo したら Parse error: syntax error, unexpected token...

Docker の PHP で Parse syntax error expecting ";" or "," in php shellDocker で公式の PHP コンテナを対話モードで echo 'hoge';ですら "Parse error" の構文エラーで正常に動かない。対話モードで正常に動かない$docker run --rm-it php:php7-alpine Interactive...

View Article

【PHP8】Docker で PECL の YAML 関数(YAML パーサー)をインストールして使う

PHP の YAML 関数は標準で PHP にバンドルされていません。YAML 関数で、YAML データを PHP 配列にパース(構文解析して変換)、もしくは PHP 配列から YAML データにパースするには PECL の拡張ジュールをインストールする必要があります。しかし、最新(2020/08/28 現在)の php:8.0.0beta2および...

View Article


Image may be NSFW.
Clik here to view.

WindowsでXAMPPにPHP8.0.0β2をインストールする

先日PHP8.0.0α1でJITを試したときはPHP8をXAMPP経由で起動することができなかったのですが、今回動かすことができたので、その方法の共有です。今回試したのはPHP8.0.0β2です。XAMPPインストールまずローカルのXAMPPを削除。公式サイトからWindows向けXAMPPの最新版をダウンロードしてインストール。既にPHP7.4.x版が入っているようなら、そのままでもいけると思いま...

View Article

Image may be NSFW.
Clik here to view.

2020/09/15 PHPerによるPHPerのための「『PHP8』のニュースや記事を語り合う」TechCafe

2020/09/15、ラクスによるPHPerによるPHPerのための「『PHP8』のニュースや記事を語り合う」TechCafe...

View Article


Image may be NSFW.
Clik here to view.

CentOS8にベータ版php8.0をインストールする方法

経緯php8.0が2020年11月26日にリリースされる予定らしい。remi氏のリポジトリでもベータ版が出ているのでインストールして動作確認する。インストール方法百番煎じくらいの、CentOS8でPHP8環境作るコピペCentos8 php8.0をインストールする方法php80-php-8.0.0~beta4-32.el8.remi.x86_64.rpmphpの本体を入れる。dnf install...

View Article

PHP 8 で導入される Attributes 事始め

Attributes とは紆余曲折1ありましたが、 PHP 8 で Attributesという機能が提供されることが決まりました。この Attributesとは、Java で言う AnnotationsC#, C++, Rust, Hack で言う AttributesPython, JavaScript で言う...

View Article

PDOクラスによるデータベース接続

はじめにphpを使うエンジニアを目指す身としてしっかりphpのことを深く理解していきたい!と言うことで、これからパーフェクトphpを読んで学んだことをこれからアップしていこうと思います。初心者がなんか頑張ってるなーと温かい目で見ていただけると幸いです。間違って理解している点などあれば是非終えていただけると幸いです。PDOによるデータベース接続パphpでは以下のように接続すると書いているが、公式リファ...

View Article
Browsing all 521 articles
Browse latest View live