Download the PHP package qkskima/model without Composer

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

QkSkima Model

A lean but powerful DSL-based model system for TYPO3 with Symfony validation, property access, nested relations, and business rule validation. QkSkima Model is an alternative approach, when you think Extbase is too heavy for the job.

Features

Recommendations

For building RESTful API endpoints that work seamlessly with this model system, we highly recommend using the qkskima/api composer package.

Why Use QkSkima Api?

The qkskima/api package is specifically designed to complement this model system and provides:

Installation

Architecture

Core Classes

  1. BaseModel - Abstract base class providing all core functionality
  2. BusinessRuleInterface - Contract for business rule validators
  3. BusinessRuleResult - Value object for validation results
  4. TYPO3ModelTrait - Trait to add TYPO3 specific functionality

Usage

Defining a Model

Creating Records

Updating Records

Deleting Records

Handling Validation Errors

Nested Relations

The system automatically handles nested model hydration and validation:

This makes it easy to process the creation of nested relations through a form.

Business Rules

Business rules provide domain-specific validation logic that runs after syntactic validation:

Business rules can:

Adding Business Rule Violations to Nested Fields

Validation Flow

  1. Syntactic Validation - Symfony constraints on properties
  2. Nested Validation - Recursive validation of related models
  3. Business Rule Validation - Custom domain logic (only if syntactic validation passes)

Database Integration

The system uses TYPO3's QueryBuilder for all database operations:

Custom Finder Methods

Error Structure

Errors are returned as a flat array with dot-notation for nested fields:

This structure makes it easy to:

Best Practices

  1. Always validate before save: The create() method does this automatically
  2. Use business rules for domain logic: Keep Symfony constraints for syntax/format
  3. Define relations explicitly: Use getRelations() for nested models
  4. Handle errors gracefully: Check hasErrors() after operations
  5. Override saveRelations/destroyRelations: For custom cascade behavior

Custom Business Rules with Database Access


All versions of model with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
typo3/cms-core Version ^13.4 || ^14.0
symfony/property-access Version ^7.4
symfony/validator Version ^7.4
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 qkskima/model contains the following files

Loading the files please wait ...