タグ

2024年1月2日のブックマーク (4件)

  • PHPもアトリビュートでAOP!! - スタイル・エッジ技術ブログ

    はじめに こんにちは!未だにPHP8.1で登場したEnumに心躍らせているSHISOです。 さて、今回はJavaのSpringフレームワークでできるアスペクト指向プログラミング(AOP)に憧れ、PHP8.0でリリースされたアトリビュートを使用して同じようにAOPを実現させてみました。 (ちなみにPHP8.0未満であってもLaravel 5.x~8.xをお使いであれば、Laravel-Aspectというパッケージを使ってAOPできるそうなので、興味のある方は試してみてください。) 先に今回の実装サンプル一部をチラ見せすると、クラス内に個別のgetter処理を書かずとも、アトリビュートの指定だけで値参照ができるようになったりします✨ <?php class ExampleClass extends BaseClass { public function __construct( #[Gette

    PHPもアトリビュートでAOP!! - スタイル・エッジ技術ブログ
  • PHP8で面倒な Getter 定義から卒業しよう | FOURIER TECH BLOG 〜 IT技術ブログ 〜

    PHPでクラスのプロパティを定義する際、Getter を定義するのが面倒と感じたことはありませんか? 1ヶ所や2ヶ所程度であれば特に感じないかもしれませんが、これが5ヶ所、10ヶ所件と増えるにつれ同じような記述をする必要があり面倒に感じるかと思います。 この面倒な作業をPHP8から導入されたAttributesを使用し解決するのがこの記事の目的になります。 はじめにまずは今までのGetterの定義方法から見ていきましょう。以下がその例になります。 class Sample { private int $id = 1; public function id(): int { return $this->id; } } いかがでしょうか? ただプロパティの値を返すだけなのに3行も使用してしまっています。もしプロパティの数が多くほとんどのプロパティにGetterを定義するとしたら、面倒かつクラス

    PHP8で面倒な Getter 定義から卒業しよう | FOURIER TECH BLOG 〜 IT技術ブログ 〜
  • AWS Application Composer in VSCodeを使ってAPIを作ってみた - Qiita

    はじめに こんにちは、都内でソフトウェアエンジニアとして活動しているYSasagoです。 AWS re:Invent 2023の基調講演でDr. Werner Vogelsによって発表されたAWS Application Composer in VSCodeを使って、実際にAPIを作成してみたいと思います!基調講演はYoutubeで視聴することができます Application Composerとは Application Composerは、前年のre:Inventで初めて発表されたツールで、AWSコンソール内で直感的にサーバーレスアプリケーションを構築できるドラッグアンドドロップ式の便利なツールです。このツールはAWSのベストプラクティスに準拠し、Infrastructure as Code (IaC) の自動生成を可能にします。 VSCodeでApplication Composer

    AWS Application Composer in VSCodeを使ってAPIを作ってみた - Qiita
  • Go言語で書かれたPHPアプリケーションサーバ「FrankenPHP 1.0」がリリース

    FrankenPHP 1.0には、Symphony、LaravelWordPressなどのネイティブサポートが含まれるほか、Caddyを搭載したプロダクショングレードのPHPサーバであり、PHPアプリのスタンドアロンで実行可能なバイナリとしてのパッケージ化が可能となっている。 さらに、PHP-FPMとNgnixを個別に実行する必要がなく、1つのサービスのみでPHPサーバを提供できるようになるとともに、PHP 8.2以降のほとんどのPHP機能拡張、およびすべてのCaddyモジュールと互換性がある。 ほかにも、アプリケーション起動してメモリに保持するワーカーモード、JavaScriptイベントとしてWebブラウザへ送信されるリアルタイムイベント、ZstandardおよびGzip圧縮、構造化されたログ、Prometheusメトリクスを使用したCaddyの監視、HTTPS・HTTP/2・HTTP

    Go言語で書かれたPHPアプリケーションサーバ「FrankenPHP 1.0」がリリース