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

【PHP8.2?】foreachで安全にリファレンスを使えるようになるかもしれない

考えなしにforeachでリファレンスを使うと事故が発生します。 $arr = [1, 2, 3]; foreach($arr as &$value){} $value = 'x'; var_dump($arr); // [1, 2, 'x'] foreachを抜けた後も最後のリファレンスが残り続けるので、うっかり削除し忘れると思ってもなかった変数値が変わってしまいます。...

View Article


CentOS7にPHP8.0(+JIT)を導入する

PHP8.0をCentOS7に導入します。 Remiレポジトリの追加 # yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm PHP8.0のインストール JITを使いたいのでopcache拡張機能も忘れずにインストールします。 他必要な拡張機能諸々も。 # yum install -y php80...

View Article


【PHP8.1】PHP8.1で削除される機能

Nikitaをはじめとする一部のstrictぺちぱー達は、PHPのレガシー機能の削除に熱心に取り組んでいます。 まあ実際、初期のPHPには特にですが、いったいなんでこんなものをという思い付きのような機能がたくさんありましたからね。 そのあたりはPHP7からPHP8.0にかけてだいぶ綺麗に片付けられてきたのですが、まだまだおかしなものも残っています。...

View Article

イケてないswitch-case文からおさらばするPHP生活の知恵2 -PHP8編-

はじめに 以前こんな記事を書いたんですよね。 でも最近PHP8を使うようになってもっとイケてる感じにかけるやん?ってわかったわけで、続編みたいな感じです。 match式を使おう ゆるゆる判定のswitch文を憎んでいるちょっとだけ意識高い目のぺちぱー諸氏は色んな方法でswitch文使わないで書こうと考えてると思うんですが、とうとうPHP8で我々の前に救世主が降り立ちました。 match式 です。...

View Article

PHP8でJITの設定方法

はじめに PHP8からJITというプログラムを高速に実行させる機能が導入されたようです。 その導入方法を残して起きます。 方法 php.iniファイルに以下を追記 php.ini zend_extension = opcache opcache.enable = 1 opcache.enable_cli = 1 opcache.jit = tracing...

View Article


PHP8をインストールする(ソースからビルドする)for RockyLinux8.4

はじめに PHPは、様々なライブラリがあり大変便利ですが、コンパイル時にはそのライブラリを含めてビルドする必要があります。 PHP8とよく使うであろうライブラリ含めたコンパイルの一式の作業メモです。 処理部分をまとめていますので、必要に応じてコピペすればほぼ無操作で、PHP8が稼働する環境が作れます。 あらかじめApacheのインストールが必要です...

View Article

【PHP8.2】call_user_func()と$callable()の矛盾を解消する

PHP8.1もまだリリースされていないというのに、早々とPHP8.2に導入される機能がひとつ決まりました。 導入というか削減ですが。 そんなわけで以下はPHP8.2のRFC、Deprecate partially supported callablesの日本語訳です。 Deprecate partially supported callables Introduction...

View Article

【PHP】PHPでREPLを使うには?

REPLとは? REPLとは「Read-Eval-Print-Loop」の略です。 コマンドラインからプログラムを1行づつ実行できる機能のことです。 REPLが役立つ場面 関数の使い方を調べるとき 例えば、print関数等初めて使用する関数の動作確認したいときに、REPLを使用することで簡単に確認することができます。 関数の仕様の確認...

View Article


【PHP】外部サーバーにあるファイルの存在確認をする方法

概要 自サーバーのファイルの存在確認は、「file_exists関数」で可能ですが、外部サーバーのファイルの存在確認する方法をシェアします。 方法1 「file_get_contents関数」でURLを指定して、外部サーバーのファイルの存在確認をします。 if (file_get_contents($url)) { echo 'ファイルが存在します'; } 方法2...

View Article


【PHP】PHP_EOLとは?使用方法も解説!

PHP_EOLとは? PHP_EOLは、PHPで定義済みの定数です。 PHP_EOLは改行を表し、WindowsやLinux等のOSによって自動で改行コードを切り替えてくれます。 OS 改行コード 改行文字 Windows CRLF \r\n Linux/UNIX系 LF \n 使用方法 <?php echo 'おはようございます。' . PHP_EOL . '今日はいい天気ですね。';...

View Article

事前に採番したそのID使われてないかも!?(CakePHP)

はじめに データ新規作成時、あらかじめ ID を採番しておいて、オブジェクトを持ちまわしていました しかし、そのオブジェクトの保存処理後、採番していた ID とは違う ID で保存されていたのです 結論 patchEntity() の返り値のエンティティの id に値を設定すれば OK CakePHPUserRepository.php // ユーザーを保存する public function...

View Article

Laravelパッケージを作ろう!その壱

複数プロジェクトに跨る様な、コアライブラリを作りたくなりました。 パッケージ化すれば良いらしいので、備忘録として纏めて行こうと思います。 マシンスペック Mac mini 2018 macOS Catalina(10.15.x) Intel Core-i7 3.2GHz 6コア メモリ 32GB SSD 512GB 開発環境 PHP(PHP-FPM) 8.x Composer 2.x Laravel...

View Article

【PHP】PHPでREPLを使うには?

REPLとは? REPLとは「Read-Eval-Print-Loop」の略です。 コマンドラインからプログラムを1行づつ実行できる機能のことです。 REPLが役立つ場面 関数の使い方を調べるとき 例えば、print関数等初めて使用する関数の動作確認したいときに、REPLを使用することで簡単に確認することができます。 関数の仕様の確認...

View Article


【PHP】外部サーバーにあるファイルの存在確認をする方法

概要 自サーバーのファイルの存在確認は、「file_exists関数」で可能ですが、外部サーバーのファイルの存在確認する方法をシェアします。 方法1 「file_get_contents関数」でURLを指定して、外部サーバーのファイルの存在確認をします。 <?php if (file_get_contents($url)) { echo 'ファイルが存在します'; } 方法2...

View Article

【PHP】PHP_EOLとは?使用方法も解説!

PHP_EOLとは? PHP_EOLは、PHPで定義済みの定数です。 PHP_EOLは改行を表し、WindowsやLinux等のOSによって自動で改行コードを切り替えてくれます。 OS 改行コード 改行文字 Windows CRLF \r\n Linux/UNIX系 LF \n 使用方法 <?php echo 'おはようございます。' . PHP_EOL . '今日はいい天気ですね。';...

View Article


Laravel6系をPHP8で動かす

dockerで動かした時、STATUSがrestartingで正常に起動しない。 % docker-compose ps NAME COMMAND SERVICE STATUS PORTS 〜 local-laravelproject-php-1 "docker-php-entrypoi…" laravelproject-php restarting 〜 logsで原因を探る。 %...

View Article

新・FizzBuzz

新・FizzBuzz 自分の中で「これは新しいFizzBuzzだ!」と思っただけなので、感じ方に個人差はあると思います。なるほどなっと私は感じたのでこんな書き方もありますよということです。。。 PHP8から導入された「match式」を使ったFizzBuzzの書き方です。 matchは「値を返せるswitch式」のようなものです。 FizzBuzz.php function FizzBuzz (int...

View Article


IntelliJ IDEA / PhpStormとdockerのPHPでブレークポイントを使ってデバッグする方法

xdebug php.iniの設定例。 ; 以下の設定だと、IntelliJのRUNではxdebug.modeの設定が無しで実行されるのでmode=developとして実行され、 ; DEBUGではIntelliJ側でxdebug.mode=debugが設定されて実行されるのでブレークポイントが働くようになります xdebug.mode=develop...

View Article

Laravelパッケージを作ろう!その弐

前回、LaravelパッケージをGit経由で追加する事ができた。 Laravelパッケージを作ろう!その壱 ただ、どうせならGitへプッシュする前に動作確認とかしたいし、パッケージにバージョン振りたいな。 マシンスペック Mac mini 2018 macOS Catalina(10.15.x) Intel Core-i7 3.2GHz 6コア メモリ 32GB SSD 512GB 開発環境...

View Article

WindowsからPHPを使ってSSH越しにMySQLを叩く

以下のコマンドで SSH のフォワーディングをしておく ssh ユーザー名@ホスト -i 秘密鍵 -L リッスンポート:宛先ホスト:宛先ポート これで取りあえず動く $dbcon = new mysqli('127.0.0.1:9999', 'username', 'pw', 'database', 3306); $res = $dbcon->query('show tables;');...

View Article
Browsing all 521 articles
Browse latest View live