gotohayato.com

太陽(ライトモード)

タグ PHP の記事

Laravel のキューの dispatchAfterResponse() の仕組みのまとめ

PHP のフレームワーク Laravel が提供するキューのジョブオブジェクトに dispatchAfterResponse() というメソッドがあります。 少し前にこの仕組みについて調べたのですが、ウェブ上で参考になる情報があまり見つかりませんでした。 今回はこの di…

PHP-FPM のリクエスト処理後のタイムアウトの仕組みのまとめ

少し前に PHP の FPM (FastCGI Process Manager) のリクエスト処理後のタイムアウトの仕組みについて調べたのでかんたんにまとめておきます。 fastcgi_finish_request() FPM で PHP を動かすと、 fastcgi_fin…

PHP の Multiple access type modifiers are not allowed というエラーの対処方法

PHP の小ネタです。 PHP のコードを実行しようとすると次のようなメッセージの Fatal error が出て処理が止まることがあります。 これはクラスのメソッドやプロパティのアクセス修飾子( public / protected / private )を複数重…

PHP で文字列が正の整数かどうかを判定する方法

PHP で 与えられた文字列が正の整数と解釈できるかどうかをチェックする方法 についてです。 尚 PHP のバージョン 7.3 で動作確認をしました。 バージョンが違うとそのまま使えないこともあると思うので、参考にされる際はご注意ください。 PHP だとこんな単純なこと…

PHP で小数点以下の桁数を指定して切り上げ・切り捨てする方法

PHP で少数点以下の桁を指定して数値を切り上げ・切り捨てする方法についてです。 尚、今回動作確認には PHP のバージョンの 7.2 を使用しました。 組み込み関数 PHP では、数値を丸めるための組み込みの関数として次のものが用意されています。 round() ceil…

PHP の static と self の違い

PHP の static と self の違いについてです。 基本中の基本なのですが、 PHP を書かない日が続くとどちらがどちらなのか忘れてしまい調べ直すことしきりなので、メモとして残しておきます。 まとめ static は 実行時 のクラスを指す self …

PHP で callable なプロパティを呼び出す方法

PHP の小ネタです。 PHP において「 callable なオブジェクト a が別のオブジェクト b のプロパティとして格納されているときに、 a をどのように呼び出せばよいのか」についてです。 サンプルとして、インスタンスが callable な Regis…

PHP で入れ子の配列の中身を再帰的に変更する方法

PHP で入れ子の配列の中身を再帰的に変更する方法について説明します。 PHP でコードを書いているとときどきやりたくなることがあるのですが、サッと実装できずに時間がかかったりするのでやり方をまとめておきます。 課題 入れ子の配列 $form があり、その中にキーが #s…

PHP の整数の最大値周りの挙動

PHP の整数の最大値周りの挙動についてまとめてみます。 整数の最大値に関連する定数 PHP には整数の最大値に関連した定数として次の 3 つがあります( PHP の最新バージョンが 7.2 である 2018 年 5 月時点の認識です)。 PHP_INT_SIZE : inte…

PHP の Flysystem の使い方まとめ

PHP でファイル操作のためのシンプルな API を提供する Composer パッケージ「 Flysystem 」の使い方をまとめてみました。 Flysystem は「さまざまなストレージを共通のインタフェースで扱えること」が大きな特徴のひとつですが、ローカルのストレージ…

PHP の型キャストの挙動のまとめ

PHP には、他の言語にもよくある「型キャスト」( typecasting )の機能があります。 正しく使えればきっと便利な機能なのですが、 PHP の場合は直感的ではない挙動をする場合がかなり多いので、使うときは細心の注意が必要です。 代表的なパターンを以下にかんたんにまとめ…

Sublime Text 3 のパッケージ ComposerPackageInfo をリリースしました

「 ComposerPackageInfo 」という名前の Sublime Text 3 用パッケージをリリースしました。 ComposerPackageInfo - Package Control gh640/SublimeComposerPackageInfo - GitH…

When to use call_user_func() and 'funcname'() in PHP?

There are 2 ways to call a function whose name is set at runtime in PHP. One is call_user_func() and another is 'funcname'() . At a glan…

PHP のエラーログを標準出力や標準エラーに出す方法

PHP のエラーログを標準出力や標準エラーに出す方法についてです。 PHP をコマンドラインで実行するときに、エラーをターミナル上で確認したくなることがあります。 そんなときには ini_set() で設定 error_log の値を変更すれば OK です。 実際に使う…

PHP で最大実行時間をセットしたり確認したりする方法

PHP でタイムアウトまでの時間をセットしたり確認したり方法についてです。 タイムアウトまでの時間をセットする セットする方については 2 通りの方法があります。 ひとつめは専用の set_time_limit() を使う方法、もうひとつは汎用の ini_set() を…

PHP で使用されている php.ini ファイルを特定する方法

PHP で設定ファイル php.ini を確認する方法について。 大きく分けて 3 つの方法があります。 php コマンドの -i オプションを使う方法 phpinfo() 関数を使ってページで確認する方法 php_ini_loaded_file() 関数を使う方…

Doctrine の ArrayCollection クラスの使い方まとめ

Doctrine の ArrayCollection の使い方をかんたんにまとめてみました。 PHP の組み込みの配列ではパッとできないことがシンプルにエレガントに書けるので便利です。 オリジナルのリファレンスはこちら。 Class Doctrine\Common\Coll…

PHP で Fatal error: Can't use method return value in write context in ... というエラーが出る場合の対処方法

問題 PHP でコードを書いていると実行時に次のようなエラーが出ることがあります。 原因と対処方法 (私の経験上)多くの場合、このエラーが出るのは empty() に関数やメソッドの戻り値を直接渡していることが原因です。 例えば次のようなコードでこのエラーが発生します。 解…

PHP で固定間隔の時系列を生成する方法

PHP の組み込みの関数を利用して固定間隔のタイムシリーズを取得する方法についてご紹介します。 出力のイメージは次のとおりです。 この場合は DatePeriod オブジェクトを使うやり方がシンプルです。 テストしてみます。 うまく使えています。 ポイントは次のとおりです。…

PHP の array_reverse() の使用上の注意

PHP の関数 array_reverse() を使っていて挙動に驚いたので備忘録を残しておきます。 array_reverse() は配列の要素の順番を逆にした配列を生成して返してくれる関数です。 通常の使用例は次のとおりです。 インデックス配列: 連想配列: いずれも…

PHP の .phar ファイルを解凍する方法

解凍という表現が適切かどうかわかりませんが .phar ファイルの中身を確認したいときがあります。 そういうときには以下のコマンドを使うことで中身をディレクトリに展開して確認することができます。 参考 php - Extracting files from .phar arch…

PHP での型チェック方法まとめ

PHP での変数の型チェック方法のまとめです。 頻度は高くないのですが、 PHP で変数の型チェックをしたくなることがときどきあります。 このあたり PHP はわかりづらい感じなので、かんたんにまとめておきたいと思います。 gettype() get_class() insta…

PHP の連想配列の最初の要素を取得する方法

PHP の連想配列で最初の要素を取得する方法について。 ちょっと直感的ではなくまたすぐ忘れてしまいそうなのでここに書き留めておきます。 最初の要素の「バリュー」を取得する 値を取得するのはかんたんで reset() 関数を使えば OK です。 最初の要素の「キー」を取得する…

PHP での Fatal error: Can't use function return value in write context というエラーの原因と対処方法

今回は PHP のコードを書いていて次のエラーが出た場合の対処方法について。 原因 このエラーが表示される最も代表的なパターンは isset() や empty() に関数の戻り値を直接渡してしまっている場合のようです。 例をあげてみます。 isset() empt…

PHP で関数を受け取る関数にインスタンスメソッドを渡す方法

PHP の関数型スタイルの関数 array_map() や array_filter() の引数に通常の関数ではなくメソッドを渡す方法をご紹介したいと思います。 PHP では array(インスタンス, メソッド名を表す文字列) でインスタンスメソッドを指定すること…

PHP の echo と print のちがいと使いどころ

PHP には echo と print という 2 つのよく似た出力用機能が備わっています。 これらのちがいやそれぞれの使いどころについて、ことあるごとに調べては忘れ調べては忘れの繰り返しなので、備忘録として書き留めておきます。 早速結論ですが、ひとことでいうと、 e…

Composer で Drush を入れようとしたときのエラー

エラー文 原因 Composer のバージョンが古いために起こるエラーのようです。 私は Composer 0.9-dev で Drush 7.0 を入れようとしたときに発生し Drush を入れることができませんでした。 対処方法 Composer をアップデートします。 C…

PHP の uploadprogress をさくらのレンタルサーバーで使う方法

uploadprogress をさくらのレンタルサーバーで利用する方法をご紹介します。全体的な流れとしては以下のとおりとなります。 uploadprogress をインストール php.ini に設定行を追加 具体的には以下のとおりに行うとよいでしょう。 まずは以下のコマ…

PHP の APC の apc_fcntl_unlock エラー

エラー 発生環境 上記エラーが発生した私の環境は以下のとおりです。 PHP 5.3.35 APC 3.1.9 原因 APC 3.1.9 の既知のバグのようです。次のページで議論され解決されています。 PHP :: Bug #59750 :: Unknown: apc_fcntl…

© 2022 gotohayato.com
サイトについてタグアーカイブ
メッセージを送る