php
PHPで並び替えをしたいけど、第一ソートと第二ソート、第三ソート・・・で並び替えをしたい時ってどうやればいいんだろう、と昔思ったことがありました。 ということで、今回はそのソートアルゴリズムを考えたいと思います。 単純な実装 工夫してスマートに…
PHPのDOMDocumentを利用すると、HTMLやXMLのドキュメントに対して検索したり、アクセスしたりできるかと思います。 www.php.net この中の文字列からHTMLを読み込むときに使用するloadHTMLを使っていて、問題が発生した時の原因と解決策のメモを書いた記事に…
エラーになったのでその解消メモ 事象 docker-compose up -dでエラーが発生した phpのコンテナないでapt-getしているところでエラー エラー内容 エラー内容は以下 Building php Step 1/12 : FROM php:7.4.6-fpm ---> 612022ee981a Step 2/12 : ENV TZ=Asia/T…
パスワード管理って大事ですよね。ただ、未だにどうするのが正解なのかってのをちゃんと調べたことがなかったのです。 そこで、以下のPHPのドキュメントを参考に、安全なパスワードハッシュについて学んでいきたいと思います。 www.php.net はじめに なぜ、…
PHPのジェネレータというものは、名前は聞いたことはあったけど、使ったことがなかったので、お正月休み中に使ってみて、勉強しようと思いました。 ということで、この記事は、その勉強のメモになります。 ジェネレータとは まずは、ジェネレータってなんな…
curl_execを使って指定したURLにリクエストを投げる、ということができると思います。 メソッドを呼んでみる ただ、何も考えずに使ってみると、
Laravelを5系から8系にバージョンアップさせてみたのですが、ページャーの表示がおかしくなりました。。 正常系 ↑今まではこのように表示されていたのが、バージョンアップしてみると↓こんな感じになってしまいました。 異常系 ドキュメントの再確認 cssかな…
本日はPHPカンファレンスの日だったので、今年も参加してきました。 今回は新型コロナウイルスの影響もあり、21年目にして初めてのオンライン開催になりましたので、Openingと同時に起床して参加しました。(寝起きで参加すみません) ということで、今年も…
PHPUnitの各テスト項目の直前直後だったり、全体の最初と最後に処理させたいってことありますよね。 今回はそれの実現の仕方についてと動きについて紹介したいと思います。 テスト全体の最初と最後 まずは、最初と最後に処理させたいパターンについてです。 …
phpunitが古いバージョンで使われていたので、新しくしたいなと思いまして、最新のバージョン(この記事を書いたときはphpunit 9.3.10が最新だった)にバージョンアップをしてみました。 ただ、composer周りの経験がなかったので、躓いてしまったので、この…
今回は、ローカル環境でのパフォーマンス計測をしたいなと思いました。 そこで、タイトルの通り、今回はPHP7環境(本記事ではPHP7.4環境で行うが、PHP7.3やPHP7.2, PHP7.1, PHP7.0もきっと同じ感じだと思う)でdocker-composeを使ってローカル環境を整えたと…
AWSでロードバランサにぶら下がったEC2やECSなどのWebサービスに対して、認証機能をつけたい場合、ALBとCognitoを組み合わせることで簡単に実現できますね。 Cognitoでの認証結果に対して、PHPのサービス側でそのユーザに対するロール設定などをしたい場合、…
Github Actionsを使うといろんな作業が自動化できます。また、PHP-CS-Fixerを使うと、PHPのソースコードを定義したフォーマット(コーディング規約)に合わせて整形してくれます。 ということで、今回は、「コミットごとにPHP-CS-Fixerの整形をGithub Action…
機械学習といえばPython!ですが、自分はPHPの方が使えるので、PHPで機械学習をしたいなと思いました! そこで、PHPで機械学習が使えるPHP-MLを試してみたいと思います。 環境構築 まずは、PHPが動く環境を用意したいと思います。 今回はdockerを使った作成…
PHPでstaticメソッドを呼ぶ方法として、以下のようにselfを使って呼ぶかなと思います。(もちろんstaticの場合もあると思います) self::foo() 抽象クラスで定義されたabstract static methodを呼び出す例 ただ、抽象クラスを定義してそこにabstract static…
PHPの配列操作を効率的にできるモジュールでData Structuresというものが存在します。 dsモジュールは噂では、配列操作をするのにarrayよりもパフォーマンスが良いとのことで、ちょっと気になってました。ただ、日本語の記事がなかなか見つからないので、ど…
HTMLのフォームの入力について、セレクトボックスの複数選択を許可するmultiple属性がついているものに関して、フォーム送信したときに、選択されているvalueすべてを取得する方法を紹介したいと思います。 今回はLaravel上での動作確認としていますが、PHP…
本記事では、去年に提供開始されたGithub Actionsを用いて、Gitにプッシュしたらphpunitを自動で実行するワークフローを作成してみたいと思います。 そのため、今回はPHPを用いた開発を想定して、テストコードの実行にphpunitを用いていきます。
本日12月1日に大田区産業プラザ(PiO)にて開催で開催されたPHPカンファレンスに行ってきましたので、そのメモを書いておきます。 会場 セッション 徳丸先生による徳丸試験例題解説とPHP7初級書籍贈呈キャンペーンと市場動向 『グランブルーファンタジー』開…
今更感はありますが、apache2とCodeIgniter3を使ってみました。 それをgcp上のCompute EngineのVMインスタンスで動かします。 OSは何も考えずにDebian GNU/Linux 9を使っています。 CodeIgniterをインストール インストールと言っても、単純にダウンロードす…
AWS上でとあるシステムを作っていました。そのシステムを簡単に説明すると 画像や動画のような静的なファイルを閲覧することができる ログイン機能がある ログインしないとその静的ファイルは閲覧することができない といった感じのもの。ただし、静的ファイ…
PHP7にバージョンが上がってから結構経ち、すでにPHP7.2まで上がっています。PHP7系になると変わることがたくさんで、ドキュメントを見ればわかるのですが、すべてを把握するのが大変。なので、毎回、実際に問題にぶつかってから調べちゃいます。 実際にプロ…
今回、新しくブログを作成したわけですが、そのときにいろいろ挑戦してみました。 仕事でAWSとGCPを9:1くらいで使っているので、プライベートではGCPを使っています。なので、今回もGCPを使いました。 以下のような感じで、GCP上にWordPressを乗せるというも…