@jclermont@phpc.social
@jclermont@phpc.social avatar

jclermont

@jclermont@phpc.social

Organizer of Milwaukee PHP. Co-host of No Compromises #podcast. Helping #PHP and #Laravel developers level up their skills.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

jclermont, to Laravel
@jclermont@phpc.social avatar

Mockery has the ability to define custom matchers, which can really clean up your Laravel tests. Here's an example: https://masteringlaravel.io/daily/2023-10-11-use-custom-mockery-matchers-for-better-laravel-assertions #laravel #php

jclermont, to Laravel
@jclermont@phpc.social avatar

We share some behind the scenes process around our podcast and discuss a few times we were able to solve a problem without writing code. gasp it's true! #laravel #php https://show.nocompromises.io/episodes/maybe-you-dont-need-to-write-code-this-time

jclermont, to php
@jclermont@phpc.social avatar

Yes, I'm a bit of a PHPStorm fan boy. Here's another handy use for the Local History feature. #php #laravel https://masteringlaravel.io/daily/2024-05-02-another-helpful-use-for-local-history

jclermont, to Laravel
@jclermont@phpc.social avatar

Every package you install is a potential speed-bump for future upgrades. If you're integrating with a third-party API, you may not need to bring in a giant SDK. #laravel #php https://masteringlaravel.io/daily/2023-10-02-do-you-need-to-install-that-sdk

jclermont, to Laravel
@jclermont@phpc.social avatar

We pin Composer packages and PHP versions, but what about PECL extensions? Let me share a story about how I got burned recently. #laravel #php https://masteringlaravel.io/daily/2023-10-04-dont-forget-to-pin-pecl-extensions

jclermont, to Laravel
@jclermont@phpc.social avatar

If something is slow in your app, most times it's something with the database. Here are a couple common mistakes: how to detect them and how to fix them. #laravel https://masteringlaravel.io/daily/2023-08-22-something-slow-it-is-probably-the-database

jclermont, to php
@jclermont@phpc.social avatar
jclermont, to php
@jclermont@phpc.social avatar

Here's a quick write-up of why I avoid logic inside my tests #php #laravel https://masteringlaravel.io/daily/2024-05-14-avoid-logic-inside-your-test

jclermont, to php
@jclermont@phpc.social avatar

How much detail should you include in an error message? Do you consider it part of the user experience? #php #laravel https://masteringlaravel.io/daily/2023-10-24-how-much-detail-in-error-messages

jclermont, to Laravel
@jclermont@phpc.social avatar

This might seem pretty obvious, but especially in older applications, it takes real focus and diligence to "not make things worse" #laravel #php https://masteringlaravel.io/daily/2023-08-30-try-not-to-make-things-worse

jclermont, to php
@jclermont@phpc.social avatar

If you're using Valet's cool "isolate" feature along with Composer scripts, here's something to be aware of to make sure the right version of PHP is getting used. #php #laravel https://masteringlaravel.io/daily/2024-02-02-composer-scripts-and-valet-isolate

jclermont, to php
@jclermont@phpc.social avatar

What is the point of design patterns? And can we discuss this without putting you to sleep? Check out the latest episode of the No Compromises podcast. https://masteringlaravel.io/daily/2024-02-29-laravel-podcast-what-is-the-point-of-design-patterns

jclermont, to php
@jclermont@phpc.social avatar

Why I always add a primary key to many-to-many tables, even when Laravel doesn't require it. #php #laravel https://masteringlaravel.io/daily/2024-03-12-why-i-always-add-a-primary-key-to-many-to-many-tables

jclermont, to php
@jclermont@phpc.social avatar

You might need to do this a lot, but here is an explanation how to step debug a queued job. #php #laravel https://masteringlaravel.io/daily/2024-03-20-how-to-step-debug-a-queued-job

jclermont, to php
@jclermont@phpc.social avatar

Fresh off php tek last week, I'm reminded that conferences are so much more than just the talks. #php #laravel https://masteringlaravel.io/daily/2024-05-01-conferences-are-more-than-just-talks

jclermont, to php
@jclermont@phpc.social avatar

Ever run into a timeout from a Composer script in CI? Test coverage reports are a super common example for me.

Here's how to prevent that, along with a gotcha if you're calling scripts within scripts. #php #laravel https://masteringlaravel.io/daily/2024-05-21-disabling-composer-timeout-with-nested-scripts

jclermont, to php
@jclermont@phpc.social avatar

How do you test code you don't understand? We deal with this when joining legacy projects, but I recently found a novel solution involving fuzz testing. Super useful! https://masteringlaravel.io/daily/2024-05-31-how-do-you-test-code-you-dont-understand

jclermont, to php
@jclermont@phpc.social avatar

Tools improve our workflow, enforce consistency, or catch errors that might slip past a code review. But if we're not careful, sometimes we can let a tool start dictating things in our application that don't serve our goals. Check out the latest episode: https://show.nocompromises.io/episodes/tools-should-work-for-you-not-boss-you-around #php #laravel

jclermont, to Laravel
@jclermont@phpc.social avatar

Today's tip is more of a thought experiment: What if every Composer package had a fee? Would it change how many packages you pull into your projects? #laravel #php https://masteringlaravel.io/daily/2023-09-08-what-if-every-composer-package-had-a-fee

jclermont, to php
@jclermont@phpc.social avatar

Did you know MySQL changes the order of your keys when using a JSON field? I bumped into this one on a proof of concept reporting app I was building. #php #laravel https://masteringlaravel.io/daily/2023-12-08-dont-rely-on-key-ordering-of-mysql-json-values

jclermont, to php
@jclermont@phpc.social avatar
jclermont, to php
@jclermont@phpc.social avatar

Stop using $request->get(), there is a better way! #php #laravel https://masteringlaravel.io/daily/2024-01-12-stop-using-request-get

jclermont, to Laravel
@jclermont@phpc.social avatar

If you haven't listened yet, in just 12 minutes we explain a few reasons why we write "down" methods in our migrations. #laravel #php https://show.nocompromises.io/episodes/some-reasons-to-write-a-down-method-in-your-migrations

jclermont, to Laravel
@jclermont@phpc.social avatar

What does INT(11) mean in MySQL? Here's a hint: it has nothing to do with how big of a number you can store #laravel #php https://masteringlaravel.io/daily/2023-10-10-what-does-int-length-mean-in-mysql

jclermont, to php
@jclermont@phpc.social avatar

It's best practice to always use the config helper in our application code, except for one place: Don't use the config helper in config files.

Here's an explanation as to why. #php #laravel https://masteringlaravel.io/daily/2024-05-27-dont-use-the-config-helper-in-a-config-file

jclermont,
@jclermont@phpc.social avatar

@sarah Perhaps, but in practice the global function calling the app container has never caused any problems for me. And you definitely could inject the config repository where needed, it's just not conventional Laravel. I prefer sticking with conventions.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • tester
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • ethstaker
  • cisconetworking
  • rosin
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • Durango
  • DreamBathrooms
  • megavids
  • ngwrru68w68
  • normalnudes
  • modclub
  • Leos
  • love
  • osvaldo12
  • tacticalgear
  • mdbf
  • anitta
  • provamag3
  • cubers
  • GTA5RPClips
  • JUstTest
  • All magazines