Given you want to introduce Disco into a legacy project, you need to manually convert the existing DI configuration into Disco's class based configuration format. This requires you to have in-depth knowledge about the DI container format your project is using right now as well as some in-depth knowledge of Disco's configuration. Some examples to give you guidance for the conversion process can be found online in the disco-demos repository. But there is more, Andreas Heigl created a CLI tool called manero to help you to automatically convert existing DI configuration into Disco's class based configuration format. In the first step, manero is only able to convert Zend Expressive configurations. The current conversion process looks like this: First you need to clone the repo and create a .phar file of manero yourself:
It's been a while since the last Disco release. Over the last few months quite a few improvements have been made to the code, new features have been added and unfortunately some BC breaks had to be done. As always, find the BC breaks covered in the upgrade guide.
In a recent attempt of moving an application from one server to another, I needed the MySQL server running on the old server on localhost to listen on another IP address. Digging into the MySQL documentation I realized there's only an all-or-nothing approach built into MySQL server. This means MySQL is only able to listen on one IP address or all IP addresses. Of course, I could have configured MySQL to listen on all IP addresses (networks) and then use a couple of firewall rules to lock access, this seems like a common approach.
Recently we hit a problem in our Force Login Magento 2 module: The module was not compatible any more with Magento 2.1 due to a change in a constructor of a Magento base class we extended. This broke the DI configuration which in turn meant the module was not installable in a Magento 2.1 project any more. We were not able to spot this problem early on as our Travis build did only run against the latest Magento version 2.2. Inspired by this blog post of the heidelpay developers, I began to restructure our Travis build.
Last weekend, I visited the PHPBenelux Conference 2018. I experienced a very well organized event with a wide range on interesting topics. As expected there were many PHP focused sessions like "Advanced debugging techniques" (Patrick Allaert), "How PHP ticks" (Sara Golemon) or "Disco – A fresh look at DI" (Stephan Hochdörfer). But also broader issues which are interesting, too. I visited "Go for PHP Developers" (Terrence Ryan) and "Learning Machine Learning" (Joel Lord) and many more. Besides the official talks there was always an opportunity to have interesting conversations or challenging some fun games. It can only recommend to visit the tenth jubilee next year.
Yesterday, we released version 3.0 of our Force Login Module for Magento 2 which brings some requested features and fixes, here are the highlights of the current release:
We released version 2.3 of our Force Login Module for Magento 2 which brings some requested features and fixes, here are the highlights of the current release:
We released the new 2.2.0 version of the Force Login Module for Magento 2 providing support for Magento 2.2.
This year, I attended the reasons.to conference in Brighton, UK.
While working on this prooph components powered API, I realized it would make sense for our mobile client to know when data changed on the server-side without constantly pulling all data from the API and comparing it locally. In a "traditional" application I would have used a checksum mechanism - e.g. creating a checksum of all the data in the datastore - but with an event sourced application this is no longer needed as we can simply rely on the timestamp of the last event happened to know if things have changed.