Download the PHP package psx/sql without Composer
On this page you can find all versions of the php package psx/sql. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package sql
Short Description Generate type-safe PHP classes from your database
License Apache-2.0
Homepage https://phpsx.org
Informations about the package sql
SQL
This library generates type-safe PHP classes from your database tables and thus allows you to interact with your database in a complete type-safe way.
In traditional ORMs you write a class add specific metadata and generate based on this class your tables, this means our source code defines how a table should look. This library thinks the other way around (database first), this means you first build your database schema i.e. through a tool like doctrine migrations and then you can use this library to automatically generate all repository and model classes based on the table schema. This has the great advantage that we can generate completely typed repositories. We automatically generate a class for each row (entity) and a repository which accepts this row. This concept is not new and the Java world has i.e. jOOQ which also follows this idea. It of course means also that you need to regenerate your classes if you change your schema.
Generate
To generate the table and row classes you can either integrate the PSX\Command\GenerateCommand into your Symfony
console app or you can also do this programmatically through the PSX\Sql\Generator class s.
Basic usage
The following are basic examples how you can work with a generated table class.
Table
The following is an example of a generated table class.
Row
The following is an example of a generated table row.
Column
The following is an example of a generated table column.
Filter
To filter collections this library provider also a filter builder which builds a condition based on a custom query language. This is similar to i.e. the GitHub or Jira query language and gives your users the option to create more complex filters. The following shows how you can parse a query:
All versions of sql with dependencies
doctrine/dbal Version ^3.0
nikic/php-parser Version ^4.0|^5.0
psx/datetime Version ^3.0
psx/record Version ^3.0
symfony/console Version ^5.0|^6.0|^7.0