How to Improve Your Debugging Skills
All of us write code that breaks at some point. That is part of the development process. When you run into an error, you may feel that you donβt know what to do. However, even the most seasoned developers introduce errors and bugs that break their code. We are humans after all.
All of us write code that breaks at some point. That is part of the development process. When you run into an error, you may feel that you donβt know what to do. However, even the most seasoned developers introduce errors and bugs that break their code. We are humans after all.
The Five Types of Test Doubles & How to Create Them in PHPUnit
Did you know that a Mock is only one type of a test double? Most of us use the word βmockβ to mean any kind of test double, but thereβs actually five different types. It really can help you understand what youβre trying to accomplish with your test if you know a little bit more what youβre doing with your test doubles, so this article will explain the kinds of test doubles, when you use them, how you use them and why.
Did you know that a Mock is only one type of a test double? Most of us use the word βmockβ to mean any kind of test double, but thereβs actually five different types. It really can help you understand what youβre trying to accomplish with your test if you know a little bit more what youβre doing with your test doubles, so this article will explain the kinds of test doubles, when you use them, how you use them and why.
Multi-user Authentication Using Guards in Laravel 5.6
User authentication in laravel is pretty much easy. Laravel ships with user authentication scaffolding out of the box. But how can we implement a multi user authentication? Letβs look into multi-user authentication using laravel guards.
User authentication in laravel is pretty much easy. Laravel ships with user authentication scaffolding out of the box. But how can we implement a multi user authentication? Letβs look into multi-user authentication using laravel guards.
DDD, Hexagonal, Onion, Clean, CQRS, β¦ How I put it all together
Fundamental blocks of the system
I start by recalling EBI and Ports & Adapters architectures. Both of them make an explicit separation of what code is internal to the application, what is external, and what is used for connecting internal and external code.
Fundamental blocks of the system
I start by recalling EBI and Ports & Adapters architectures. Both of them make an explicit separation of what code is internal to the application, what is external, and what is used for connecting internal and external code.
Dynamic relationships in Laravel using subqueries
Developers are typically pretty good at the first goal. We're aware of N+1 style problems, and use techniques like eager-loading to limit database queries. However, we're not always the best at the second goalβkeeping memory usage down. In fact, we sometimes do more harm than good trying to reduce database queries at the expense of memory usage.
Let me explain how this happens, and what you can do to satisfy both goals in your app.
Developers are typically pretty good at the first goal. We're aware of N+1 style problems, and use techniques like eager-loading to limit database queries. However, we're not always the best at the second goalβkeeping memory usage down. In fact, we sometimes do more harm than good trying to reduce database queries at the expense of memory usage.
Let me explain how this happens, and what you can do to satisfy both goals in your app.
Laravel features you may not know about
Here are some features from Laravel that you may not be aware of. They're not exactly anything advanced or hidden, but I don't really notice that these functions get used or referenced very often. (Maybe they are though, and I've just not noticed it.)
Here are some features from Laravel that you may not be aware of. They're not exactly anything advanced or hidden, but I don't really notice that these functions get used or referenced very often. (Maybe they are though, and I've just not noticed it.)
PSR-18: The PHP standard for HTTP clients
A couple of days ago, the PHP Framework Interoperability Group (PHP-FIG) approved the PSR-18 βHTTP Clientβ standard. This standard was the last missing piece to build applications that need to send HTTP requests to a server in an HTTP client agnostic way.
A couple of days ago, the PHP Framework Interoperability Group (PHP-FIG) approved the PSR-18 βHTTP Clientβ standard. This standard was the last missing piece to build applications that need to send HTTP requests to a server in an HTTP client agnostic way.
Better array parameter handling in PHP
Handling array parameters in PHP can be kind of a pain since you can't be sure about the shape of the array. Gladly there a way to make handling such parameters way easier.
If you've ever worked with array parameters in PHP you might feel familiar with something like this:
Handling array parameters in PHP can be kind of a pain since you can't be sure about the shape of the array. Gladly there a way to make handling such parameters way easier.
If you've ever worked with array parameters in PHP you might feel familiar with something like this:
ββWhatβs New in PhpStorm 2018.3
- Doctrine Query Language
- PHP 7.3 Support
- PHPDoc Improvements
- Remote Deployment To Multiple Hosts
- Doctrine Query Language
- PHP 7.3 Support
- PHPDoc Improvements
- Remote Deployment To Multiple Hosts
PHP 7.3.0 Release Announcement
The PHP development team announces the immediate availability of PHP 7.3.0. This release marks the third feature update to the PHP 7 series.
The PHP development team announces the immediate availability of PHP 7.3.0. This release marks the third feature update to the PHP 7 series.
Migrating to password_verify
Iβve recently been updating a website that was written a long time ago that has not been touched in a meaningful way in many years. In addition to the actual work I was asked to do, I took the opportunity to update the password hashing routines.
Iβve recently been updating a website that was written a long time ago that has not been touched in a meaningful way in many years. In addition to the actual work I was asked to do, I took the opportunity to update the password hashing routines.
PHPStorm Tips in 9 Gifs
Instead of watching the 45-min talk, enjoy 9 cherry picked tips in 4,5-min gifs. I've dropped a few of my own daily habits. Enjoy!
Instead of watching the 45-min talk, enjoy 9 cherry picked tips in 4,5-min gifs. I've dropped a few of my own daily habits. Enjoy!
Useful and interesting service is looking for beta users
Candum is a platform that enables you to easily test and monitor your websiteβs health. We'll give you 30% OFF if you join us.
Candum is a platform that enables you to easily test and monitor your websiteβs health. We'll give you 30% OFF if you join us.
ββGood Engineering Practices while Working Solo
When youβve got to go it alone, how do you make the most out of it?
Most developers work as part of a team. However, at some point in our careers, weβve had to (or weβll have to) work alone. And while much of product development involves being able to manage or work with the rest of the team, itβs equally as important to develop good practices while working solo.
When youβve got to go it alone, how do you make the most out of it?
Most developers work as part of a team. However, at some point in our careers, weβve had to (or weβll have to) work alone. And while much of product development involves being able to manage or work with the rest of the team, itβs equally as important to develop good practices while working solo.
New in PHP 7.4
PHP 7.4 will probably be released somewhere December 2019. This page will receive regular updates meanwhile. Last update was January 14, 2019
PHP 7.4 will probably be released somewhere December 2019. This page will receive regular updates meanwhile. Last update was January 14, 2019
Semantic Versioning - why you should care
While recording the videos for my upcoming PHP Package Development videos, I know that I wanted to cover semantic versioning and explain it in-depth. So rather than only having a video available, once the course is available in the next couple months, I also wanted to provide an extensive write-up on the topic.
While recording the videos for my upcoming PHP Package Development videos, I know that I wanted to cover semantic versioning and explain it in-depth. So rather than only having a video available, once the course is available in the next couple months, I also wanted to provide an extensive write-up on the topic.
Tips to Speed up Your PHPUnit Tests
Having a fast test suite can be just as important as having a fast application. As a developer, getting feedback quickly about the state of your code allows for a much quicker development turnaround. Here we are going to run through some tips you can implement today to make your tests run faster.
Having a fast test suite can be just as important as having a fast application. As a developer, getting feedback quickly about the state of your code allows for a much quicker development turnaround. Here we are going to run through some tips you can implement today to make your tests run faster.
My Modern PHP Development Setup
With this combination of formatters, linters and build tools I am able to create a fully testable, completely portable solution with adheres to PSR coding standards.
With this combination of formatters, linters and build tools I am able to create a fully testable, completely portable solution with adheres to PSR coding standards.