並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 25 件 / 25件

新着順 人気順

phpstanの検索結果1 - 25 件 / 25件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

phpstanに関するエントリは25件あります。 phptech開発 などが関連タグです。 人気エントリには 『level=0 から始める PHPStan(Larastan) 導入ガイド - Shin x Blog』などがあります。
  • level=0 から始める PHPStan(Larastan) 導入ガイド - Shin x Blog

    PHP にはアプリケーションを実行せずに静的にコード品質をチェックする静的解析ツールがいくつかあります。有名なところでは、PHPStan や Psalm、Phan、PHPMD などがあります。本エントリでは、まだこうした静的解析ツールを導入していないプロジェクト向けに PHPStan 導入の流れをまとめてみました。 3(4) 行まとめ サンプルコード PHPStan とは 適用方針 Playground PHPStan のインストール Composer Composer(Larastan) Docker 設定ファイルの作成 PHPStan の実行 主なエラー(level=0) baseline ファイルの作成 baseline ファイルの修正 CI での自動実行 GitHub Actions の設定 ブランチ保護ルール さいごに 3(4) 行まとめ composer もしくは Docker

      level=0 から始める PHPStan(Larastan) 導入ガイド - Shin x Blog
    • 10年開発してきたPHPアプリケーションにPHPStanを導入した - BASEプロダクトチームブログ

      Tech Dept. 基盤グループエンジニアの @tenkoma です。 BASEには50以上のPHPプロジェクトのプライベートリポジトリがあります。 (アプリケーションは十数個で、残りの多くが、アプリケーションが依存するライブラリです) 過去4年ほどの間に新規に作られたリポジトリにはほぼ最初からPHPStanが導入されていますが、それ以前から開発していたリポジトリには導入されていないものが多数ありました。 それらのリポジトリにPHPStanを導入していったので、なぜ導入したか、導入方法、得られた効果について紹介します。 PHPStanとは PHPコードを実行せずに、実行時にエラーになりうる箇所を検出するツールです。PHPStanを利用しCIに組み込むと、テスト実行せずに検出できるバグの一部は、PHPStan解析で指摘してくれるので、コードレビューの負担が減ることが期待できます。 なぜPH

        10年開発してきたPHPアプリケーションにPHPStanを導入した - BASEプロダクトチームブログ
      • 条件付き戻り値型とPHPStan 1.6.0の新機能 - 超PHPerになろう

        この記事はPHPStan開発者のOndřej Mirtesによって2022年4月26日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org 条件付き戻り値型 (Conditional return types) この機能の大部分はRichard van Velzenが開発しました。 PHPStanは初リリース以来、関数呼び出しで渡された引数によって様々な型を返す方法を提供してきました。いわゆる動的戻り値型拡張(dynamic return type extensions)は非常に柔軟です。実装できる任意のロジックによって型を解決できます。しかし、PHPStan拡張の核心となるコンセプトには学習コストがかかります。 PHPStan 0.12ではジェネリクスが導入されました。これはPHPDocの特別な記法によって動的戻り値型拡張が必要だったケースの一部をカバーし

          条件付き戻り値型とPHPStan 1.6.0の新機能 - 超PHPerになろう
        • PHPStan 2.0リリース: Level 10とElephpant! - 超PHPerになろう

          この記事はPHPStan開発者のOndřej Mirtesによって2024年11月11日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org PHPStan 1.0は約3年前にリリースされました。プロジェクトが順調に成長していることを報告できて嬉しく思います。それ以来176回のリリースでは、新機能の実装、バグの修正、そして2.0のための基礎固めが行なわれてきました。そうです、私たちは休むことなく、栄光に甘んじることもありませんでした。 私は2.0のリリースを長い間待ち望んでいました。私たちが取り組んできた新機能を、ついに皆さんに楽しんでいただけるようになります。それらの一部は既に2年以上もアーリーアダプターの方々に楽しでいただいていたものです。 しかし、今日リリースされたのはコードと分析の変更だけではありません。PHPStanは伝説的なPHPマスコットに独自

            PHPStan 2.0リリース: Level 10とElephpant! - 超PHPerになろう
          • プロジェクト内のライブラリをロードしつつ、ブラウザで動作するPHPStan Playground - pixiv inside

            こんにちは。開発支援チームでpixivのコーディング環境の向上をしているyosatakです。 pixivではPHPStanを活用して、スクリプト言語であるPHPのコーディング上のミスをデプロイ前に検出しています。 inside.pixiv.blog PHPStanは開発者にエディタを強制したりせずに静的な型検査ができるだけではなく、入力のアサーション関数などに対してPHPStan拡張を書くことでリクエストパラメータなどの不確定な入力に厳密に型をつけ、PHPで安全にコーディングすることができるようになります。 それでも、10年以上メンテナンスされつづけているpixivのソースコードに型を付けていくのは容易ではありません。 PHPStanで特定のファイルの解析を掛けたい場合は、autoloadするファイルをbootstrapFilesに指定されたphpstan.neon(.dist)が設置され

              プロジェクト内のライブラリをロードしつつ、ブラウザで動作するPHPStan Playground - pixiv inside
            • 【最強のプルリクレビュー環境】 GitHub ActionsとPHPStanを繋げてPRのコード上に自動で静的解析のエラーが出てくる仕組みを作る - Qiita

              【最強のプルリクレビュー環境】 GitHub ActionsとPHPStanを繋げてPRのコード上に自動で静的解析のエラーが出てくる仕組みを作るPHPGitHubPHPStanGitHubActions GitHubでプルリクをレビューするとき、こんな風にコード上に勝手にエラーがあるよ!って表示されたら嬉しいなあということがあります。 わざわざCIの実行結果を見に行ってひとつひとつエラーを確認するのは面倒ですからね。 というわけで、今回は上の画像のように自動でエラーがコード上に現れて教えてくれる環境をGitHub Actionsで作りたいと思います。 大前提 PHPStanがプロジェクトに導入されている 今回はPHPStan 1.5.4を使用して検証しています PHPStanが入ってないと話が始まらないので、まずは入れておきましょう。 GitHub ActionsからPHPStanが走るよ

                【最強のプルリクレビュー環境】 GitHub ActionsとPHPStanを繋げてPRのコード上に自動で静的解析のエラーが出てくる仕組みを作る - Qiita
              • PHPStanクイックガイド2023

                PHPStan (PHP Static Analysis Tool)はコードを実行せずに検査できるツールです。本稿では業務アプリケーションにPHPStanを導入するまでに押さえておきたい事柄を記述します。 導入 PHPStanは本稿記述時点の1.9.x系において、PHP 7.2以降で実行できます。PHPStanは composer require --dev phpstan/phpstan でのインストールが基本です。 プロジェクトルートの phpstan.dist.neon に、以下のように記述してください。 pathsには実際にPHPファイルが格納されているディレクトリを指定しましょう。たとえばフレームワークによっては app inc public のようなディレクトリに配置されているかもしれません。 levelは現在のところ1〜9が定義されており、文字列の"max"を指定することで将

                  PHPStanクイックガイド2023
                • PHPStan導入のすすめ - Hajimari Tech Blog| 株式会社Hajimari

                  こんにちは! 株式会社Hajimari21卒エンジニアの古田 鏡です。 普段は、TUKURUS事業部(旧PIECE事業部)で 自社プロダクトであるスタートアップ向けマッチングサイト構築パッケージPIECE (https://crowd.itpropartners.com/piece/)の開発や受託開発を行っています! ※2022年4月から事業部の方針変更により事業名が変更となりました! crowd.itpropartners.com 現在ジョインさせていただいている案件では、 組織のオンボーディングシステムの新規機能開発・システム統合等を担当させていただいております。 開発言語に関してはバックエンドでPHP(フレームワークはLaravel)を使っていて、 静的解析ツールPHPStanを導入しているのですが、 このツールが便利だったので今回はご紹介していきたいと思います! ●PHPの特徴 そ

                    PHPStan導入のすすめ - Hajimari Tech Blog| 株式会社Hajimari
                  • リリースして11年経過したPHPアプリケーションにPHPStanを導入した - kubell Creator's Note

                    はじめに はじめまして。PHP部の山下(@task2021)です。 この度、リリースして11年経過したPHPアプリケーションのCIにPHPStanを導入しました。 歴史の長いPHPで実装されたプロダクトコードにPHPStanを導入するにあたり、「どのように導入していったか」というプロセスに焦点を当てて紹介したいと思います。 話さない事 PHPStanについての詳細 技術的な話・CIへの導入方法 想定読者 静的解析ツールを導入しようと考えているが、チームに受け入れられるか不安がある 静的解析ツールを可能な限りスムーズに導入したい 静的解析ツールを導入して、実際にどんなメリットがあったか聞きたい 目次 はじめに 話さない事 想定読者 目次 なぜPHPStanを導入したのか PHPStanとは 静的解析ツールを使用していなかったリポジトリに導入していく道のり 解析レベルを決定する CIへ導入する

                      リリースして11年経過したPHPアプリケーションにPHPStanを導入した - kubell Creator's Note
                    • PHPStanのエラーを2000個弱解消した際のTips

                      こんにちは、スターフェスティバル株式会社でバックエンドエンジニアをやっている吉田あひるです。 先日、僕が関わっているプロダクトで発生していた 2000 個弱の PHPStan のエラーを一部を除きほぼ全て解消したので、その際に何に気を付けて作業をしていたのか、そして一連の作業の中でどういった恩恵を受けることができたのかを共有できればと思います。 PHPStan とは 詳しい説明は割愛しますが、PHP の静的解析ツールで型レベルの整合性のチェックなどを行うことができるツールです。 なぜ PHPStan のエラーを解消したかったのか バグをリリースする確率を減らせる 僕の経験上、ある程度の量のコードを書いたあとに PHPStan を実行するとほぼ確実に何かしらのエラーが報告されるため、少なくとも僕にとっては静的解析なしで型レベルの整合性を担保し続けることは難しいということがわかっています。 P

                        PHPStanのエラーを2000個弱解消した際のTips
                      • Introducing PHPStan Pro – Save Your Keystrokes and Get More Productive!

                        Menu Introducing PHPStan Pro—Save Your Keystrokes and Get More Productive! September 29, 2020 · 7 min read I’m really excited to show everyone what I’ve been working on for the past 9 months. It’s a new product aimed to enhance user experience when using PHPStan. I want to challenge a common presumption that developer tools like PHPStan are usually constrained to CLI, limiting their visual side, a

                          Introducing PHPStan Pro – Save Your Keystrokes and Get More Productive!
                        • PHPStan 1.10には嘘発見器が付属しています - 超PHPerになろう

                          この記事はPHPStan開発者のOndřej Mirtesによって2023年2月21日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org 私(Ondřej)はPHPStan 1.10のアイディアを実装してリリースすることを長い間たのしみにしていました。 インラインPHPDoc @var タグを検証する My personal mission after PHPStan 1.0 is to eradicate inline @​var tags from existence. Developers reach for it as an immediate remedy for their problems but it's the worst solution ever. With @​var tags you're giving up all the ty

                            PHPStan 1.10には嘘発見器が付属しています - 超PHPerになろう
                          • PHPエンジニアのためのPHPStanガイド~知っておくべきポイント~ | 株式会社divx(ディブエックス)

                            目次[非表示] 1.はじめに 2.静的解析とは 3.PHP Stanとは 4.PHP Stan実践 4.1.PHP Stanのインストール 4.2.設定方法 4.3.PHP Stan実行 4.4.ルールレベル 4.5.エラーを無視する方法 5.実際に使ってみた感触 6.まとめ 6.0.1.お悩みご相談ください はじめにこんにちは、株式会社divxでエンジニアをしている今度です。 現在、PHPを使用したWebアプリケーションの保守・運用プロジェクトに携わっています。 このプロジェクトでPHP Stan(PHP Static Analysis Tool) を導入しました。 今回は、PHPの静的解析ツールであるPHP Stanについて簡単に説明していきたいと思います。 静的解析ツールを導入していないプロジェクトに携わっているエンジニアの方やPHP Stanに興味があるエンジニアの方へ参考になれば

                              PHPエンジニアのためのPHPStanガイド~知っておくべきポイント~ | 株式会社divx(ディブエックス)
                            • PHPDocベースのassert、list型とPHPStan 1.9.0の新機能 - 超PHPerになろう

                              この記事はPHPStan開発者のOndřej Mirtesによって2022年11月3日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org PHPStan 1.9.0はまさにコミュニティの尽力によるものです。目玉機能はすべて、メンテナーである私(Ondřej)以外の誰かの貢献です。コードを書くのが嫌になったわけではないのですが、私が草むらで謎のバグを追いかけている間にも、ほかの人は新しい機能をより早く実装できるようになります。 私はここのところ緑色の「Merge」ボタンを一日に何度も押しています。私の役割はコードの主要な貢献者から、品質保障(QA)とプロジェクトビジョン1、そして継続的インテグレーション(CI)パイプラインの処理に移行しています。私は最近、貢献者向けのレターContributors update #1 2022でそれを認めました。これはあなた

                                PHPDocベースのassert、list型とPHPStan 1.9.0の新機能 - 超PHPerになろう
                              • PHPStan の使い方

                                PHP のコードを実行する前に、バグがあるかどうか調べられると便利だとは思いませんか? PHP はスクリプト言語ですので、いくら文法的に正しいコードであっても、実際に実行させるまでバグか発生するかどうかわからないという、スクリプト言語であるが故の本質的な問題を抱えています。 C や Java など他のコンパイル言語ではコンパイル時にエラーになるようなコードであっても、スクリプト言語である PHP では、実行させるまでエラーになるかどうかわからないのです。 PHP のコードをチェックする似たようなツールとして PHP_CodeSniffer や、PHP の lint コマンド php -l が思いつきますが、それらはあくまで文法レベルでのチェックにすぎません。 いくら文法が正しくともエラーは発生します。 では、PHPUnit などの単体テストを実行して見つければ良いじゃないかと思うかもしれま

                                  PHPStan の使い方
                                • レガシープロジェクトで メタプログラミングを使った PHPStan静的解析Level上げ - PHP Conference 2020

                                  半年くらい前にPHPStan静的解析をはじめました。 徐々に対象ファイルを増やし、現在では2000超のファイルをスキャンしています。 level0(不明なclass、関数の参照などの基本的なチェック…

                                    レガシープロジェクトで メタプログラミングを使った PHPStan静的解析Level上げ - PHP Conference 2020
                                  • PHPStan 1.12: PHPStan 2.0への道 - 超PHPerになろう

                                    この記事はPHPStan開発者のOndřej Mirtesによって2024年8月27日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org 最初のPHPStan 1.0リリースから3年が経ち、PHPStan 2.0が近づいてきました。新しいメジャーバージョンのアイデアのリストを精査した結果、いくつかを前倒しして1.xシリーズでリリースし、Bleeding Edge 設定トグルの背後に隠して、PHPStanユーザーにより早く楽しんでもらえるようにしました。 これは PHPStan 1.12に限ったことではなく、1.0以降に当てはまります。Bleeding Edgeを有効にすると、基本的には未来に生きることになります。次のメジャーバージョンですべてのユーザーに対して有効になる新しいルールと動作の変更を利用できます。これがアーリーアダプターへの特典です。 ここにひ

                                      PHPStan 1.12: PHPStan 2.0への道 - 超PHPerになろう
                                    • 入社10日でPHPStanのエラーを1/10減らした方法 - pixiv inside

                                      はじめに Baseline削減したいよね やったこと 1. PHPStanが出している警告の分析 2. Rectorについて学ぶ 3. Rectorを使ってReturnTypeにvoidがついていない場所にvoidをつける 4. 返り値の型を特定できる関数・メソッドに返り値の型をつける修正 5. private static arrayをconstへ変更する 6. 継承されていないクラスにfinalフラグをつける 7. Class.notFoundの修正 どうなった まとめ はじめに こんにちは。pixivでアルバイトをしているmalsukeです。2024年11月下旬にピクシブに参加し、現在は主にプロジェクトのリファクタリングを担当しています。この記事ではRectorを用いて、入社10日目までにpixivをはじめ、社内のPHP製のサービスのソースコードを持つpixiv.git内のPHPSt

                                        入社10日でPHPStanのエラーを1/10減らした方法 - pixiv inside
                                      • PHPStanをどうやってインストールするか

                                        PHPStanはPHPの静的解析ツールです。現代のPHPerはみんな使ってるよ。 ……ところで、みなさんはPHPStanをどうやってインストールしているのでしょうか。 PHPStan開発者のOndřej Mirtesは次のように述べています。 多くの場合において、Ondřejの言う通りcomposer require --devが最善のインストール方法です。 この記事では、なぜそれが推奨のインストール方法だと言えるのか、どのような場合に別の選択肢が候補に挙がるのかを解説します。 あと、この記事はPHPカンファレンス沖縄2022でPHPStanの使い方を説明するのにインストール方法まで説明する時間がとれないので書きました。 あらかじめ知っておきたいこと 事前知識: PHPStanパッケージの構造 PHPStanのリポジトリはGitHubでは以下の2リポジトリに分かれています。 https:/

                                          PHPStanをどうやってインストールするか
                                        • 実践PHPStan #phpcon_okinawa |にゃんだーすわん|pixivFANBOX

                                          PHPカンファレンス沖縄2022で発表した資料です。 スライドPDFです。 内容についてはあとで追記します。

                                            実践PHPStan #phpcon_okinawa |にゃんだーすわん|pixivFANBOX
                                          • PhpStorm/PHPStan/PHP CS Fixerを組み合わせてコード品質をよくしよう! - Qiita

                                            この記事では、 PhpStormのFile Watchers機能 PHP-CS-Fixer PHPStan 上記のツールを利用して、PhpStorm上にて、任意のPHPファイルを保存した際にPHPStanとPHP CS Fixerを走らせてコード品質を担保する方法を説明します。 メリット PHP CS Fixerによるコード整形にて、インデントやスペースといった余計なレビューコストが低減できる PHPStanのルールに従うことで、より堅牢なコードが書け、バグを低減できる デメリット ファイル保存時に処理が走るようになるので、数秒の待ち時間が発生するようになる ということがあります。 筆者の想い PhpStormはPHPを書く際の最高のパートナーだと筆者は信じています。これはこれまでの自分へ対する反省でもあるのですが、PhpStormと各種ツールを連携することによって、さらなる高みを目指すこ

                                              PhpStorm/PHPStan/PHP CS Fixerを組み合わせてコード品質をよくしよう! - Qiita
                                            • PHPStanで始めるPHPのための静的解析 #phperkaigi | メルカリエンジニアリング

                                              こんにちは。最近メルペイに異動になった @hiraku です。 2018年3月10日(土)に、PHPerKaigi 2018というイベントで登壇してきました。「PHPStanで始める継続的静的解析」ということで、メルカリで使用しているPHPStanというツールについて解説しました。 phperkaigi.jp 発表内容を短くまとめると メルカリではPHPStanというツールをCIフローに組み込み、PHPコードの静的解析を行ってコードの信頼性向上に努めています。 PHPStanはautoloadファイルを解釈し、一部のコードを実行することで解析の高速化を行っており、よくできています。 とはいえ、PHPに対して可能な解析に限界はあるので、テストも合わせて行っていきましょう。 大事なのは、品質向上のアプローチが用意され、心配せずにリリースできることです。 autoloadを認識するということ ス

                                                PHPStanで始めるPHPのための静的解析 #phperkaigi | メルカリエンジニアリング
                                              • coc.nvimでPHPStanやPHP_CodeSnifferを使う - Qiita

                                                coc.nvimはVimのLSPクライアント・プラグインの一つです。 cocは自分自身がVimプラグインでありながら、拡張機能(エクステンション)の機構を持っており、LSPサーバをエクステンションをとしてインストールすることで機能を追加することができます。 PHPのLSPサーバのcocエクステンションもいくつかあります。例えばPHPのLSPサーバであるIntelephenseのcocエクステンションとしてcoc-phplsがあります。 coc-phplsをインストールするとcoc経由でPHPの自動補完・定義ジャンプ・ホバー(ヒント)表示・バグ検出などの機能を使えるようになります。 coc-phplsだけでもある程度のバグ検知は可能ですが、Intelephenseが提供するバグ検出は現時点ではPHPStanに比べると弱く、またPHP_CodeSnifferのようにコーディング規約違反を検出す

                                                  coc.nvimでPHPStanやPHP_CodeSnifferを使う - Qiita
                                                • 【静的解析】Larastan(PHPStan)の未使用プライベートクラス定数の誤検知エラーを回避してみよう|Laravel|PHP|開発ブログ|株式会社Nextat(ネクスタット)

                                                  top > 開発ブログ > PHP > Laravel > 【静的解析】Larastan(PHPStan)の未使用プライベートクラス定数の誤検知エラーを回避してみよう こんにちは、モリです。 今回は静的解析ツールであるLarastan(PHPStan)の未使用プライベートクラス定数についての誤検知への対処方法について紹介したいと思います。 環境 PHP: 8.1 Laravel Framework: 9.19.0 nunomaduro/larastan: 2.2.9 解析レベル8 myclabs/php-enum: 1.83 問題となるコードとエラー まず実際に出力されるエラーと対象のコードについて見ていきたいと思います。 use MyCLabs\Enum\Enum; class Gender extends Enum { /** 男性 */ private const MALE = 1;

                                                  • PhpStorm 2020.3: PHP 8, PHPStan and Psalm, Xdebug 3, Tailwind CSS, and Collaborative Development | The PhpStorm Blog

                                                    IDEs CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Junie Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana CodeCanvas .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Kt

                                                      PhpStorm 2020.3: PHP 8, PHPStan and Psalm, Xdebug 3, Tailwind CSS, and Collaborative Development | The PhpStorm Blog
                                                    1

                                                    新着記事