タグ

PHPとQiitaに関するmziyut112のブックマーク (12)

  • 【PHP8.3】PHPの乱数がますます改善される - Qiita

    PHP8.2で乱数が大改善されましたが、早くもPHP8.3で幾つかの機能が追加されることが決まりました。 以下は該当のRFC、Randomizer Additionsの紹介です。 PHP RFC: Randomizer Additions Introduction このRFCでは、ユーザランドでの実装が困難であったり面倒であったりする、幾つかの有用な機能を\Random\Randomizerに追加することを提案します。 識別子、バウチャーコード、整数範囲を超える数値文字列を作るといった用途で、特定の文字を含むランダムな文字列を生成することはよくあります。 この操作をユーザランドで実装するには、ループ中で入力文字列からランダムなオフセットを取る必要があり、非常に単純な内容であるにもかかわらず何行ものコードが必要になります。 また文字列長から1を引くのを忘れるなど、微妙なバグも発生しがちです。

    【PHP8.3】PHPの乱数がますます改善される - Qiita
  • 【PHP8.2】PHPの乱数がすごい改善される - Qiita

    class XorShift128Plus { /* constants */ protected const MASK_S5 = 0x07ffffffffffffff; protected const MASK_S18 = 0x00003fffffffffff; protected const MASK_S27 = 0x0000001fffffffff; protected const MASK_S30 = 0x00000003ffffffff; protected const MASK_S31 = 0x00000001ffffffff; protected const MASK_LO = 0x00000000ffffffff; protected const ADD_HI = 0x9e3779b9; protected const ADD_LO = 0x7f4a7c15; protec

    【PHP8.2】PHPの乱数がすごい改善される - Qiita
  • PHP の static の種類,全部言えるかな? - Qiita

    Q1 商品の在庫ごとに割り振られる連番の商品 ID を, PHP 上で自動採番するクラスを考えます。下記で使われている static に関して 🔰 どういう役目を持っているでしょうか? 🔰 どの PHP バージョン以降で有効でしょうか? (但し,PHP 5.0 より前には遡りません) 🔰 出力される商品 ID はどうなるでしょうか? <?php class Product { // ↓ ① protected static int $counter = 0; public readonly int $id; public function __construct( public readonly string $name, public readonly int $price, ) { // ↓ ② $this->id = ++static::$counter; } } class

    PHP の static の種類,全部言えるかな? - Qiita
  • 【PHP8.2】PHP8.2の新機能 - Qiita

    PHP8.3 / PHP8.2 / PHP8.1 / PHP8.0 2022/07/19、PHP8.2がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2022/11/24にPHP8.2.0がリリースされる予定です。 というわけでPHP8.2で実装されるRFCを見てみましょう。 RFC Disjunctive Normal Form Types 賛成25、反対1で受理。 選言標準形です。 UNION型と交差型を同時に使えるようになります。 思う存分型パズルで遊べますね。 // A型、もしくはB型かつC型、もしくはint function hoge( A | (B & C) | int $param){}

    【PHP8.2】PHP8.2の新機能 - Qiita
  • 【PHP8.2】true型が使えるようになる - Qiita

    class Foo{ public bool $var1; public false $var2; public true $var3; // ←これだけ非対応 } ということでtrue型も実装しようというRFCが提出されました。 投票期間は2022/05/29から2022/06/12であり、賛成33反対0の全会一致で可決されました。 PHP8.2から使用可能になります。 以下は該当のRFC、Add true typeの日語訳です。 PHP RFC: Add true type Introduction PHPは、PHP8.2においてnull型とfalse型を単独サポートすることを決めました。 しかし、falseの対偶であるtrueは型として存在しません。 true型を実装しなかった理由はUNION型のRFCにおいて説明されています。 現在では、エラーや不正が起きた際の関数の戻り値はnu

    【PHP8.2】true型が使えるようになる - Qiita
  • PHP の ... (3点ドット, Three Dots) の種類,全部言えるかな? - Qiita

    下記で使われている ... に関して 🔰 シンタックスは,そもそも有効でしょうか? 🔰 有効である場合,どういう役目を持っているでしょうか? 🎓 有効である場合,どの PHP バージョン以降で有効でしょうか?

    PHP の ... (3点ドット, Three Dots) の種類,全部言えるかな? - Qiita
  • 【PHP8.2】readonlyなクラスが作れるようになる - Qiita

    PHP8.1でreadonlyプロパティが実装されましたが、このreadonly修飾子がクラスにも使えるようになります。 プロパティごとにreadonlyを設定するのではなく、クラス自体を厳格に運用することができるようになります。 以下は該当のRFC、Readonly classesの日語訳です。 PHP RFC: Readonly classes Introduction PHP8.1でreadonlyプロパティがサポートされました。 しかしたとえば、多くのプロパティのある不変クラスの宣言は未だに面倒です。 そこで、このRFCではreadonlyなクラスのサポートを提案します。 Proposal PHP8.1で追加されたreadonlyを、クラスにも適用できるようにします。

    【PHP8.2】readonlyなクラスが作れるようになる - Qiita
  • PHPでStannumを使って超簡単にValue Objectを作る - Qiita

    おはようこんにちはこんばんは。 さて、今回は自作したライブラリの宣伝にはなってしまいますが、Stannumというライブラリを使って、便利に使える値オブジェクト(Value Object)を簡単に作る方法を紹介したいとおもいます。 ライブラリ来の使い方からは少し逸れますが、ライブラリのクラスでスカラー型をラップするという性質を利用して、そのクラスを継承してValue Objectとして活用しました。 導入 他のライブラリ同様、いつも通りcomposerから入れてあげます。

    PHPでStannumを使って超簡単にValue Objectを作る - Qiita
  • 初心者プログラマーのための変数/関数/メソッドの英語命名規則 - Qiita

    はじめに 「なんか、レビューのたびに変数名を指摘されてる気がする...」 「日人なんだから、英語で命名とか無理...」 こんなお悩みありませんか? この記事では、「プログラマー英語の命名で悩んだ時にどうすれば良いか」をフローチャート形式で解説します! これであなたも駆け出しエンジニアを卒業できるかも!? ※記事はLaravel,Vue.jsのプロジェクトで運用されているルールを元に解説しています。 プロジェクト内だけの内輪ルールも含まれていますので、ご了承ください。 対象者 この記事は下記のような人を対象にしています。 駆け出しエンジニア プログラミング初学者 PHP(Laravel),JavaScript(Vue.js)で英語のネーミングに苦戦中 前提知識 下記のような中学・高校で学ぶ内容については理解していること前提で解説します。悪しからず。 三単現のsって何? 5文型(SV/S

    初心者プログラマーのための変数/関数/メソッドの英語命名規則 - Qiita
  • else を禁止してはいけない - Qiita

    複雑なプログラムを書いてしまうのを避けるために、if 文の else を避ける制約を設けてプログラミングしてみましょう、というアプローチがあります。これはあくまで、ThoughtWorks アンソロジーに書かれていた、ある種のプログラミング思考のトレーニング方法のひとつにすぎないものです。 しかし、権威だからか、あるいは、あまりコードを書かない人がわかりやすいと感じるからか、プロダクションコードの規約に使おうとする誤った考えがあります。そんなことをすると、コード品質は下がります。 else 禁止制約というのは、「これまで if-else で記述していた多くのコードは、実は、生成するオブジェクトの多態性によって、分岐の前倒しが可能になるものだったのか」という認識を得られれば、すぐに忘れるべきルールです。 ある実在の OSS コードを例に説明します。 https://github.com/xr

    else を禁止してはいけない - Qiita
  • Laravel で爆速ラクチン🔥に動的な機能を開発や!Livewire2.x 解説🔥 - Qiita

    この記事の目的 Livewireの紹介 個人的によく使うlivewire逆引きリファレンス。 どういう事が出来るのか知った上でドキュメントを見ると読みやすいと思います。 使い慣れてる人はここを見た方が早いです Livewireって何 Laravel7.x~ から使えるBladeとPHPの記述で動的な機能を作れるライブラリ jsを書かずに良い感じのUIが作れる。 学習コストも低く導入しやすい。 以前に布教目的で書いた記事 紹介サンプル こういうのをjavascript書かずに簡単に実装出来ます。 クリックでコード表示 class Sample0602 extends Component { public $productTypes = ['べ物', '衣類']; public $selectProductType; public $products = []; public functio

    Laravel で爆速ラクチン🔥に動的な機能を開発や!Livewire2.x 解説🔥 - Qiita
  • PHPのコア開発者が決定! - Qiita

    いつのまにかPHP Foundationの公式サイトができていました。 PHP Foundationとは? PHPの開発をこれまでのようにボランティア任せにするのではなく、きちんと給料を出して開発してもらおうという仕組みです。 これによって、開発者離れによるプロジェクトの停滞・衰退を防ぎ、コードの質を保ち、将来の展望を広げるわけです。 このように有償開発者を囲い込む動きは、最近では多くのプロジェクトでみられます。 PHPにおけるこの試みはOpen Collectiveにおいて多大な支持を集め、ひとまずは順調な滑り出しを見せました。 日からも多くの企業や個人が寄付を寄せています。 コア開発者が決定 2022年1月にコア開発者募集中という記事を訳しましたが、その後無事に6名のコア開発者が決定しました。 ・Arnaud Le Blanc @arnaud-lb ・Derick Rethans @

    PHPのコア開発者が決定! - Qiita
  • 1