2017 © Pedro Peláez
 

library invoices-storage

Easy way to manage the storage of your invoices

image

quantic-telecom/invoices-storage

Easy way to manage the storage of your invoices

  • Friday, February 5, 2016
  • by ThibaudDauce
  • Repository
  • 1 Watchers
  • 0 Stars
  • 25 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Quantic Telecom Invoices Storage

Build Status, (*1)

This package gives you an easy way to store your invoices., (*2)

Installation

Per usual, install Invoices Storage through Composer., (*3)

"require": {
    "quantic-telecom/invoices-storage": "~1.0"
}

Contracts

Repositories

The InvoiceRepositoryInterface provides methods' signatures to get (get and getAll) and save (save) invoices., (*4)

Factories

This package requires a lot of factories in order to create the invoices from the data stored in the database. - CustomerFactoryInterface - PaymentFactoryInterface - ItemFactoryInterface - GroupOfItemsFactoryInterface - InvoiceFactoryInterface, (*5)

All these factories have a build and an inverseResolution methods., (*6)

Inverse Resolution

Inverse resolution works like DNS. The repository need to know which concrete class he have to instanciate. The inverseResolution method must return a string (a domain name for classes) that will be stored with the object data. When the repository will need to get this object, he will pass to the build method that string and the data. Then, the factory will need to know how to build the requested object and return it., (*7)

Implementations

Repositories

This package provides a MongoDB implementation for the InvoiceRepositoryInterface named InvoiceMongoRepository. This repository don't use any ORM and build MongoDB queries by his own., (*8)

Factories

Each factory implementation build and resolve one or many concrete classes., (*9)

There is no implementation for CustomerFactoryInterface and PaymentFactoryInterface because quantic-telecom/invoices doesn't provide any concrete class for CustomerInterface and PaymentInterface. The client need to implement these factories because there are required by the InvoiceFactory., (*10)

InvoiceFactory

Concrete class Domain name for class
QuanticTelecom\Invoices\ExcludingTaxInvoice includingTaxInvoice
QuanticTelecom\Invoices\IncludingTaxInvoice excludingTaxInvoice

ItemFactory

Concrete class Domain name for class
QuanticTelecom\Invoices\Item item

GroupOfItemsFactory

Concrete class Domain name for class
QuanticTelecom\Invoices\GroupOfItems groupOfItems

The Versions

05/02 2016

dev-develop

dev-develop

Easy way to manage the storage of your invoices

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

26/01 2016

dev-master

9999999-dev

Easy way to manage the storage of your invoices

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

26/01 2016

2.0.0

2.0.0.0

Easy way to manage the storage of your invoices

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires

25/08 2015

1.0.0

1.0.0.0

Easy way to manage the storage of your invoices

  Sources   Download

GPL-3.0

The Requires

 

The Development Requires