Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

devsense-php-ls

DEVSENSE887ISC1.0.17542TypeScript support: included

Devsense PHP Language Server

php, code analysis, code fix, code check, intellisense, completion, parameters, diagnostics, format, autocomplete, symbols, references, linter, lsp, language server

readme

DEVSENSE PHP Language Server

This package provides language server for PHP.

🧠 Language Server

The language server is provided as a platform-specific binary executable file, located in node_modules/devsense-php-ls-${os}-${cpu}/dist/devsense.php.ls.

The functionality is provided to end-users under a freemium model. See 🔐 Activation section below for details.

🧬 Protocol

The language server is controlled using the Language Server Protocol according to https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ through STDIN/STDOUT.

There are several additions:

  • "initialize" method, parameter:
{
    "initializationOptions": {
        "0": "{JSON SIGNATURE}",
        "clientFeatures": [],
        // VSCode settings and their values listed on
        // https://docs.devsense.com/vscode/configuration/
        // "setting-id": "value",
    },

    // process ID of client allowing
    // LS to automatically kill itself if client exits
    "processId": 123456,

    // ...
}
  • "devsense/loadStatus" notification sent from server to client.

🔐 Activation

The language server provides free features and premium features which needs to be activated by end-user.

Note to developers: To unlock the premium features of this package, instruct end-users to follow the steps below:

  1. Purchase a License: User needs to purchase license on official purchase page: https://www.devsense.com/purchase

  2. Generate License Signature: User will follow the link below to validate license and receive the {JSON SIGNATURE}: https://www.devsense.com/purchase/validation

  3. Activate Premium Features Pass the entire {JSON SIGNATURE} into the language server's initialize method, "initializationOptions"."0" property:

    {
      "initializationOptions": {
         "0": "{JSON SIGNATURE}",
         // ...
      },
      // ...
    }

    Or store the {JSON SIGNATURE} into environment variable DEVSENSE_PHP_LS_LICENSE.

    SET DEVSENSE_PHP_LS_LICENSE="{JSON SIGNATURE}"

If you encounter any issues during the activation process, please refer to our documentation or contact support.

📜 Agreement

By including this package as a dependency in your project—whether for personal, commercial, or open-source use—you agree to the following:

  • Attribution is required: You must include a visible link to this README file in your project documentation (e.g. in your README.md, about page, or developer docs).
  • This is to ensure that end users and developers are aware:

    • Who the original authors and maintainers of this package are
    • How to access premium features, including purchasing and activation steps

This visibility helps support ongoing development and ensures fair use under our freemium model.

If you cannot comply with this requirement or need a custom license, please contact us for a commercial agreement.