このすみノート

Webエンジニアが技術や趣味を書くブログです。

PHP

Smartyのデリミタを変更する

PHP

Smartyで開発している時にハマったので、個人用メモです。 Smartyのデリミタは、デフォルトでシングル中括弧である Smartyのデリミタは、デフォルトだとシングル中括弧(波括弧)です。 人によりけりかもしれませんが、シングル中括弧は少しもとなく、インラ…

PHP8の名前付き引数を使い始めたら、プログラムがわかりやすくなった

PHP

業務でPHP8を使ったサービスを開発しているのですが、PHP8の名前付き引数を使ってます。 もともと先輩が書いていたコードに名前付き引数があったので、見様見真似で使い始めたのですが、プログラムが格段にわかりやすくなりました。 名前付き引数はPHP8から…

Amazon Linux 2のamazon-linux-extrasでのPHPインストール

業務でAmazon Linux 2を扱っているのですが、初回インストール作業を整理する作業がありました。 ごく一般的なWEBシステムでプログラミング言語はPHPなのですが、インストール時にいくつか気づいたことがあったので、共有します。 amazon-linux-extrasとは A…

PHPのmax_execution_timeにsleepは含まれない

PHP

業務でPHPを使ったWEBアプリケーションのタイムアウト時間の設定を行っているのですが、その中のひとつにPHPのタイムアウト設定があります。

PHPでJavaScriptに似たアロー関数が書ける

PHP

業務でCodeIgniter4(CI4)を使っているのですが、同時にCI4のコード整形ツールを活用しています。 github.com コード整形ツールの実態はphp-cs-fixerなのですが、コード整形された結果を眺めていると、ひとつ気になる挙動に気づきました。 一部の無名関数が、…

CodeIgniter4の公式のコード整形ツールでCodeIgniter4のコーディングを学習する

PHP

最近はCodeIgniter4を使って開発しているのですが、公式のコード整形ツールがありました。 試しに使ってみたら、かなりコードが整形されたのでメモがてら記します。 github.com インストール composerを使ってインストールします。 とりあえず開発環境で使い…

PHPのGuzzleで同名のGETクエリパラーメーターを送信する

PHP

仕事での話ですが、複数選択可能なパラメーターを送信するときに、配列形式のパラーメーター a[]=&a[]= でエラーとなる事象に遭遇しました。 原因はAPIが求めている複数選択パラメーターが、a=&a= という、同名パラーメーターを重ねて送信する方式だったから…

CodeIgniter4を使い始めたので、チュートリアルをやってみた

PHP

業務でCodeIgniter4を使い始めました。 既存システムのリプレースプロジェクトなのですが、CodeIgniter4は未経験なので、まずはチュートリアルをやりました。 ざっとメモしておきます。 codeigniter4.github.io インストール CodeIgniter4のインストールは、…

標準php:apacheコンテナのセキュリティを強化する

PHP

お手軽にWEBサービスを開発したり動作確認するとき、よくphp:apacheのコンテナイメージを使います。 実際はディレクトリをマウントしたりして使うわけですが、以下は簡易的なイメージです。 version: '3' services: web: image: 'php:8.1-apache' volumes: p…

PhpfastcacheのPsr16Adapterについて

PHP

Phpfastcacheは、PHP言語のキャッシュライブラリです。 本記事執筆時点で、スター数は約2200あります。 Slim4で作成した簡易的なウェブサイトにて、キャッシュを使いたかったため選定したのですが、PSR-16について理解する機会があったので記します。 www.ph…

composer self-updateでシンタックスエラーが発生するときの対処法

PHP

とある環境で composer self-update [とあるバージョン] を実行したら、シンタックスエラーやらSymfonyのCall to undefined functionやらが発生して、アップデートできないトラブルに見舞われました。 最終的には力技で解決したのですが、ハマったのでメモし…

Laravelのキューワーカー(queue:work)はソースコード反映に再起動が必要だった件

PHP

とあるプロジェクトに開発支援で参加しているのですが、最近トラブルが発生していました。 原因は不明なのですが、Laravelのキューワーカー経由で実行されるJobが、異常終了してしまう問題です。 なぜかlaravel.logにも怪しいエラーメッセージが残っておらず…

Slim4にベーシック認証を導入する

PHP

業務で簡易なウェブサイトをPHP8 + Slim4で実装したのですが、限定公開にする必要があったので、ベーシック認証を導入しました。 とくに詰まるところはなかったのですが、記録として残します。 tuupola/slim-basic-auth Slim4にベーシック認証を追加できるラ…

PHP8とSlim 4を使い始めた

PHP

仕事でPHPを使うサイト構築の機会が訪れたのですが、ごく小規模のサイトのため、Slim 4を選んでみました。 まだ今週使い始めたばかりなのですが、一週間ほど使ってみた段階でのSlim 4の感想を、メモがてら共有します。 インストールは簡単 まずインストール…

Laravelには偉人の名言を出力する機能があるらしい

PHP

先日からLaravelを学習中なのですが、Laravelには『偉人の名言を表示する』という、不思議な機能が存在することを知りました。 気になって使ってみたので、紹介します。 まずはLaravelをインストールする 偉人の名言機能は、Laravelインストール後、すぐに使…

LaradockでLaravel開発環境を構築したので、わかったことを共有する

PHP

業務でLaravelを使うことになったのですが、M1のMacBookでLaravel HomesteadのVirtualBox + Vagrant環境は動かないことがわかったので、Laradockを使ってみました。 その際に調べた内容を共有します。 Laradockについて Laradockとは、PHP開発向けに構築され…