タグ

ブックマーク / qiita.com/niisan-tokyo (5)

  • PHPに演算子のオーバーロードが欲しくなったのでPHPに導入してみた - Qiita

    オーバーロードと言うのは、関数や演算子が、引数の型などに応じて、振る舞いを変えるようなことをいいます。 多重定義とかwikipediaには書いてあります。 演算子の右側の値も、その演算子の引数とみなせます。演算子の右側の値の型によって挙動が変わる用に作ると、演算子のオーバーロードが実現できます。 演算子のオーバーロードの超身近な例といえば、pythonにおける演算子があります。 pythonで例えば整数に整数をかけた場合と、文字列に整数をかけた場合というものを見てみましょう。 このように、整数がかけられる相手が整数なのかリストなのかで挙動が大きく変わり、返却される方も変わっていることがわかります。 PHPでのオーバーロード PHPのオーバーロードはあるにはあるのですが、私の知っているオーバーロードから外れちゃっているように思います。 http://php.net/manual/ja/lan

    PHPに演算子のオーバーロードが欲しくなったのでPHPに導入してみた - Qiita
    mimosafa
    mimosafa 2022/01/29
  • Laravelのマニュアルにない?小技: Eloquentのboot時にtraitのbootを別に走らせる - Qiita

    Laravelのマニュアルにない?小技: Eloquentのboot時にtraitのbootを別に走らせるPHPtraitLaravel こんにちはみなさん Laravelを半年以上使い続けてきたのですが、不気味なほどよくできているというか、「こんなんできないかなぁ」とか思うと、大体Laravelで完結できちゃったりします。 一方で、マニュアルを漁っても出てこない機能とかあって、結局ソース読んだりLaracastを見に行ったりするわけです。 そんなわけで今回は、いろんな使いみちがありそうなのに、マニュアルに見当たらなかった、Eloquentに関する小技を紹介します。 (SoftDelete眺めてたら見つけました)

    Laravelのマニュアルにない?小技: Eloquentのboot時にtraitのbootを別に走らせる - Qiita
  • LaravelのEloquent モデルで動的にアクセサを生成する方法 - Qiita

    こんにちはみなさん メタプログラミングっていい響きですよね。 そこはかとないオシャレ感とかっこよさを感じます。 メタプログラミングといえば、動的なメソッドの生成もその一つです。 とても明快な例として、Rubyのattr_accessorというメソッドがあります。 このメソッドを定義すると、自動的にアクセス可能なプロパティが定義されます。

    LaravelのEloquent モデルで動的にアクセサを生成する方法 - Qiita
  • PHP開発でComposerを使わないなんてありえない!基礎編 - Qiita

    久方ぶりにPHPのレガシーなシステムを触りましたが、なんというか。。。 名前空間とcomposerが無いだけで、こうも大変になるのかと思いましたね というわけで、もはやデファクトスタンダードとなったcomposerを使用した開発について、その有り難みを噛み締めつつ、まとめていきたいと思います composer composerは依存性管理ツール composerは依存性管理ツールです。。。ってナンノコッチャですが、例えば以下の状況を考えてみましょう 便利そうなライブラリAを使用したいのだが、このライブラリは更に別のライブラリB, Cを必要としている。さらに、ライブラリBはライブラリD, Eを。。。 そう、ライブラリの依存性地獄です。 使用したいのはAなのに、そのために必要なライブラリがボコボコ必要になる こんなのは日常茶飯事です。 でもcomposerがあればどうでしょう。 ライブラリAが

    PHP開発でComposerを使わないなんてありえない!基礎編 - Qiita
  • PHPでもジェネレータを使って、非同期処理を同期処理の文法で書ける - Qiita

    こんにちは皆さん。 PHPは基的に同期処理の言語構造を指定ます。 非同期処理の構造を入れるには、Reactのような別機構を導入する必要があります。 で、非同期処理を入れたらやりたくなるのが、非同期処理を同期処理っぽく書くことです。 以前に、JavaScriptのジェネレータを使うことで、非同期処理を同期処理っぽく書くことができると紹介しました。 で、PHPはどうかというと、既にジェネレータがPHP5.5で追加済みです。 そうです、PHPでも非同期処理を同期処理の文法で書くことができます。 ...まあ、PHPで非同期処理を書くこと自体が、かなり冒険的なんですがね..。

    PHPでもジェネレータを使って、非同期処理を同期処理の文法で書ける - Qiita
  • 1