Qafoo GmbH - passion for software quality ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :Author: www-data :Date: Wed, 31 Oct 2018 10:07:55 +0100 :Copyright: All rights reserved ======================= PHP Hypertext Processor ======================= - A tricky Thing: The arguments-object Incited by a tweet regarding JavaScripts arguments-object, I decided to detail this object in this blog post. A lot of people are somewhat confused about the inner workings of JavaScript engines in general. Every now and then most JavaScript developers can't explain why certain things happen and others don't. One of those mysteries fueling the confusion is the arguments-object. This post will help to solve this mystery once and for all. - Embedding REST Entities During my talk at IPC Spring I showed an approach for embedding entities in REST responses. This methodology might be useful if the standard use-case for your API is to request multiple related entities together. The downside of such an approach is the raised complexity of caching and especially purging logic. In this blog post I will further elaborate on the approach of resource embedding. - Dependency Management / Mocks, Stubs and Spies with JavaScript At this years IPC Spring I gave two sessions about different JavaScript-Topics. Eventhough most of us are PHP-Developers at their heart, in todays world JavaScript has become an integral component of most webapplications. That's why I give a lot of trainings about JavaScript these days. Take your chance to peek at the two sessions I just presented. - Pragmatic REST & BDD at IPC On the train back I'm just uploading the slides of my talks at the International PHP Conference in Berlin, which ended some minutes ago. In my first talk I captured my experience with designing RESTful web services, summarizing pitfalls and low hanging fruits under the topic "Pragmatic REST". The second talk dealt with Behavior Driven Development on basis of Behat. Find the slides for download here. - Slides: Behat & Beautiful APIs Last Wednesday I did a little talk marathon by first presenting a Webinar on Behavior Driven Development with Behat and afterwards going straight to Cologne for the Symfony Usergroup, where I spoke about Designing Beautiful APIs. Find the slides of my talks here. - Webinar: Behavior Driven Development with Behat I've already written two blog posts here about Behat: Behavior Driven Development and Code Coverage with Behat. If that made you curious or you wanted to learn about Behat anyway, I can highly recommend to join the free webinar on Behavior Driven Development with Behat I'll be giving on May 8th 2013 on behalf of Qafoo in cooperation with Zend. - PHP Refactoring Browser Alpha Release Without continuous refactoring, code maintainability and extensibility will start to decrease fast, even if it has tests. Until now, only IDEs contained functionality to perform automated refactorings. And then even only PHPStorm contains the most important refactorings such as "extract method". Today we release the PHP Refactoring Browser, a refactoring tool written completely in PHP. - Code Coverage with Behat There is generally no point in having code coverage for Behat test cases because of their nature: The purpose of an acceptance test is to assert a certain behavior of an application, not to technically test a piece of code. Therefore, there is no point in checking for uncovered code pieces in order to write a Behat test for it.That said, there is still a scenario where you want to peek at code coverage of Behat tests: When creating them as wide-coverage tests before starting to refactor legacy code. Behat in combination with Mink provides you with a great tool for such tests. - Win a Ticket for PHP Unconf EU PHP Unconference Europe is an amazing PHP community meet-up. We would love to help you experience this event and therefore raffle 2 x 1 ticket (viable for non-german as well as german participants). - Mocking with Phake The use of Mock and Stub Objects is an important skill to learn when using Test Driven Development (TDD). Mock objects allow you to replace dependencies of an object with lookalikes, much like crash test dummies are used during automobile safety tests so humans aren't harmed.