Summer vacations are over?| | 4 minutes | 747 words
When I was a student, it was easy to remember when holidays were coming. Now that I’m working since more than a decade, it’s harder to remember and distinguish those period sometimes!
That said, I have to say that the pace at work is different and this is how I remember that I should take some days off.
Working in a multi cultural environment means that people are going back to their roots for holidays.
And that means that there are less people available at the office.
However, on my side and since the last blog post in April, the word “holidays” was kind of meaningless !
Why no more blog post
In June, I’ve started to work in a new team with new colleagues, a completely different project, different office, different location and a completely different atmosphere and state of mind.
I will be more focusing on PHP development rather than Drupal, and it’s a good thing.
Of course, I will continue to maintain my modules and the maintenance of Drupal 7, but I won’t be an active contributor as I used to be during past years.
In just two months, we delivered our first successful project based on Symfony/API Platform and the client is so far super happy.
So quite a lot of changes in my professional environment lately and I’m already very glad of the outcome.
I haven’t left aside my creativity when it comes to development, and here are the packages I’ve been making lately.
PHP OS Info
Get information of the current operating system where PHP is running on.
There are many packages that does that already but most of them are based on the use of the variable
contains the operating system name PHP was built on.
PHP_OS might be sometimes not very accurate, then using
php_uname() might be a better fit for detecting the
operating system, we only use it as a fallback.
PHP OS Info uses
php_uname() and a static list of existing operating systems, and then from there, tries to deduct the
operating system family.
The project has been already adopted by the Acquia BLT project and vaimo/composer-patches.
This library let you launch a file or a resource with the your default OS application.
I actually needed this small library while making the GraphViz exporter in PHPTree.
Collection is a functional utility library for PHP.
It’s similar to other available collection libraries based on regular PHP arrays, but with a lazy mechanism under the hood that strives to do as little work as possible while being as flexible as possible.
Collection leverages PHP’s generators and iterators to allow you to work with very large data sets while keeping memory usage as low as possible.
For example, imagine your application needs to process a multi-gigabyte log file while taking advantage of this library’s methods to parse the logs. Instead of reading the entire file into memory at once, this library may be used to keep only a small part of the file in memory at a given time.
On top of this, this library:
- is immutable,
- is extendable,
- leverages the power of PHP generators and iterators,
- uses S.O.L.I.D. principles,
- doesn’t depends or require any other library or framework.
Except a few methods, most of methods are pure and return a new Collection object.
This library has been inspired by the Laravel Support Package and Lazy.js.
Composer Packages is a Composer plugin for getting information about installed packages in your project.
It could be very useful for anyone who wants to build a package discovery system, crawling the filesystem is then not needed.
Thanks to Bob den Otter, it has been adopted from the beginning by the Bolt community for the bolt/core project.
Belgian national number faker
Belgian national number generator using fzaninotto/faker.
I guess there are nothing to say here :-)
And now ?
I will continue to focus on my own projects, going to prepare myself for the next EUFOSSA hackathon organized by the European Commission, on the 5 and 6 of April (the first one was about Symfony).
I’m also pushing on the PHP CS Fixer project for some changes, I hope they will get in very soon.
Also, the projects drupol/php-conventions and drupol/drupal-conventions are still actively maintained and since PSR-2 has been deprecated in favor of PSR-12, those packages has already been updated.