Download the PHP package ddbase3/php-struql without Composer

On this page you can find all versions of the php package ddbase3/php-struql. 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 php-struql

Struql – Structured Query Logic for PHP

Struql is a modular, extensible, and phase-based query processing framework for PHP. It empowers developers to define, normalize, simplify, and compile structured query logic into executable SQL – all using a clean and extensible handler-based architecture.


🌐 Why Struql?

Struql was designed to solve a recurring problem: building highly dynamic and structured queries without tying your code to SQL strings or rigid query builders. With Struql, you can:


📦 Features


🧱 Architecture Overview

Each phase is managed by a Processor, which consists of ordered Handlers. A handler is a class that inspects and transforms the query object for a specific purpose.


🧩 Key Concepts

✅ Processors and Handlers

Each handler must implement:

🧠 Phase Responsibilities

Phase Purpose
parse Parses external input (e.g. query strings) into PHP objects
normalize Expands shorthand field syntax, dollar-fields, top-level filters
simplify Resolves aliases, inferred joins, expands derived objects
compile Transforms the object into executable SQL

🧪 Example Usage

Output SQL:


🛠️ Built-in Handlers

Normalize Phase

Compile Phase


🔄 Extending Struql

To add a new transformation or compiler step, create a new handler:

Register it in your processor:


🚀 Use Cases


📁 File Structure


📋 Future Plans


📃 License

This project is open-source and available under the MIT License.


🤝 Contributing

Contributions are welcome! Create a feature branch and submit a pull request. Please include tests where applicable.


🧠 Summary

Struql is a powerful and extensible query transformation engine. Its handler-based architecture allows developers to fully control and customize every aspect of query interpretation and SQL generation – from API input to final query execution.

Ideal for teams building APIs, dashboards, CMS backends, or data-driven platforms.


All versions of php-struql with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
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 ddbase3/php-struql contains the following files

Loading the files please wait ....