Download the PHP package andersonsalas/expressionlab without Composer

On this page you can find all versions of the php package andersonsalas/expressionlab. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package expressionlab

Expression Lab

An interactive diagnostics console and declarative DSL for WordPress.

Code Style (WPCS) PHPUnit Test Matrix Jest Tests PHP 8.2 to 8.5 WordPress 6.4+ Multisite Supported


Expression Lab is an experimental in-browser console for exploring WordPress data. Powered by a declarative Domain-Specific Language (DSL), it enables inspecting posts, options, database tables, and files without writing raw PHP snippets.

In WordPress development, troubleshooting often relies on ad-hoc PHP code execution, temporary var_dump() calls, or console plugins based on eval(). In production sites, unconstrained execution carries inherent risks: accidental database writes, memory exhaustion, or security exposure.

Expression Lab explores an alternative approach:


Architecture & Execution Model

The diagram below illustrates the authentication and execution lifecycle:

Authentication operates through client-side key derivation and cryptographic request signing. The browser generates ephemeral keys in memory to sign each request, and the backend verifies the signature without storing master passphrases, private keys, or credentials in the WordPress database.

The runtime enforces strict operational boundaries. Expressions evaluate declaratively inside an isolated AST engine rather than arbitrary PHP execution, database operations default to read-only access, the console UI runs in a sandboxed iframe, and an execution timer acts as a CPU watchdog to terminate runaway requests.

For an in-depth breakdown of the cryptographic model, boundary limits, and threat assumptions, see the Security Model documentation.


The DSL at a Glance

Expression Lab provides fluent query interfaces for core WordPress entities and functional pipeline helpers:

Fluent Entity Queries

In-Memory SQLite Analytics

Mirroring tables allows running SQL queries:

Functional Pipeline Operations

Data transformations are composed using declarative special forms (prog, set, map, filter, var):


System Requirements

Component Requirement Note
PHP 8.2 – 8.5 Tested against PHP 8.2, 8.3, 8.4, and 8.5
WordPress 6.4+ Tested on modern WordPress releases and Core trunk
PHP Extensions sodium, sqlite3 sodium for Ed25519 signature verification; sqlite3 for in-memory database mirroring
Environment Single-site & Multisite Automated tests run against both configurations
Browser Modern Chromium, Firefox, or Safari Requires native Web Crypto API support

Installation & Setup

[!WARNING] Expression Lab is currently experimental alpha software intended for staging, local development, and sandboxed diagnostic environments. It has not undergone third-party security audits. Do not use in production or business-critical environments. Provided under the GPL-2.0 license without warranty.

1. Installation

Pre-built ZIP Archive (Recommended)

Pre-built release packages are distributed as .zip archives via GitHub Releases. These include bundled frontend assets and scoped dependencies, installable through Plugins → Add New Plugin → Upload Plugin in the WordPress administration dashboard.

From Source (Development)

For local development, source builds, or code contributions:

  1. Clone the repository into the WordPress plugins directory:

  2. Install PHP dependencies:

    (For a lightweight test build without development tooling, use composer install --no-dev --optimize-autoloader).

  3. Install JavaScript dependencies and compile frontend assets:

2. Configuration

  1. Navigate to Tools → Expression Lab in the WordPress administration dashboard as an administrator.
  2. Complete the initial security onboarding wizard by defining a master passphrase.
  3. The wizard outputs the required configuration constants. Append them to wp-config.php:

  4. Once defined in wp-config.php, reload the administration interface.

Development & Tooling

The repository provides automated validation, asset compilation, and a local documentation environment:

Code Quality & Automated Tests

Frontend Assets & Live Reload

[!TIP] Frontend Development with Hot Reload: In production, the console UI executes inside an isolated iframe with a unique origin (null). Because modern browsers block localStorage access in sandboxed iframes without allow-same-origin, tools like Vue and Pinia hot reload require disabling the iframe sandbox during local UI development:

Ensure this remains enabled outside of UI development sessions.

Documentation (Docusaurus)

The documentation site is located in the docs/ workspace:


Documentation

Full syntax guides and API references are available on the project's official website:

Documentation is available in Spanish.


Contributing

Contributions, feedback, and technical proposals are managed according to the guidelines in CODE_OF_CONDUCT.md.


Security Inquiries

Potential security vulnerabilities should not be reported through public issue trackers. Consult SECURITY.md for supported versions and coordinated disclosure procedures.

Reports may be submitted via the GitHub Security Advisories interface or by emailing [email protected].


License

Expression Lab is open-source software distributed under the terms of the GNU General Public License v2.0 or later (GPL-2.0-or-later).


All versions of expressionlab with dependencies

PHP Build Version
Package Version
Requires symfony/expression-language Version ^7.4
phpdocumentor/reflection-docblock Version ^6.0
maxmind-db/reader Version ^1.14
splitbrain/php-archive Version ^1.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package andersonsalas/expressionlab contains the following files

Loading the files please wait ...