並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 27 件 / 27件

新着順 人気順

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

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

phpstanに関するエントリは27件あります。 phpPHP開発 などが関連タグです。 人気エントリには 『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になろう
        • PHPコードでの、`empty()`避けようねとか`===`のほうがベター、などは phpstan/phpstan-strict-rules を使って指摘しよう - Software engineering from east direction

          TL;DR PHPアプリケーションにおいて、表題のような「PHPを使う上で自制心を持とうな」みたいな温度感でstrictな書き方を推奨される昨今 こういうのは往々にして人間が言うのはそのうちげんなりしてくるし、逆に言われる方も同じ PHPStanが提供しているカスタムルール phpstan/phpstan-strict-rules を使おう 前提 PHPStanを使うことを前提としています。 phpstan/phpstan-strict-rules github.com PHPStanは、「PHPStanでCustomRuleを作る」という発表でも解説されている通り、任意のカスタムルールをクラスとして定義することで、ルールを追加できます。しかし、すでにPHPStanが提供しているルールもいくつかあります。その一つが phpstan/phpstan-strict-rules です。 導入方法

            PHPコードでの、`empty()`避けようねとか`===`のほうがベター、などは phpstan/phpstan-strict-rules を使って指摘しよう - Software engineering from east direction
          • 5千ファイル超のレガシープロジェクトにPHPStan継続的静的解析を導入|Komiyama Taki|note

            以前、断捨離でテーブル約50個消した話で、大規模にdbまわりのリファクタリングをした話を書きました。 弁護士ドットコムのサイトは、10年以上運用されているため、5千ファイルある巨大PHPプロジェクトです。そのため、課題はいろいろあります。 弁護士ドットコム - 無料法律相談や弁護士、法律事務所の検索 https://www.bengo4.com/ 今回は、PHPStan静的解析をCIに導入し、継続的なコード品質の向上を目指しました。 静的解析を導入する目的コードベースが長年の拡張により巨大になった結果、全ての関数やclassの使用箇所を目視で把握するのは、厳しくなってました。いくら注視していても、対象が広くなるほど漏れは発生しやすくなります。 そのため、人間の目では見落としやすいバグを機械的に見つけることで、コード品質の向上に繋がると考えました。PHPStanをCIでレビュー前に回すことで

              5千ファイル超のレガシープロジェクトにPHPStan継続的静的解析を導入|Komiyama Taki|note
            • プロジェクト内のライブラリをロードしつつ、ブラウザで動作する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導入のすすめ - 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を導入した - Chatwork Creator's Note

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

                      リリースして11年経過したPHPアプリケーションにPHPStanを導入した - Chatwork Creator's Note
                    • 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のエラーを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 · 6 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!
                          • Laravel & PHPStan(Larastan)で静的コード解析を行う

                            公開日 2019.8.8カテゴリ:Laravelタグ:PHP,Laravel,PHPStan,Parsing,Larastan

                              Laravel & PHPStan(Larastan)で静的コード解析を行う
                            • PHPStan、phpstan-doctrine を 0.12 へと アップデートした - OTOBANK Engineering Blog

                              今週は仕事のメインリポジトリの phpstanならびにphpstan-doctrineをやっと^0.12に上げたので気が強い— sasezaki (@sasezaki) March 27, 2020 はじめに 弊社のサーバーサイド でのメインプロジェクトでは、過去のブログエントリにもあるように、PHP ならびにORMとしてDoctrine を導入しています。 PHPStan で Doctrine Criteria で使ってるフィールドを検証できるようにした - OTOBANK Engineering Blog https://engineering.otobank.co.jp/entry/2019/02/25/143224 そして PHPStan をQAでの主な静的解析として利用しており、コードレビュー時の負担を減らすため機械が指摘できることは極力機械で行えるように随時設定の見直し・チェッ

                                PHPStan、phpstan-doctrine を 0.12 へと アップデートした - OTOBANK Engineering Blog
                              • 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になろう
                                • 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、関数の参照などの基本的なチェック)から段階的に厳しくして、level2(未知の全ての関数のチェック、PHPDocの検証)に上がります。 レガシープロジェクトにありがちな名前空間がない、PHPDocがないといった問題を、nikic/PHP-Parserを武器に乗り越えてきました。 PHPDocで補いきれない部分は、自作のYii1フレームワーク用のPHPStan拡張で解析しています。 レガシープロジェクトで、静的解析を進めてきた方法を紹介します。

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

                                        PHPカンファレンス福岡2019の発表資料です。 PHPStanのCustomRuleを使えば独自の静的検査をかけることが出来ます。具体例を通しながら、CustomRuleで何が実現できるのか、どうすれば自分たちで作れるようになるのかを解説しました。

                                          PHPStanでCustomRuleを作る / Make PHPStan CustomRule
                                        • 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;

                                                    • PHPStan 0.12.0がリリースされました - 超PHPerになろう

                                                      この記事はPHPStan開発者のOndřej Mirtesによって2019年12月4日に書かれた記事を翻訳したものです。 medium.com これは6ヶ月にわたって開発された大規模なリリースです。この新しいメジャーバージョンの開発中も私たちは多くのマイナーバージョンをリリースできました。この継続的なワークフローはフィーチャートグル(bleedingEdge)によって可能になりました。ユーザーは安定版を使用していてもオプトインすることで新機能を試してフィードバックすることができました。 この新しいバージョンはあまりにも素晴らしいので、誰もが新しいバージョンのインストールを待ちきれないことでしょう。PHPStanのアップグレードは誰でもすぐに行うことができるように設計されています。 PHPStanはPHPに慣れていなくてもコードのバグを発見することにフォーカスした静的解析ツールです。アプリを

                                                        PHPStan 0.12.0がリリースされました - 超PHPerになろう
                                                      • PhpStorm 2020.3: PHP 8, PHPStan and Psalm, Xdebug 3, Tailwind CSS, and Collaborative Development | The PhpStorm Blog

                                                        Releases PhpStorm 2020.3: PHP 8, PHPStan and Psalm, Xdebug 3, Tailwind CSS, and Collaborative Development PhpStorm 2020.3 is now available! This major release includes full support for PHP 8, static analyzers PHPStan and Psalm, Xdebug 3, Tailwind CSS, collaborative development via Code With Me, and much more. Download PhpStorm 2020.3 Read on for details on all the new features and significant upda

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

                                                        新着記事