I just released a twig extension for https://github.com/sebastianbergmann/money
The money libary contains a money represention based on the currency’s smallest unit to provide a more accurate handling. See the libary’s readme for more information.
Although the v1.x version of Money brings a Formatter the Twig extension uses its own, which is better suited and more flexible.
Continue reading “Twig Extension for Money value object”
Some news from the Superleansilexplate:
- v3 now uses symfony3 components
Silex 1.3 supports symfony3 so lets use it :)
Note: as symfony3 doesnt support php5.4 anymore, we dont either!
- new ConsoleServiceProvider
the one from knplabs that was used before seems to be unmaintained and wasnt matching the dependencies anymore.
So i decided to take it over and renew it a bit. Check it out!
- Docker support
I started to use Docker as dev enviroment for my projects, so i added dev & prod Docker support.
For the sake of simplicity it uses a single container with Apache and PHP7.
If you have Docker and docker-compose on your machine just spin it up with
docker-compose up and check on localhost:8088.
Continue reading “Superleansilexplate Update v3”
For creating PHP packages several best practices has been established, like composer support (ofc) and putting the package on packagist, travis integration, directory organisation, tests, documentation and so on.
For further information i recommend these slides https://laravel-news.com/2015/08/hannes-van-de-vreken-package-development-slides/ which describe the situation very well.
And as we are all lazy, we like generators that scaffold a basic php package layout and luckily there are several out there.
They all differ a bit, so pick your favorite.
Continue reading “PHP package generators”
There this really useful tool for JS, called RegExpBuilder.
It enables you to build regular expressions with a nice human-readable & chainable syntax.
(read more about it here and here)
As it’s not that much lines of code, I decided to do a port for PHP – et voila:
Continue reading “RegExpBuilderPHP – PHP Regular Expression Builder”
Using your forks of certain packages with composer is actually pretty easy:
Add the repo of the fork to the repositories block of your composer.json, you might need to change the version to f.e dev-master and thats it. Great. Actually.
But there are some traps, especially when you are mentally already weekend bound:
When working in a team, take care that you dont add your fork as a private repo.
This happens when you use the @ notation like ‘email@example.com‘. Its tempting because it will be the clone url on github when you are logged in, which is very likely.
If you do so your team mates will get errors like this:
Failed to execute git clone --no-checkout 'firstname.lastname@example.org:ivoba/SomeBundle.git' [...] && git remote add composer 'email@example.com:ivoba/SomeBundle.git' && git fetch composer
Continue reading “Using forks with composer – late night edition”
Symfony’s ParamConverter is a common way to transform some GET param to an entity before your controllers action.
This happens most of the time via type hinting and priority detection kinda magic in the background.
But as magic is often obscure sometimes you need a bit of explicitness.
F.e. when you have more and different ParamConverter per entity you want to name them explicitly.
Then you can use named ParamConverters.
In the documentation this issue is a bit fragmented, so here is the compact version:
Continue reading “Symfony and named ParamConverters”
I have often missed the
method from Doctrine1 in Symfony2 with Doctrine2.
Of course there’s the doctrine extensions with the sluggable behaviour, but sometimes it seems a bit overhead for smaller tasks.
I just recently discovered Behat Transliterator, which brings just the dearly missed urlize function back.
Continue reading “Symfony2 “urlize””
I usually would not recommend deployment via git and running composer on your prod server for several reasons like f.e. the network. I rather believe in builds.
But sometimes its just too convenient :)
So i have this uncritical smaller API app where the hosting has git, ssh access and i am in full control and i decided too keep it simple.
Continue reading “git deploy with composer install hook”
As of 2014 things have
changed improved a lot in the Symfony / Silex world, compared to 2011, when i first blogged about twig extensions in Silex.
Things got more easy, yay!
As Composer appeared, installation and autoloading is a breeze nowadays.
I presume here, that you have installed your Silex project via composer.
If so, you can install the twig extensions like this:
Continue reading “Enable Twig-Extensions in Silex revisited”
In a recent website-project i had a WordPress Blog running next to the main CMS Silverstripe, handling the Blog-part of the site.
Integrating the Blog in Silverstripe (which indeed would have made things simpler) was not an option at the time. The usage of loads of WordPress plugins would’ve made a rewrite a major task, which was out of the budget.
The blog was integrated in the same page layout as the rest of the website. So ideally it would at least share the same Templates for header, footer etc. and would integrate the sites navigation built by Silverstripe.
But how to use the pre-rendered Silverstripe template
.ss files in a WordPress theme?
The following worked fine for me, using Silverstripe 3.0:
Continue reading “Using Silverstripe Templates outside Silverstripe”