Download the PHP package wappcode/pdss-utilities without Composer

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

PDSS-Utilities

Utilidades PHP para trabajar con Doctrine ORM.

Requisitos

Instalación

Instalar la librería usando Composer:

Instalar dependencia de Doctrine ORM

Si aún no tienes Doctrine ORM instalado:


Clases Base para Entidades

Clases abstractas que proveen gestión automática de timestamps (created y updated) y diferentes tipos de identificadores.

AbstractEntityModel

Clase base para entidades con ID tipo integer auto-generado.

Propiedades heredadas:

AbstractEntityModelUlid

Clase base para entidades con ID tipo ULID (26 caracteres).

Propiedades heredadas:

AbstractEntityModelKsuid

Clase base para entidades con ID tipo KSUID (27 caracteres).

Propiedades heredadas:

AbstractEntityModelUuidV4

Clase base para entidades con ID tipo UUID v4 (36 caracteres).

Propiedades heredadas:

Métodos Disponibles

Todas las clases abstract proveen:


¿Qué tipo de ID elegir?

AbstractEntityModel (Integer)

Cuándo usar:

Ventajas:

Desventajas:

AbstractEntityModelUlid (26 caracteres)

Cuándo usar:

Ventajas:

Desventajas:

Ideal para: Users, Orders, Products, Posts, Comments

AbstractEntityModelKsuid (27 caracteres)

Cuándo usar:

Ventajas:

Desventajas:

Ideal para: Logs, Events, Audit trails, Time-series data

AbstractEntityModelUuidV4 (36 caracteres)

Cuándo usar:

Ventajas:

Desventajas:

Ideal para: Session IDs, API Keys, Integration tokens, External references

Comparación Rápida

Tipo Tamaño Sortable Velocidad Uso Recomendado
Integer 4-8 bytes ✅ Secuencial ⚡⚡⚡ Muy rápido Tablas pequeñas, legacy
ULID 26 chars ✅ Por tiempo ⚡⚡ Rápido Uso general (recomendado)
KSUID 27 chars ✅ Por tiempo ⚡⚡ Rápido Time-series, logs
UUID v4 36 chars ❌ Aleatorio ⚡ Moderado Interoperabilidad, APIs externas

Sobreescribir Columnas Heredadas

Puedes personalizar las columnas heredadas en tu entidad usando el atributo #[ORM\AttributeOverride]:

Cambiar nombre de columna

Cambiar longitud del ID

Cambiar nombre de columnas de timestamps

Cambiar tipo de columna ID (integer)


Utilidades de Query

QueryFilter

Aplica filtros dinámicos a un QueryBuilder de Doctrine basado en parámetros HTTP.

Operadores disponibles:

Ejemplo:

Filtros con joins:

Filtros compuestos:

QueryJoins

Agrega joins dinámicos a un QueryBuilder.

Tipos de join:

Ejemplo:

QuerySelect

Calcula el valor SELECT para queries con selección parcial de propiedades.

Ejemplo:

Sin propiedades específicas:

QuerySort

Aplica ordenamiento dinámico a un QueryBuilder.

Direcciones:

Ejemplo:

Ordenar por propiedades de joins:

Desde string JSON:


Seguridad en Queries Dinámicas

Datos desde HTTP POST/GET

Las utilidades QueryFilter, QueryJoins, QuerySelect y QuerySort están diseñadas para recibir datos desde peticiones HTTP (POST, GET, etc.). Es fundamental aplicar las validaciones de seguridad adecuadas.

Ejemplo de uso con datos POST:

Protección de Doctrine contra SQL Injection

Doctrine ORM aplica prepared statements y parameter binding automáticamente, lo que protege contra inyección SQL:

✅ Seguro por defecto:

Validaciones de Seguridad Recomendadas

1. Whitelist de propiedades permitidas

2. Whitelist de joins permitidos

3. Limitar operadores permitidos

4. Validar tipos de datos

5. Limitar profundidad de queries

Ejemplo Completo con Seguridad

Checklist de Seguridad


Ejemplo Completo


All versions of pdss-utilities with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
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 wappcode/pdss-utilities contains the following files

Loading the files please wait ...