PHP
ワードとしては「複数ドメイン間でのセッションの共有」とか「サブドメイン間でセッションの共有」とか「別ドメインでログイン(認可)情報を共有」とかそんな感じになりますかね。 ケースとしては比較的レアかと思うのですが。今回の場合 ・「複数のゲーム」…
色々あっていろいろあったのに触発されました(笑 いや昔実際に実務で実装したこともあったんで、その辺を踏まえて。 大前提として ・ログインロジックに介入できる ・ユーザの「最終ログイン時間」が捕捉できる(ケースによる) が必要になりますんでご注意を…
とりあえずinstall composer require robmorgan/phinxinitで初期化をするらしい。 vendor/bin/phinx initphinx.php が生えた。 [ 'migrations' => '%%PHINX_CONFIG_DIR%%/db/migrations', 'seeds' => '%%PHINX_CONFIG_DIR%%/db/seeds' ], 'environments' =>…
数学苦手なんで(……とも言ってられないんだが)、馬力で計算してみたw厳密には「3以上の時は技能値(等)が足される」ので、その辺で少し加減されるんだけど。 いったん「ダイス目だけ」で、陰徳値無考慮で純粋に「ダイスの確率」で確認。 プログラムでざっくり…
なんか「ふと思いついた」程度のお話ではあるのですが。まず前提として「Value Objectとは、一意性がなく交換可能なもの」としておきます。おいちゃんの好み的に「イミュータブル」であって欲しいと思ってますが、その辺はまぁ余談。 あと、ちょろっと出てく…
php artisan queue:work には、色々な引数があるようです。 バージョンにもよるんだろうなぁ、と思うのですが、とりあえず手元の 8.83.27 のバージョンでお話を進めます。とりあえず引数の一覧は、vendor/laravel/framework/src/Illuminate/Queue/Console/Wo…
別件で調査をしていて、ふと「あれ? call_user_func_array() にhash配列渡したら、名前付き引数的にいい感じに処理してくれるんぢゃね?」って思ったので、早速実験。名前付き引数(PHP8.0から) https://www.php.net/manual/ja/functions.arguments.php#functi…
元ネタ。 https://twitter.com/komi_edtr_1230/status/1562230567101693953 自称シニアのフリーランスさん(笑)からのPRで if (foo == “bar”) { return true } else { return false } というひどいコードがあって朝からゲンナリしてる.... 駆け出しエンジニア…
なにかでちょろっと気になったのでざっくり検証したので、軽くlog残し。 基本的に「foreachに有利な処理*1」なので、まぁ参考程度に見ていただければ。 ただ言い方を変えると「だから処理によっては(「配列を2回ぶん回す」事になるから)array_*使うと処理的…
ちょいと「LaravelのMessage Queue」について調べる用事があったので。 調べ物の備忘録用に書いているので、間違いとかあるかもしれないので ・使う時は気をつけてください ・間違いに気付いたらコメントなどで突っ込んでいただければ、と思います。 という…
元ネタは、 https://speakerdeck.com/twada/growing-reliable-code-phperkaigi-2022?slide=84 を見て「コンストラクタが2回動くの!?」って質問があったので。 端的には「PHPにおいてコンストラクタはマジックメソッドで、マジックメソッドはメソッドだから…
gallu.hatenadiary.jp で読み込みを書いていたのですが、書き出しをそういや書いてなかったなぁ、と思って。先にちょろっと考察したいのが、Content-Type。 本来は text/csv が正解。 ただ、割とちょいちょい application/octet-stream を見かけて*1、まぁそ…
いわゆる「コードをひとまとめに、関数とかクラスとかそーゆー感じの箇所にまとめるか否か」ってあたりについて。 おいちゃん的には(一端、現状では)結論が出ていて・「意味が同じ」ものは絶対に共通化しろ ・「機能が同じ」ものは、どっちでもいいけど共通…
いわゆる排他制御系。 いやまぁおいちゃん的には「セマフォ使えばいいじゃない終了」で終わるお話なんですが。 PHPのセマフォ、一応「コンパイルで指定が必要(coreじゃない)」ので、稀に、極稀に「入ってない環境」とかあるので……いやまぁ「入れろ」って話な…
PHPで「型宣言された引数の型の名前」を知る方法 - がるの健忘録 の続編。いやPHP8になって「union typesとか増えたしなぁ」とか思って検証コード書いてみたので、勿体ないんで、忘れる前に(絶対忘れるだろうしw)、記録しておく。
ちょいとお仕事で、要約すると ・useすればクラス名の解決が可能になるのではないか? → 参照したいクラスがあるファイルのnamespace\クラス名をuseで指定すれば使用はできるはず という趣旨の質問をいただきまして。これはとても興味深い内容だなぁ、と思っ…
0部 まずは初めてみよう 本書では、最終的にはPHPを「概ねある程度のレベルまでを一通り」文法を中心に学習していけるように作成する予定です。 ここで諸々の蘊蓄をたれてもよいのですが、きっとこういったものを読むからにはなにがしか「プログラムを組む学…
今年の目標「アウトプットを増やす」の一環として、PHP初心者本を書いていこうかなぁ、と思っています。GItHubで github.com で書いていきますが、同時にここにも内容を記載していこうかなぁ、と……修正までは反映しないと思うので、修正版まで見たいようであ…
素晴らしき自動的な世界~或いは「型のない」世界~ https://gallu.hatenadiary.jp/entry/20061108/p1 で書いた、こんなお話、記憶にございますでしょうか? PHP驚愕の事実if ('2a' == 2) { ここ通る } ここから幾星霜、涙が大河となるくらいまであちこちで…
Slim4です。 エラー周りの基本処理で。 * @param bool $displayErrorDetails -> Should be set to false in production * @param bool $logErrors -> Parameter is passed to the default ErrorHandler * @param bool $logErrorDetails -> Display error det…
微妙暴言のお時間でございます*1。 いやまぁ昨今、サイト作るのにWAF/FW(Web Application Framework で Framework の略な)を使わない、って選択肢も稀かなぁと思っております。 ……いやまぁ「うちのFWはSmartyです」とか言われた頃が(うっすらした殺意と共に)…
おいちゃん、経験的に、割合とPHPが長くなってきております。 んで、PHPでコード書くとき、割と色々と「丁寧に」書く癖があって。 特に昔は割と嫌がられたりしてたもんだけど、おかげでバージョンアップしても「平気の平左で」受け入れられるんだよなぁ、と…
「実装によってはUUID4が重複しうる」って話を聞いて「じゃぁ駄目な実装を書いてみよう」と思いました(笑 珍しく「徹頭徹尾、非実用」です(笑
典型的には「(第一種)ホワイトリスト*1」の実装でありがちなのですが。 declare(strict_types=1); $white_list = [ 'hoge', 'foo', 'bar', 'baz', 'qux', ]; // $input = 'bar'; // if (true === in_array($input, $white_list, true)) { echo "{$input} is …
なんか、毎回 ・「書ける」のは覚えてる ・書式を忘れる のループに陥ってるので、備忘録(苦笑 // CSVの読み込み $file_name = ファイル名; $file_name = 'php://filter/read=convert.iconv.SJIS-win%2FUTF-8/resource=' . $file_name; $file_obj = new SplF…
いやまぁ sh ./configure -hでチェックしろ、って話しではあるのですが。PHP7.3系とPHP7.4系で、configure のオプションがちょいと変わっております。……ちょろっとべっくらこいたよおいちゃん。 おいちゃん、PHPは自力コンパイルする事が多くて、もうちょっ…
タイトルが長い(笑いやまぁ色々と調べていてそれはそれで後で記事にするのですが。 Slim4で使われているContainerについてちょいと調べたので、備忘録かてがて。Slim3では "pimple/pimple" が使われていたのですが、Slim4では "php-di/php-di" が使われてい…
元々は、Laravelで興味深い機能*1を見かけたのが初手で。 その後、(近々公開しますが)Slim4のContainerでも似たような事をやっていたので、ちぃと思い切って調査をしてみました。端的には ・関数(メソッド)宣言で引数に型宣言をしている時に、「なんのクラス…
bit演算を使ったプログラミング、割と「知られてないのでは?」という感じがあったので。 ここでは少し抽象的な部分が混ざってしまうのだけど、まぁなんかの一助になるかなぁ、くらいの感じで、めも。大まかには ・処理が「A」「B」「A+B」みたいな感じの時…
MySQLの、(少なくとも一部では)悪名高き 0000-00-00 について、は、そこそこブログがあるのですが。 「それを、PHP(plain)とか(PHPの)フレームワークとかでどうやってるんだろ?」というのが、ざっくりググった限りだと案外と無かったので。 調査かてがて、…