{"id":16915847,"url":"https://github.com/tysonandre/flycheck-phanclient","last_synced_at":"2026-06-17T23:31:14.366Z","repository":{"id":75022461,"uuid":"83228734","full_name":"TysonAndre/flycheck-phanclient","owner":"TysonAndre","description":"Emacs flycheck php checker for quick static analysis. Also see https://github.com/TysonAndre/lsp-phan for Emacs 25.1+","archived":false,"fork":false,"pushed_at":"2018-05-12T17:59:37.000Z","size":74,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-01T07:18:56.991Z","etag":null,"topics":["emacs","flycheck","phan","php","php-static-analysis","php7"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TysonAndre.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-26T17:52:28.000Z","updated_at":"2021-05-21T02:45:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"152a0bb3-9344-433f-b5de-910cc1f1d609","html_url":"https://github.com/TysonAndre/flycheck-phanclient","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TysonAndre/flycheck-phanclient","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TysonAndre%2Fflycheck-phanclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TysonAndre%2Fflycheck-phanclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TysonAndre%2Fflycheck-phanclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TysonAndre%2Fflycheck-phanclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TysonAndre","download_url":"https://codeload.github.com/TysonAndre/flycheck-phanclient/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TysonAndre%2Fflycheck-phanclient/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34470322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emacs","flycheck","phan","php","php-static-analysis","php7"],"created_at":"2024-10-13T19:23:03.036Z","updated_at":"2026-06-17T23:31:14.341Z","avatar_url":"https://github.com/TysonAndre.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: Phan client for Emacs\n\n* Description\n\n  This package adds support of [[https://github.com/phan/phan][phan (0.12.0+)]], the PHP static analyzer, to Emacs (as a flycheck plugin).\n  The main feature is quick analysis of individual php files in a project, with the assistance of a background phan daemon.\n\n  This is an early version with very few features.\n\n  This is based on https://github.com/stevenremot/emacs-phan\n\n#+ATTR_HTML: :style margin-left: auto; margin-right: auto;\n[[./docs/flycheck_phan_example.png]]\n\n* Installation\n\n  Clone this repository to your computer. Then, load it in your Emacs configuration :\n\n  #+BEGIN_SRC emacs-lisp\n    (add-to-list 'load-path \"/path/to/to/flycheck-phanclient\")\n    (require 'flycheck-phanclient)\n  #+END_SRC\n\n* Usage\n\n** Flycheck checker\n\n   First, load the flycheck checker:\n\n   #+BEGIN_SRC emacs-lisp\n     (require 'flycheck-phanclient)\n   #+END_SRC\n\n   Then, start the daemon in the folder to analyze, with the default port of 8486 (see https://github.com/phan/phan/pull/563)\n\n   TODO: add a way to configure individual project settings\n   (e.g. ~.dir-locals.el~)\n\n   This should be enough to have the flycheck checker run on your project.\n   This will run while the project is being edited, even without saving the file.\n\n   Note: The request frequency may still need to be tuned for larger projects.\n\n* Configuration\n\n   You need to install phan manually, and use a git branch with the phan daemon installed.\n   Ensure that the PHP program ~phan_client~ is in your path, or copied to a folder in your ~$PATH~.\n\n   Currently, the phan daemon must be started manually on the directory\n   (must have ~.phan/config.php~ somewhere in the folder or parent folders).\n   No warning/notice is currently emitted if the daemon is not running.\n\n   Type ~M-x customize-group RET phanclient RET~ to see the other customization options.\n   More customization options will be added in the future.\n\n* Requirements\n\n  - PHP 7.x with the [[https://github.com/nikic/php-ast][php-ast extension]] installed (and in the PATH emacs searches for binaries).\n  - A PHP project with ~.phan/config.php~ set up. See [[https://github.com/phan/phan#getting-started][Phan - Getting Started]]\n  - A Phan daemon running in the project folder being opened by Emacs.\n  - A Phan 0.12.0+ installation.\n\n* Emacs dependencies\n\n  - Flycheck must know that the current file's file type is PHP.\n\n    E.g. by using [[https://github.com/ejmr/php-mode#installation]][[~php-mode~]] from MELPA\n  - [[http://www.flycheck.org/en/latest/user/installation.html#package-installation]][[Flycheck]]\n\n* Future Work\n\n  Create a plugin using the Language Server Protocol for the Emacs client (instead of the Phan-specific daemon mode).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftysonandre%2Fflycheck-phanclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftysonandre%2Fflycheck-phanclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftysonandre%2Fflycheck-phanclient/lists"}