Brew on macOS Explained In 1 Post

What is a brew/homebrew?

If you used a Linux before, you had to meet apt-get on Debian/Ubuntu system or yum on Centos/Red Hat. Brew as well as these tools is a package manager that allows you to install (most of) Linux ‘s libs and tools on your Mac! You can also create your own packages to easily install them on other Macs.

Continue reading “Brew on macOS Explained In 1 Post”

Using Composer inside Docker on Mac In 2 Minutes (without brew)

I’m using Docker on Mac since 3 years and same as you, I was using it only to run project. It was always simple running “docker-compose up -d”.

It looked exactly like Vagrant or simple image runned on VirtualBox. There were benefits of using Docker on production, Docker on Linux environment. On MacOs, however, it gave me more problems than solutions.

Since always, I have installed Composer on my Mac. Ages ago, I run “brew install composer” and it was there always. Till now. I’ve removed brew and all libraries managed by brew.

Continue reading “Using Composer inside Docker on Mac In 2 Minutes (without brew)”

[UML][PHP] The game of Life [WIP]

A few days ago John Horton Conway passed away, it inspired me to take a look at his Game of Life. I have it in my mind for years, since I heard about this cellular automaton on conferences. They were talking, it’s as a good challenge for Software Developers. Something like Kata to practice your skills using different approaches, libraries, toolsets.

I wanted to use it, to practice my UML skillset and the PlantUML tool. As an addition, I wrote PHP 7.3 code to demonstrate implantation. It’s far away from perfection. I didn’t use Composer, no Unit Tests, no framework, just vanilla PHP. Today, I wanted to make UML diagrams.

Continue reading “[UML][PHP] The game of Life [WIP]”

Prooph: CQRS+ES in PHP. How to use.

Pattern CQRS and Event Sourcing become more and more popular every day in PHP community. You can easily find lot libraries to store events, to execute commands, to manage repositories, etc. The leader there doesn’t exist yet, but prooph as the most complex solution is close to that position. They have only one problem, documentation.

Ok, they have two problems. Documentation and many not to updated examples in their GitHub repository. Because of that and because prooph is de facto five not related components running everything out-of-the-box is really a pain. Even if some examples contain Docker on board or especially then because a tree of dependencies grows fast.

Continue reading “Prooph: CQRS+ES in PHP. How to use.”

100% Code Coverage with phpspec

CODE COVERAGE

Can you imagine a big project that has 100% code coverage? Me neither. It doesn’t mean that we should ignore this measurement. Today, I would like to describe my adventures with code coverage in the Financier project. There will be phpspec, Travis, coveralls.io and bit of dragons. Just kidding, dragons another day.

100% code coverage what does it mean? Well, you have tests for each class, method, and conditions (if, while, for), literally. Everything is testable and tested.

Continue reading “100% Code Coverage with phpspec”

Doctrine Migrations without frameworks

Few hours of each weekend I try to spend on developing my Financier app, which is nothing more than my interactive wallet to invest in market stock. It’s really easy command line app, that has two table in database. I have some plans for this application, that is why I’ve decided to implement library to manage database migrations.

I choose Doctrine Migrations that I usually use when I am working with symfony framework. This time, I wanted to use it on application where I don’t use any framework. First time I had to dive into documentation of this library, and it was terrible like diving into the dark ocean.

Continue reading “Doctrine Migrations without frameworks”

phpspec+behat: The Bowling Game Kata

A week ago, I announced on Twitter new blogpost about CQRS. I’m still writing it but I needed a little break from it and to take something new, something that I wanted to learn, try from a long time. I did my first Kata.

Kata is a Japanese word and could mean “practicing move”. Programmers adapted that word and created a lot of Katas (exercises) to improve their skills. One of the most popular Kata is The Bowling Game described by Robert Cecil Martin (Uncle Bob). The clue is to create an algorithm which shows score using the rules in this sport’s discipline.

On Saturday, I took my MacBook Pro and went to a cafe. I ordered, as usually, a large cappuccino without sugar and with non-fat milk and I’ve started two hours coding session.

Continue reading “phpspec+behat: The Bowling Game Kata”

Travis: How to configure Symfony to cooperation?

You are happy user of the Symfony framework, and you heard something about Travis than you decide to test it. In this article, I describe how to connect popular tests’ tools (PHPUnit, phpspec, Behat) to Travis, when you have Symfony on your backend.

Before, we started configuring Symfony for supporting Travis you should know what is Continuous Integration and why that idea is very useful.

In simple words, Continuous Integration is when your code is merged with master branch and tested a few times of a day automatically. In previous ages, programmer deployed application once, maybe twice a year, now we can publish our changes in minutes to a production server, and millions of users can start using it immediately.

Continue reading “Travis: How to configure Symfony to cooperation?”

Docker: Symfony – how to install it and use [LINUX]

Hi there. Today, I’m going to take care of PHP framework symfony and I’ll show you how to install it on your Linux machine by using docker.

If you use MacOS and you have installed docker as I described in my last note then you have to wait a while. I will describe it in another post.

As I’ve written before, symfony is a modern PHP framework, you can use it to create complex website. What is important, symfony has one of the biggest community. At this moment, it has more than 2 000 project contributors!

TL;DR: If you don’t want to read this article so you can go directly to the bottom where there is a full recipe ready to copy, paste and run.

Continue reading “Docker: Symfony – how to install it and use [LINUX]”