56,966 blogs · [ { "id": "01a08734-0a3f-70bd-a11c-30958bcd5d0e", "title": "Immutable by default: How to avoid hidden state bugs in OOP", "url": "https://backendtea.com/post/immutable-by-default/", "published_at": "2025-08-18T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce00ff5f13ef", "title": "Add an element from an array in JavaScript", "url": "https://backendtea.com/how-to/javascript-add-item-to-array/", "published_at": "2025-01-10T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce00ff7ba507", "title": "Types are documentation", "url": "https://backendtea.com/post/types-are-documentation/", "published_at": "2025-01-10T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01006ae866", "title": "See all the queries mysql does with the query log.", "url": "https://backendtea.com/how-to/mysql-query-log/", "published_at": "2024-09-04T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0100cfe8c0", "title": "Stop firefox from exiting full screen on pressing escape", "url": "https://backendtea.com/how-to/firefox-escape-exit-full-screen/", "published_at": "2024-09-04T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0100dd8121", "title": "Why I prefer array functions over loops", "url": "https://backendtea.com/post/functions-over-loops/", "published_at": "2024-08-12T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0101259725", "title": "Being a software engineer is a lot like being a butcher", "url": "https://backendtea.com/post/software-engineer-is-like-being-a-butcher/", "published_at": "2024-08-07T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010192c5c9", "title": "Change extensions of all files in a folder", "url": "https://backendtea.com/how-to/rename-all-files/", "published_at": "2024-08-05T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01022fbd1c", "title": "Keep retrying a bash command until it fails", "url": "https://backendtea.com/how-to/run-until-failure/", "published_at": "2024-08-05T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0102a6b562", "title": "Break the rules! (but only if you understand them)", "url": "https://backendtea.com/post/break-the-rules/", "published_at": "2024-07-31T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010377c786", "title": "PHP 8.2 changes to iterator functions I missed", "url": "https://backendtea.com/post/php-82-iterator-all-iterable/", "published_at": "2024-07-30T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0103f9dc61", "title": "\"Just use Psl for that\"", "url": "https://backendtea.com/post/just-use-psl-for-that/", "published_at": "2024-07-23T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010451e357", "title": "Why you should be typing your arrays in PHP", "url": "https://backendtea.com/post/php-typed-arrays/", "published_at": "2024-07-17T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01047aabd7", "title": "How to fix \"connect to host github.com port 22: Operation timed out\"", "url": "https://backendtea.com/post/ssh-could-not-connect/", "published_at": "2024-07-09T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01047f155d", "title": "What is PHP's declare(strict_types=1); and why you should use it", "url": "https://backendtea.com/post/php-declare-strict-types/", "published_at": "2024-07-04T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01056ce0c4", "title": "Backing up files with one bash command", "url": "https://backendtea.com/how-to/backup-file-bash/", "published_at": "2024-07-03T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01061523dd", "title": "Get a rough estimation of how many rows are in a table, without using count", "url": "https://backendtea.com/how-to/mysql-full-table-size/", "published_at": "2024-07-03T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0106e88214", "title": "Adding PHPStan to a legacy project", "url": "https://backendtea.com/post/phpstan-legacy-project/", "published_at": "2024-06-27T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01071114a7", "title": "What ive been reading: Deep work by Cal Newport", "url": "https://backendtea.com/post/what-ive-been-reading-deep-work/", "published_at": "2024-06-26T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0107fa73e7", "title": "5 Tips for better code reviews", "url": "https://backendtea.com/post/code-review-tips/", "published_at": "2024-06-21T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0108e46a8b", "title": "Allowing failure in GitLab CI", "url": "https://backendtea.com/how-to/gitlab-allow-failure/", "published_at": "2024-06-20T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010954bfd9", "title": "Check if an array contains an element in JavaScript", "url": "https://backendtea.com/how-to/javascript-check-if-array-contains-item/", "published_at": "2024-06-20T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01098e89c5", "title": "Remove an element from an array in javascript", "url": "https://backendtea.com/how-to/javascript-remove-item-from-array/", "published_at": "2024-06-20T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0109c9ea6d", "title": "Analyze your tests with PHPStan", "url": "https://backendtea.com/post/phpstan-analyse-your-tests/", "published_at": "2024-06-10T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010a071145", "title": "The difference between for .. in and for .. of in javascript", "url": "https://backendtea.com/how-to/javascript-for-in-vs-for-of/", "published_at": "2024-06-09T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010aec3bc6", "title": "How to create a random string in PHP", "url": "https://backendtea.com/post/php-random/", "published_at": "2024-06-04T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010b4ad70c", "title": "Finding the last element of an array in javascript", "url": "https://backendtea.com/how-to/javascript-last-element-of-array/", "published_at": "2024-05-30T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010bc0a580", "title": "Mastering PHPUnit: Using Mocks and Stubs", "url": "https://backendtea.com/post/phpunit-mock-and-stub/", "published_at": "2024-05-30T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010c8047c8", "title": "Mastering PHPUnit: Using data providers", "url": "https://backendtea.com/post/phpunit-data-providers/", "published_at": "2024-05-22T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010cb7385d", "title": "Mastering PHPUnit: Writing Your First Test with PHPUnit", "url": "https://backendtea.com/post/phpunit-your-first-tests/", "published_at": "2024-05-17T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010d91a768", "title": "Books", "url": "https://backendtea.com/recommendations/books/", "published_at": "2024-05-06T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010dbfa2e1", "title": "Mastering PHPUnit: an introduction", "url": "https://backendtea.com/post/phpunit-introduction/", "published_at": "2024-05-03T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010dc21bdf", "title": "Never deploy an untagged dependency again", "url": "https://backendtea.com/post/never-deploy-an-untagged-dependency-again/", "published_at": "2024-04-26T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010e86e488", "title": "Uses", "url": "https://backendtea.com/uses/", "published_at": "2024-04-24T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010ea48af6", "title": "Stop (ab)using allow failure", "url": "https://backendtea.com/post/stop-abusing-allow-failure/", "published_at": "2022-07-24T05:35:43+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010f697417", "title": "Creating better services", "url": "https://backendtea.com/post/creating-better-services/", "published_at": "2021-11-13T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce010fcbb402", "title": "Differential serving with webpack encore", "url": "https://backendtea.com/post/webpack-encore-differential-serving/", "published_at": "2021-06-19T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0110047f57", "title": "PHP needs an \"unknown\" type", "url": "https://backendtea.com/post/php-unknown-type/", "published_at": "2021-05-21T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01109d0eb1", "title": "Using CSS modules in react when testing with enzyme", "url": "https://backendtea.com/post/css-module-enzyme-test/", "published_at": "2021-04-24T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0111343a5a", "title": "Testing Exceptions in PHPUnit", "url": "https://backendtea.com/post/phpunit-exception-test/", "published_at": "2021-04-09T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01118071a7", "title": "10 PHPUnit Tips", "url": "https://backendtea.com/post/10-phpunit-tips/", "published_at": "2021-04-02T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0111b0a20c", "title": "Help my Doctrine migrations are broken!", "url": "https://backendtea.com/post/help-my-doctrine-migrations-are-broken/", "published_at": "2021-03-25T20:16:07+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0112862c4c", "title": "A problem with Twig", "url": "https://backendtea.com/post/a-problem-with-twig/", "published_at": "2021-03-18T17:31:13+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01136d71c6", "title": "Explore Your Types", "url": "https://backendtea.com/post/explore-your-types/", "published_at": "2021-03-11T20:18:16+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01140f7861", "title": "You should be using PHPStans bleeding edge", "url": "https://backendtea.com/post/use-phpstan-bleeding-edge/", "published_at": "2021-03-04T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0114d125c3", "title": "PHPUnit beyond basics: Dataproviders", "url": "https://backendtea.com/post/phpunit-beyond-basic-dataproviders/", "published_at": "2021-02-26T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0115947fb7", "title": "PHPUnit beyond basics: configuration", "url": "https://backendtea.com/post/phpunit-beyond-basic-config/", "published_at": "2021-02-19T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0115bdab93", "title": "Every day design pattern: Builder", "url": "https://backendtea.com/post/every-day-design-pattern-builder/", "published_at": "2021-02-12T18:58:22+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01164dbb6d", "title": "Every day design pattern: Factory", "url": "https://backendtea.com/post/every-day-design-pattern-factory/", "published_at": "2021-01-25T18:58:22+00:00" }, { "id": "01a08734-0a40-707e-972f-ce011654cf0f", "title": "Every Day Design Pattern: Adapter", "url": "https://backendtea.com/post/every-day-design-pattern-adapter/", "published_at": "2021-01-10T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0117153c90", "title": "Every day design pattern: Decorator", "url": "https://backendtea.com/post/every-day-design-pattern-decorator/", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01176cf475", "title": "Replacing private services with mocks during tests", "url": "https://backendtea.com/post/test-private-symfony-services/", "published_at": "2020-12-18T14:49:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0117c489cc", "title": "Finding bugs in seconds - Ibuildings Events", "url": "https://backendtea.com/talk/finding_bugs_in_seconds_ibuildings/", "published_at": "2019-12-10T18:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01180e8516", "title": "Testing code that generates warnings", "url": "https://backendtea.com/post/phpunit-test-warnings/", "published_at": "2019-11-21T19:51:46+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01187d0978", "title": "Finding bugs in seconds - PHP Amesfoort", "url": "https://backendtea.com/talk/finding_bugs_in_seconds_amesfoort/", "published_at": "2019-11-19T19:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0118cc892e", "title": "What is the boy scout rule", "url": "https://backendtea.com/post/boyscout-rule/", "published_at": "2019-11-11T11:40:49+00:00" }, { "id": "01a08734-0a40-707e-972f-ce01194c3fc1", "title": "When to add comments", "url": "https://backendtea.com/post/when-to-add-comments/", "published_at": "2019-10-31T20:16:05+00:00" }, { "id": "01a08734-0a40-707e-972f-ce011972cb04", "title": "Finding bugs in seconds - PHP Limburg BE", "url": "https://backendtea.com/talk/finding_bugs_in_seconds_php_limburg_be/", "published_at": "2019-10-29T19:00:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0119adeb97", "title": "Finding bugs in seconds - Full Stack Ghent", "url": "https://backendtea.com/talk/finding_bugs_in_seconds_ghent/", "published_at": "2019-10-09T18:30:00+00:00" }, { "id": "01a08734-0a40-707e-972f-ce0119cc4f78", "title": "PHP is already strictly typed", "url": "https://backendtea.com/post/php-is-strictly-typed/", "published_at": "2019-08-16T11:25:13+00:00" }, { "id": "01a08734-0a40-707e-972f-ce011aae3104", "title": "The modern PHP developers toolbox", "url": "https://backendtea.com/post/modern-php-toolkit/", "published_at": "2019-04-26T19:03:21+00:00" }, { "id": "01a08734-0a40-707e-972f-ce011abb705d", "title": "What Is Big O", "url": "https://backendtea.com/post/what-is-big-o/", "published_at": "2019-02-12T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8bfaf77a", "title": "Running Homestead from a separate directory", "url": "https://backendtea.com/post/homestead-separate-directory/", "published_at": "2019-02-06T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8c6a6d0d", "title": "Math Is Fun", "url": "https://backendtea.com/post/math-is-fun/", "published_at": "2019-02-05T23:57:15+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8c8821d1", "title": "Semantic versioning", "url": "https://backendtea.com/post/semver-dependencies/", "published_at": "2018-11-09T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8d51ee1b", "title": "Add an editorconfig to your project", "url": "https://backendtea.com/post/add-an-editorconfig/", "published_at": "2018-08-17T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8d5aee65", "title": "What is a default object?", "url": "https://backendtea.com/post/default-objects/", "published_at": "2018-08-10T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8ddc951b", "title": "Noop polyfills", "url": "https://backendtea.com/post/noop-polyfill/", "published_at": "2018-08-05T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8e84f2a2", "title": "Deploying to Github pages with Travis", "url": "https://backendtea.com/post/deploy-travis-to-github/", "published_at": "2018-07-31T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8eea94ef", "title": "Infection 0.9 is out!", "url": "https://backendtea.com/post/infection-09-release/", "published_at": "2018-07-25T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8f04ac47", "title": "PHP will lose its LTS", "url": "https://backendtea.com/post/php-loses-lts/", "published_at": "2018-07-24T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa8fe88523", "title": "Automated code reviews", "url": "https://backendtea.com/post/auto-review-testing/", "published_at": "2018-06-28T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa908abbba", "title": "The case against case", "url": "https://backendtea.com/post/the-case-against-case/", "published_at": "2018-06-18T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa917fd87b", "title": "PHP extensions, polyfills and you", "url": "https://backendtea.com/post/extension-polyfill/", "published_at": "2018-06-12T00:00:00+00:00" }, { "id": "01a08734-0a41-7355-b9a5-87aa91e473e7", "title": "Test your tests are Testing", "url": "https://backendtea.com/post/test-your-tests-are-testing/", "published_at": "2018-06-10T00:00:00+00:00" } ] posts Claim your blog
Back to backendtea.com
Blog · corpus.blog/blogs/backendtea.com/posts

backendtea.com

backendtea.com

2025

2024

24 Apr 2024

2022

2021

2020

2019

2018