I’m actually using Slim 3 for prototyping my “for fun” applications, often I prefer using a dynamic router and avoid generating an entry for each time I add a new action. I had a piece of code which I used to setup the Slim 3 framework router for instancing a controller depending on called route. I was passing the container DI to this controller and getting in each method all needed dependencies, but in the end I will be always depending on Container interface. Now I had rewritten the code to improve its reusability and testing, I have implemented a channel to feed dependencies through the parent controller for avoiding such a container dependance.
The base idea is a Factory object which can instanciate and setup an slim application, this Slim application will be ready to instance controller classes with an especific implementation, this allows router to inject dependencies on controllers.
This library is intended to be used with PHPUnit tool. DataPool is an iterable object which can be returned to a standard @dataprovider tagged function or it can be used to get specific datasets from a big datapool.
- It allows keeping low weight indexed array values separated from tests logic.
- It can return specific datasets attending to its dataset index.
- It can encapsulate dataset as an array to avoid large parameters lists.
This is a library for importing with no large memory consuption large csv or fixed-line files, it just needs an index array and a file path, the object itself is iterable, in each loop it returns an index corresponding to the read line number and an array with data in the form of the index array, if something goes wrong it returns an exception.
This repository has some sources I used for practising, for setting up my other developments in order to be used with Docker. As soon as I have some more time I will write down what I have done and which are my impressions … Docker is Awesome !!!