Download the PHP package kuaukutsu/ds-dto without Composer

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

DTO (Data Transfer Object)

Disclaimer: вставлю свои 5 копеек, не претендую на истинность, но мысли озвучу (в самых общих чертах).

Словарь используемых терминов:

Схема для описания примера

В самом простом исполнении получается следующая схема:

Пример DTO

Подходы могут быть разные, но лично мне не нравится передавать данные через конструктор, возможно с приходом php8 и named arguments я поменяю точку зрения.

В DTO можно использовать protected свойства (плюс геттеры), чтобы не было желания заполнять их как-то кроме как через hydrate(). Главное - иммутабельность и никакой логики, как только здесь появляется логика, это сразу превращается в Entity, или быть может какой-то иной подвид Value Object.

Может возникнуть вопрос, зачем здесь DTO, ведь в сервисный слой можно передавать форму напрямую ($form или в виде массива $form->toArray()), и так же получать из сервисного слоя напрямую модель. Суть в том, что Модель, как и Форма, это реализация некоторой логики, и в приложении могут быть несколько компонент, которые реализуют логику субъективно, по своему, с учётом требований БЛ, но сервисный слой для всех компонент один и тот же. Поэтому нужен механизм, который позволит 3-м разным формам работать с одним методом, как например $service->save(DTO). А так же потому что форма, как любой иной объект может менять своё состояние, и нет чётких гарантий неизменности данных.

Docker

Container:

shell

Testing

Unit testing

The package is tested with PHPUnit. To run tests:

Static analysis

The code is statically analyzed with Psalm. To run static analysis:

Code Sniffer

Rector


All versions of ds-dto with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
yiisoft/arrays Version ^3.0
yiisoft/strings Version ^2.3
kuaukutsu/ds-collection Version ^2.0.2
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 kuaukutsu/ds-dto contains the following files

Loading the files please wait ....