Amit Merchant
A blog on PHP, JavaScript, and more
PHPFrontend / CSS / browsersJavaScript / TypeScriptAI / MLEngineering blogs
- Posts
- 790 from 17 Jan 2019 to 20 Oct 2026
- Posting
- monthly (15 in the last year)
- Kind
- personal blog
- Feed
- https://www.amitmerchant.com/feed.xml
2026 11
- Snippets
- An online-first version control system in this agentic era
- A Practical Way to Check Your AI Search Visibility
- 7 Game-Changing Web UI Features You Can Start Using Today
- Build an AI Agent with Real‑Time Web Search in JavaScript
- WebMCP in Chrome (A 101 Guide)
- From Feature Branches to Agent Branches ft. Antigravity
- One CSS Property That Makes Numbers Look Instantly Better
- Real-world examples of using Laravel AI SDK
- Add UI sounds in your web apps in a heartbeat
- SVG Filters are just amazing!
2025 38
- The new clamp() function in PHP 8.6
- Partial Function Application is coming in PHP 8.6
- One CSS Trick to Eliminate Scrollbar Layout Shifts
- The modern way to draw squircles using corner-shape in CSS
- The new, standards‑compliant URI/URL API in PHP 8.5
- The new progress() function in CSS
- Seven Real-World Examples of Using the Pipe Operator in PHP 8.5
- Using the new session cache in Laravel
- A free and open-source alternative to Spatie's Ray to debug PHP applications
- Resize any DOM element using two lines of CSS
- if() function in CSS
- Chrome now has an AI Summarizer API built right in
- Automate PDF Generation from Custom Designs using Orshot
- Everything that is coming in PHP 8.5
- Stop Ignoring Important Returns with PHP 8.5’s `#[\NoDiscard]` Attribute
- Innovative Solutions for eCommerce — How Shopify Headless Works
- numerous free resources
- The best paid SVG icon resources that money can buy
- The pipe operator is coming to PHP 8.5
- The absolute fastest way to install PHP on your system in 2025
- Two new array methods are coming in PHP 8.5 — array_first() and array_last()
- Memoizing the cache in Laravel
- Preventing N+1 issues globally in Laravel using Auto Eager Loading
- The missing owns() method in Laravel's Eloquent
- Mac Apps That Power My Day
- The bare minimum you need to enable View Transitions on your website
- A Laravel package for docs conversion using LibreOffice
- The Importance of Software Modernization — Making Sure Organizations Remain Competitive
- The attr() function in CSS now supports types
- a way to encapsulate common queries
- The new withAttributes method for relationships and scopes in Laravel
- Introducing ConsolePad — The missing Notepad in Chrome DevTools
- Every AI Coding Agent in the Wild
- Some open-source and free Laravel SaaS Starter Kits
- Using Laravel Tinker in Chrome DevTools
- Manually setting the intended URL for routes in Laravel
- a whereRelation method
- Easier Relation Queries with New Eloquent Methods in Laravel 11.x
2024 84
- write better
- An open-source desktop playground for PHP
- Skip installing npm dependencies when deploying to Cloudflare Pages
- JavaScript Basics for Beginners — Simple Steps to Create Your First Program
- Native URI manipulation in Laravel
- How I create PDF and EPUB for my eBook using PHP
- Using non-conventional columns in Laravel's Migrations
- Dynamically build Mail, DB, and Cache configurations in Laravel
- Running multiple commands at once in a terminal using this Laravel Package
- Implementing interactive floating windows using Picture-in-Picture API
- deep copying objects
- How Document-oriented Databases Store Data Similar to JSON Objects
- Combine and simplify multiple commands using Composer Scripts
- Some great open-source alternatives to Postman
- Prohibit running destructive DB commands in Laravel
- A growing list of well built open-source apps in Laravel
- cpx — The npx counterpart of the PHP ecosystem
- Disable console logs in production in Next.js
- The magic behind Laravel's new defer() helper
- Temporary and Signed URLs for Local Filesystem in Laravel
- Make "git diff" look beautiful in the terminal
- Container Attributes in Laravel
- Inlay hints make it easy to read code in VS Code
- A package to easily backup database tables in Laravel
- this article
- Enabling Richer PWA Install UI on Desktop
- Using Human-friendly dates in Git
- Keeping a check on queries in Laravel
- Popover API 101
- Request fingerprints and how to use them in Laravel
- Separating Database Hosts to Optimize Read and Write Operations in Laravel
- Using Generics in Laravel Eloquent
- Launching MacTreasure.com
- Advanced Markdown using Extensions in Laravel
- A JavaScript snippet that sets all Lighthouse scores to 100%
- Finding cool Laravel developers using Laradir
- Multiply collections to fake bulk data in Laravel
- Implementing SaaS Usage Limits in Laravel
- Fetching before and after items from a Laravel Collection
- Interesting Public APIs to Play Around With
- 7 must-have packages for Laravel Developers
- Twitching Text
- Strict vs Weak types in SQLite
- I found the best native ChatGPT client for macOS
- Three ways to impersonate a user in Laravel
- Nested Anchor Links using CSS
- Never run composer update on your server
- Larafast — A Laravel SaaS Starter Kit
- The new freshly designed exception page in Laravel 11
- Sending mails using Resend in Laravel
- Centering content vertically with one line of CSS
- A little DevTools snippet to check broken links on a webpage
- A browser to take cleaner screenshots of websites
- PHP 8.4
- A few new array functions are making their way into PHP 8.4
- Cloning queries in Laravel
- Ignore and acknowledge class attribute on elements in CSS
- The new Quick Search Text in VS Code is Gooood!
- Scraping Google Web Search using ScraperAPI in PHP
- Return HTTP response as a collection (Effectively) in Laravel
- new features
- A free alternative to GitHub Copilot
- Talk to websites and PDFs with this free Chrome Extension
- RunJS — A JavaScript Playground on your desktop
- The fluent data helper in Laravel
- Spicing up text with text-emphasis in CSS
- Comparing a value against multiple columns the easy way in Laravel
- Efficiently deleting millions of records in Laravel
- Environment-aware Favicons
- Building Dynamic Progress Bars using only CSS
- Define Observers and Global Scopes using PHP's Attributes in Laravel
- The new "select" method for Laravel Collections
- Better help pages for commands in the terminal
- LocalSend — An alternative to AirDrop that works everywhere
- The new Dumpable trait in Laravel 11
- Sticky scroll in VS Code's File Trees
- An interactive font changer in VS Code
- Quickly inspect the database and its tables in Laravel
- How to return multi-line JavaScript code from PHP
- Fading content using transparent gradient in CSS
- APA-style titles in Laravel
- This tool lets you generate slides/keynotes with AI
- Stats
- Everything I'm using to run this blog
2023 163
- Installing Google Fonts as npm packages
- Tools to make your developer experience better in PHP
- Using abbreviations for long CSS properties in VS Code
- Cool wiggly hover animation with CSS
- Using Google's Gemini AI in PHP
- Convert HTML to PDF using Headless Chrome in PHP
- Detect leftovers like dd() and dump() in your Laravel codebase using Pest
- Using arrays as a lightweight database in Laravel
- Magically add animations to your web apps with AutoAnimate
- Auto-generate maintenance mode secret in Laravel
- Rendering a website inside GitHub Readme
- Real-time Application Performance Monitoring with Laravel Pulse
- Tools I use to create images of my code
- Using any large JSON as a lazy collection in Laravel
- Hollow text hover effect with only three lines of CSS
- Checking the type of a string in PHP
- What is a Proxy and Why You May Need It?
- previous articles
- The new Number utility in Laravel
- Scroll to validation errors in Laravel using Alpine.js
- Skip PHPUnit Tests Conditionally in PHP
- Web-based and collaborative terminal sharing with sshx
- CSS-Only Reading Progress Bar
- GitHub Copilot now generates AI Commit Messages
- Response Code Cheat Sheet for Laravel HTTP Client
- Upcoming CSS features to make your life easier
- Using environment variables in Next.js Frontend
- Portable PHP in the Browser using WebAssembly
- TablePlus — Is it the best GUI for databases on Linux?
- Scoped CSS lands in Chrome 118
- Finding the primary branch of a Git Repository
- The new light-dark() function to switch theme color in CSS
- Honor user's transparency setting in CSS
- HTTPS is not necessary in local development
- Local HTTPS for Next.js 13.5
- Prevent your Laravel application from various attacks using this package
- Keybindings to seamlessly hop between terminal and editor in VS Code
- Whatever happened to the Zend Framework
- The new take() method to form substrings in Laravel
- All the ways to turn an array into an object in JavaScript
- An introduction to Web Components
- Textareas with auto-increasing height using CSS
- tail logs in Laravel
- The many uses of "..." ellipsis operator in PHP
- Pail — A Laravel Package for Tailing Logs
- A macro to produce AP-style headings in Laravel
- Override Fetch/XHR response in Chrome DevTools
- Built-in port forwarding in VS Code
- Artisan command to generate views in Laravel
- Fail-safe way of accessing environment variables in Laravel
- Camel Humps in VS Code
- On-the-fly image transformations with Uploadcare in PHP
- Managing Git Hooks using Whisky in PHP
- All the ways to handle null values in PHP
- Explicitly marking subclass methods as "overrides" in PHP 8.3
- Pre-defined Absolute and Relative Sized Fonts in CSS
- JavaScript Playground in Your Browser
- Git Uncommit
- Benchmarking a callback and get its return value in Laravel
- Trying VS Code themes without installing them
- the introduction to Fibers
- A practical example of using Fibers in PHP
- Catppuccin — My new favorite VS Code theme
- this article
- A better setTimeout() in JavaScript
- The genesis of the "Hello World" programs
- Eloquent Strict Mode in Laravel
- The fastest way to switch between two branches in Git
- Transparent VS Code is a thing!
- What happens when you select count(*) in MySQL
- Things I write about
- Tabbing out of brackets and quotes in VS Code
- Using beautiful command prompts in Laravel
- Ensure type uniformity of a collection in Laravel
- Mixing colors to create variants in CSS
- Resume and pause animations in CSS
- An introduction to Laravel Folio
- Reading large CSV Files as a Collection in Laravel
- Useful keyboard shortcuts that work everywhere
- Enable hover conditionally in CSS
- Mass setting strict types to true using Laravel Pint
- The best RSS reader for Linux
- Vacation life before Smartphones
- Mock JSON API endpoints for Testing
- Lightsaber Borders in CSS
- Replace Accented Characters with their Plain English Counterparts in JavaScript
- All the places where you can use prefers-color-scheme media query
- trash — A safer alternative to the rm Command
- My early impressions of Threads app by Meta
- Using Bright Data's scraping browser to Scrape Web Pages
- Global HTTP middleware in Laravel 10.x
- Printing raw SQL queries with bindings in Laravel 10.x
- Identify unused npm packages in your project
- Statically analysing your PHP code using PHPStan
- Do not write console logs yourself ever again
- Balanced text wrapping is coming to css
- Text Wrap Pretty is coming to CSS
- Import maps to natively import JavaScript modules using bare names
- Publish but without any expectations
- The Midnight Companion
- has always been there
- Dock installable web apps in Safari macOS Sonoma
- Conveniently jumping to directories using Aliases in Terminal
- How to find mention of your website across the web
- Sass-like nesting in native CSS
- Validating specific timezones in Laravel
- I got access to GitHub Copilot Chat
- The new Sleep helper in Laravel 10.x
- Postcards from the trip to Kashmir
- Cloudflare tunnels for exposing local servers to the internet
- Piping system processes in Laravel
- Animated Space Background using plain CSS
- Suspending and putting a running process in the background in Linux
- Rollback a specific migration in Laravel
- Ping animation with minimal CSS
- Create non-existent files using VS Code
- Temporal intervals are handy in MySQL
- On breathing
- Using PER Coding Style with Laravel Pint
- Code explanation using GitHub Copilot
- Using existing HasMany relationships as HasOne in Laravel
- Checkered background using two lines of code in CSS
- An int(11) is not what you think it is in MySQL
- A Laravel macro for outputting possessive apostrophes correctly
- A handy File method to read JSON files in Laravel 10.x
- A tool to generate YouTube chapters in seconds
- A practical use case of anonymous classes in PHP
- How to stop a React component from rendering
- A little memoize function in PHP
- installed
- Create and download text files using JavaScript
- The pipeline helper in Laravel
- Change favicon on switching browser tabs in JavaScript
- Dynamic URLs with URI templates in Laravel
- Bold editor fonts? Yes, please!
- Today I Learned — font shorthand in CSS
- Animated gradient text in CSS
- Dry running Git commands
- Conveniently toggle and add Tailwind CSS classes in Chrome DevTools
- Building LinkSnatch — A bookmarks app with Next.js and Tailwind CSS
- Know why certain composer packages are installed in your project
- Store and fetch common application data in Next.js
- Style file selector button using CSS
- The new helper to generate secure passwords in Laravel 10.x
- A hurdle I faced while installing Laravel 10
- Change tab bar color dynamically using JavaScript
- Classless CSS Frameworks
- Put the secondary sidebar of VS Code to good use
- Why can not I access an updated state value in React immediately?
- Cycle through recent files without using arrow keys in VS Code
- Two ways to merge arrays in PHP
- Increment value of multiple columns at once in Laravel
- Two ways to safely break a long word in HTML
- Making existing code more readable using GitHub Copilot
- Copy last terminal command to clipboard in Linux and macOS
- The setVisible and setHidden Eloquent methods in Laravel 9.x
- Upgrade your PHP code to use PHP 8.2 features using Rector
- HTTPie — An HTTP client with a pinch of AI magic
- Useful macros to make Laravel routes compact
- install new extensions
- This GNOME extension lets you put text in menubar
- Easy shine animation on hover using CSS
- Attaching additional notes to a Git commit
2022 126
- temporarily save your changes
- Stashing individual files in Git
- Additional anonymous component paths in Laravel 9.x
- Extract every array keys to variables of the same name in PHP
- What's new in PHP 8.3 (Features and Improvements)
- Open-source tools I use as a developer on Linux
- Singleton routes for one-off resources in Laravel 9.x
- Take full-size screenshots of websites without any tools in Chrome
- PHP type declarations — A guide for beginners
- Handling images with inconsistent height in CSS
- Convert any value to a boolean in JavaScript
- New features of PHP 8.2 in Code Blocks
- Using development configuration for local development in Jekyll
- Bookmark frequently used folders in Ubuntu
- Tracking value of number inputs using CSS
- Ability to use Constants in Traits in PHP 8.2
- Firefox-only CSS
- Probability-based randomness using Lottery class in Laravel 9.x
- How to set user paths in Fish Shell
- I just self-verified my blog
- File validation rule object in Laravel 9.x
- Rendering specific fragment of a blade view in Laravel 9.x
- Generating slugs using one line of code in JavaScript
- Expose local directories to network devices in Node.js
- Human-readable date difference in JavaScript
- Why send User-Agent while making API calls?
- Resolving middlewares statically from controllers in Laravel 9.x
- The new alternative mailable syntax in Laravel 9.x
- The true type in PHP 8.2
- Aliasing destructured variables in JavaScript
- The new json_validate() function in PHP 8.3
- VS Code Timeline — Your local version control system
- Encrypting and decrypting environment files in Laravel 9.x
- How to return multiple values from a function in JavaScript
- how to conditionally spread objects in JavaScript
- Rest vs Spread syntax in JavaScript
- Toggling state of the checkbox based on the viewport width in JavaScript
- Discard Eloquent model changes in Laravel 9.x
- Converting PNG images to WebP using PHP
- Running shell commands is dangerously simple in PHP
- Enabling password suggestions in password inputs in HTML
- Why Developers Choose Cloudways For Laravel Hosting
- Sticky scrolling in VS Code
- A simple clamp() function in PHP
- Better conditionals in CSS media queries with Range Syntax
- Check which Composer dependencies requires PHP 8 or 8.1
- Capturing images and videos from the camera of mobile devices using HTML
- Making glowing focus state for text input using CSS
- Accessing Laravel documentation from the terminal
- Finding security vulnerabilities in packages using Composer Audit command
- How to select the least number of elements in CSS
- Retrieve the current PHP version as an integer
- The artisan about command in Laravel 9.x
- New invokable rule objects in Laravel 9.x
- CSS that depends upon JavaScript
- Using key prop to reset React components
- Natural debouncing using the useDeferredValue hook in React 18
- The global faker helper in Laravel 9.x
- Do cleanup from useEffect in React.js whenever possible
- Plural strings based on the count in Laravel
- Detecting slow database operations in Laravel 9.x
- Keeping track of the last value of state in React.js
- How to validate JSON in Laravel
- Make DevTools pick colors outside of Chrome
- Expose local Vite instance to the network
- How to checkout Git branches interactively
- How to use Git Log command efficiently
- The new Performance Insights panel in Chrome Dev Tools
- Dark-mode aware scrollbars using CSS
- Making headers sticky using CSS for a better reading experience
- Array to object conversion in JavaScript
- Conditionally loading CSS or any resource using media queries
- Reduce array of objects to an object in JavaScript
- Unpack arrays conditionally in PHP
- Implementing Focused Reading Mode on My Blog
- how to convert arrays to human-readable lists in JavaScript
- The new Arr::join() method in Laravel 9.x
- Boolean toggle using useReducer hook in React.js
- The new findOr method in Laravel 9.x
- readonly properties
- Readonly classes in PHP 8.2
- Effectively rendering lists in React.js
- Null and false can be used as stand-alone types in PHP 8.2
- Send emails to a single test email address for test environments in Laravel
- Override default 404 behavior in Laravel
- Calculate age from the specified date in Carbon
- Generate fake files of any size in macOS and Linux
- The new squish() helper in Laravel 9.x
- Image Borders in CSS
- The accent-color CSS Property is Now Widely Supported by Modern Browsers
- Wrap string with other strings fluently in Laravel 9.x
- HTML-only Keyboard Shortcuts
- Implementing scroll snap using only three lines of CSS
- Clear all kinds of caches with a single command in Laravel
- Console Logging the Right Way
- Check if an array of objects contains a certain key-value in JavaScript
- Refactoring conditionals to callables in PHP
- Using value of state variables right after updating in React.js
- Auto dark mode origin trial of Chrome
- Curried event handlers in React.js
- The new whereNot method in Laravel 9.x
- Safely convert any value to boolean in PHP
- Array.map() vs Array.forEach() in JavaScript
- An Ultimate Guide to Web Application Security
- Auto implemented properties in TypeScript
- Auto assigning unique key to each child of a list in React
- Unlimited function parameters using Rest in JavaScript
- Minimizing Google Fonts by Only Loading it for Certain Characters
- Avoid relative import paths in TypeScript
- Fetch all the available time zones in PHP
- The new str() and to_route() helpers in Laravel 9
- Why radio buttons are called radio buttons in UIs?
- Rebasing PR branches right from GitHub.com
- How to use Collections outside of Laravel
- Swapping multiple keywords in a string in Laravel
- Checking if the user is on the last page of pagination in Laravel 8.x
- Cherry picking commits in Git
- Implementing dark mode using Tailwind 3.0
- Trigger CI/CD deployments using empty Git Commits
- Grouping routes by controllers in Laravel 8.x
- Reverting back to the original model instance in Laravel
- Increasing Productivity with Omni — The Alfred of Chrome
- Displaying currency made simple in JavaScript
- Quickly switch to new branch with unstaged changes in Git
- Hide an image entirely when it does not load in HTML
- Fetch commit logs of certain function or method in Git
2021 117
- Image magnifier using only one line of CSS
- Improved single-method accessors and mutators in Laravel 8.x
- My Recap of 2021
- Destructure a specific index of an array in JavaScript
- Invisible MySQL columns in Laravel 8.x
- Handy methods for unauthorized and forbidden responses in Laravel 8.x
- Clone repositories without the entire history in Git
- Prevent Image Layout Shift Using CSS
- Your First Commit Ever
- How to Retrieve The Oldest Commit of a GitHub User
- New undot() and reverse() methods in Laravel 8.x
- Render CSS Based on The Browser Support for Features
- Intersection types in PHP 8.1
- Quickly convert the PHP 8 codebase to use PHP 8.1 features
- Enable bracket pairs guide in VS Code
- Allow mass assignment for all the models in Laravel
- Run multiple awaits in parallel using Promise.all()
- Gradient-y text underlines using CSS
- Automatically remove models using Prunable trait in Laravel 8.x
- Get the size of the subdirectories and files in Linux
- Mask part of a string in Laravel 8.x
- Remove local branches which don't have remote counterparts in Git
- Render Images Based On Dark or Light Theme Of The Device
- How vscode.dev Interacts With User's Local Filesystem?
- Gradient-y Box Shadows in CSS
- Make any string studly case using Str::headline() in Laravel 8.x
- Track Git-style local changes in Chrome Dev Tools
- First-class callables in PHP 8.1
- Throwing response exceptions conditionally in Laravel 8.x
- Check if a PWA is opened as a standalone app or not
- Dry running Composer update without actually updating dependencies
- Simple blinking cursor animation using CSS
- Always destructure your component props in React.js
- Custom thumbnails for native video element in HTML
- Retrieve request URL without specific query parameters in Laravel
- Prevent object extension — Object.freeze() vs Object.seal() vs Object.preventExtensions()
- Abort a fetch request manually in JavaScript
- How to get class instance without a constructor in PHP
- Graceful error handling using Error Boundaries in React.js
- constructor property promotion
- Initialize objects right into the constructor parameters in PHP 8.1
- A cool helper function to check if anything is blank in PHP
- Designing websites keeping floating tab bar of Safari 15 (on iOS) in mind
- Position children elements in the parent absolutely using CSS
- RegEx simplified with named capture groups in JavaScript
- Getting subsets of validated data in Laravel 8.x
- Why choose React Native for your business?
- Avoid relative import paths in React.js using Webpack aliases
- Conditional validation rules in Laravel 8.x
- console.trace — A better alternative to console.log
- Using compact and tidy Git Log
- Print media style drop caps using only CSS
- Filter certain values from the output of JSON.parse() method
- Quickly search keywords in your projects using Git Grep
- The new @class Blade directive in Laravel 8.x
- Break HTML content into newspaper-like columns using pure CSS
- Outputting Eloquent query unparameterized in Laravel
- Get all the changes applied by model updates in Laravel
- How to represent the number of days in natural language in JavaScript
- Checking if array keys are out of order using array_is_list() in PHP 8.1
- Global contextual logging in Laravel 8.x
- Artisan command to prune stale jobs in Laravel 8.x
- Send notifications to non-users of your application in Laravel
- Numerical literal separator for better readability in PHP
- Constructor assignment of field variables in TypeScript
- The new startTransition API to offset expensive renders in React 18
- Get your website ready for new tab bar theming of Safari 15
- Conditionally executing callbacks using Conditionable trait in Laravel 8.x
- Blade stringable to handle objects centrally in Laravel 8.x
- Refresh maintenance mode page automatically in Laravel 8.x
- Supercharged and clutter-free data fetching using React Query
- Quickly switch between recent branches in Git
- Variable-length function arguments using spread token in PHP
- Quickly sudo-ing the previous command in Bash Shell
- extend some of the classes’ functionality
- Estimated reading time macro in Laravel
- Update URL query parameters as you type in the input using JavaScript
- this dedicated page
- Creating Keyboard shortcuts of combination of keys in JavaScript
- previous article
- Verify if entered password is compromised in data leak or not in Laravel 8.x
- List down outdated npm packages in your project
- Zipping up multiple arrays using array_map in PHP
- Asynchronous HTTP client requests are coming in Laravel 8.x
- Add auto-completion in Bash terminal using Fish shell
- Function properties in JavaScript
- Quick tip - Using lightweight pagination in Laravel
- Delay dispatching actions in Redux using Thunk middleware
- The prohibited validation rule in Laravel 8.x
- How to specify default value for props in React.js
- Best Ways to Learn How to Code
- Moving to a privacy-focused and open-source comment system on my blog
- Cleaner exception handling using rescue() helper in Laravel
- How to get system timezone for macOS and Linux in PHP
- Seeding model rows based on the user input in Laravel
- How to use HTML with CSS inside SVG
- Dry running Laravel migrations before actually migrating them
- Update state of component from other components using React hooks
- Remove or omit object properties without mutation in JavaScript
- Retrieve HTTP response as a collection in Laravel 8.x
- Adding lines conditionally in Laravel's Mail notifications
- Mutation-free JSON column updation using AsArrayObject Eloquent cast
- Publish now, fix later
- Limit the number of returned segments in PHP's explode()
- native enums
- Tappable and pipeable fluent strings in Laravel 8.x
- Array unpacking with string keys coming in PHP 8.1
- Smartly auto-correct commands in Git
- Retry operations with high probability of failure in Laravel
- The query builder's sole() method to validate multiple records in Laravel 8.x
- A little known artisan command that can inspire you
- How to prevent overlapping of jobs in Laravel
- Difference between React.Component and React.PureComponent
- Method overloading in PHP
- Artisan command to use model instance in controller actions in Laravel
- Three lines of CSS to center anything horizontally and vertically
- Get native type of a variable using get_debug_type() in PHP 8
2020 174
- Aliasing polymorphic types in Laravel's Eloquent
- Stories of how softwares/products got their name
- Using throw as an expression in PHP 8
- Crawl external websites and perform actions using Symfony's BrowserKit
- Discover every CSS grid on an HTML page using Chrome
- List scheduled commands in CLI in Laravel 8.x
- Monitor a Laravel App with Scout APM (Sponsor)
- Why You Should Use JavaScript for Game Design
- Delaying notifications channel-wise in Laravel 8.x
- implement
- Implementing pinned posts in Jekyll
- Get up and running with Laravel blazing fast using Sail
- Make PHPUnit test reports more detailed using TestDox
- Run or exclude certain tests in PHPUnit
- The get_class() alternative in PHP 8
- Execute code outside of transaction only when it commits in Laravel 8.x
- match expressions
- nullsafe operator
- attributes
- Artisan command to connect to the database in CLI in Laravel 8.x
- Why you should always commit the composer.lock file
- Exciting new features and improvements in PHP 8
- Throttling submission of form in Laravel
- Monitor logs in Laravel Telescope in production environment
- Using MySQL explain for queries in Laravel 8.x
- Simple and lightweight scaffolding using Breeze in Laravel 8
- My first PR in laravel/framework that got merged!
- Loop over and include Blade views simultaneously using @each in Laravel
- Using .htaccess to access environment variables in PHP
- Generate temporary URLs of AWS S3 files in Laravel
- How to upgrade legacy codebase to use PHP 8.0 features using Rector
- Composer 2.0 — How to upgrade and features overview
- Custom Eloquent collections to make queries more readable in Laravel
- Insert or update multiple records using upsert in Laravel 8.x
- Convert HTML to PDF like a pro using DocRaptor API (Sponsor)
- How to use .env values in Laravel Envoy
- Gracefully installing global Composer libraries
- Binding additional information to views using composers in Laravel
- Extending Validator facade for custom validation rules in Laravel
- Resolving dependencies conditionally using service container in Laravel
- Short functions could be coming in PHP 8.1
- Laravel Ecosystem Jargon
- Why you should use laravel queues
- Catchable queued closures in Laravel 8
- Import and export only a function under namespace in PHP
- How to pull GitHub repositories as Composer packages in PHP
- an entire article
- How to use Laravel 7.x model factories in Laravel 8
- Prevent spammy form submissions by bots using this Honeypot technique in PHP
- How to use Laravel 7 style controller route definitions in Laravel 8
- you could do it
- New RateLimiter facade for defining named rate limiters in Laravel 8
- in this article
- customizable maintenance mode views
- Access application in maintenance mode using a secret token in Laravel 8
- Dynamic blade components in Laravel 8
- My workflow for publishing articles
- Named function arguments in JavaScript
- Re-usable Blade components for Laravel projects using Blade UI Kit
- Refactor related macros to classes using Mixins in Laravel
- Type annotate arguments for subset of a given type in TypeScript
- Difference between Export and Export Default in TypeScript
- certain features
- Using simple yet effective caching for Laravel queries
- Define relationships outside of Eloquent models in Laravel
- How to detect fullscreen mode using CSS
- Fetch count of records for children relationships in Laravel Eloquent
- The difference between for...in & for...of in JavaScript
- Making my VS Code minimal and distraction-free
- Live reload local Jekyll site in browser on file changes
- Expose your local websites to the internet using this open source tool in PHP
- Accessing private methods and properties outside of class using reflection in PHP
- How to group where constraints in Laravel Eloquent
- How to create a two column layout using Flexbox in CSS
- in this article
- Set default value for attributes in components using @props directive in Laravel
- TypeScript's private modifiers Vs. ECMAScript's hash(#) private fields
- Check for the application environment in Laravel views
- How to check if the API call is failing using Fetch in JavaScript
- Creating your own custom conditional directives in Laravel Blade
- Things to consider before using arrow functions in JavaScript
- Remove event listener once it's invoked in JavaScript
- Freeze scroll on arrow key up or down using JavaScript
- How I implemented a Konami easter egg on my blog
- Using JavaScript-style Promises in PHP
- Check if the specific service provider is loaded or not in Laravel
- Push to newly created branch without creating an upstream branch in Git
- Make function parameters required in vanilla JavaScript
- Using Chrome DevTools as a secret code editor
- Proposed named arguments in PHP 8
- Lesser known Composer tricks and tips you should know
- How to include HTML files in Jekyll
- The secret way to type-check JavaScript in VS Code
- A Beautiful Dream
- Make repetitive CSS compact using :is() pseudo-class function
- This experimental CSS Overview feature of Chrome is awesome
- The many ways to take screenshots on Ubuntu
- Get your blog running in seconds with Jekyll in 2020
- Change URL query parameters using JavaScript
- The mixed type of PHP 8
- Tracking model attribute changes in Laravel
- Refactor conditions to a method for better readability in PHP
- These new string functions are coming in PHP 8
- Find the extension of files without extension in Laravel
- Non-capturing exception catches in PHP 8
- Try not to use ad blockers, please!
- Showing current Git branch for the project in command prompt
- My absolute favorite VS Code extensions - June 2020
- Detect device's OS in JavaScript
- Strict typing vs. Weak typing in PHP
- Emulate enum-like behavior using string literal types in TypeScript
- Conditionally validate request fields in Laravel
- Strictly check for null and undefined values in TypeScript
- Convert long numbers to short and compact form in JavaScript
- How to do type-casting in TypeScript
- Using GitHub password in terminal when 2FA is ON
- Validating Laravel requests using rule objects
- Detecting if device is online or offline using plain JavaScript
- Drag and drop files using only JavaScript
- Node.js vs Deno — A high-level comparison
- How to install Deno on Ubuntu (Linux)
- Search through the history of commands in terminal
- Components with inline templates in Vue.js
- Unpacking inside arrays using spread operator in PHP
- Detecting device color scheme automatically in JavaScript
- Using ::class static class keyword in PHP
- How to pull a composer package in a Laravel project locally
- Select React element type using general expressions
- How to implement wrapper classes in PHP
- Null coalescing assignment operator in PHP
- Using custom class as a Facade in Laravel
- Create your own custom Blade directive in Laravel
- Auto discovery of events in Laravel
- Listen to multiple events in a single class in Laravel
- Using different mail drivers dynamically in Laravel 7.x
- Make images clickable in Jekyll
- Log messages directly into the console using Logpoints
- The Ultimate Crossover
- Post data using streams in PHP
- Immediately Invoked Function Expression in PHP
- Named slots in Blade components in Laravel 7.x
- Best VS Code Dark Themes - 2020 Edition
- What's the use of Blob object in JavaScript?
- Reordering the sort order on queries in Laravel 7.x
- Benefits of using custom exceptions in PHP
- Using arrow functions in PHP 7.4
- Constructor property promotion could be coming to PHP
- Custom validation rules and messages in Laravel form requests
- Customizable artisan stubs in Laravel 7
- Fluent string operations in Laravel 7
- Route model bindings using custom columns in Laravel 7
- Computed properties and methods in PHP
- Multiple constructors in PHP
- Bookmarks feature in PhpStorm is truly a saviour
- Using whereNull and whereNotNull in Eloquent Collection in Laravel
- Remembering what spaceship operator do on comparison in PHP
- Using register_shutdown_function() instead of desctructor in PHP
- Convert request parameters to boolean in Laravel
- Some lesser known facts of Traits in PHP
- Add view within another view in Blade Laravel
- When to use finally in exception handling in PHP
- Global view data for all actions in Laravel Blade
- Add additional attributes in request in Laravel
- My Coding Playlist
- Little trick to loop through class properties in PHP
- Verify if email is from a valid domain in PHP
- Identifying even and odd iterations in Laravel Blade
- Authenticating certain controller methods in Laravel
- This blog is my playground
- Check unless condition in custom if blade directive in Laravel
- Using objects as arrays (with a real world example) in PHP
- Be like a Terminator
- Validating dependent attributes in Laravel request
- Asynchronous for loops in JavaScript
2019 6
Undated 71
- Blogroll
- Sign my Guestbook
- Places
- Automatically bind ES6 class functions in callbacks in React
- Premature optimization is dangerous
- Method chaining in PHP in a nutshell
- Why to choose Jekyll for blogging over other platforms
- Refactor eloquent queries using higher order messages in Laravel
- Things I did to improve my blog over years
- Top features of PHP 7.4 Explained!
- My favorite PhpStorm tricks and tips that I use daily
- Attach, detach and sync many-to-many relationships in Laravel
- Dependency Injection vs. Dependency Injection Container in PHP
- Nullable types in PHP 7.1
- The most easiest and clean way to unset a cookie in PHP
- Drop tables, types and views using wipe artisan command in Laravel 6
- Reviewing Chernobyl - The HBO miniseries
- Adding password confirmation on certain routes in Laravel
- The difference between 'elseif' and 'else if' in PHP
- Using GitHub as a Content Delivery Network
- How to utilize Capsule to use Eloquent ORM outside Laravel
- Building API endpoints in Magento2 from scratch
- How to pick topics for tech blogging
- Using Lazy Collections on memory-hungry operations in Laravel 6
- Built-in password hashing and verification in PHP
- The native ad blocker in Chrome you don't know about
- Supercharge array operations using Set in JavaScript
- Process model records in chunks in Laravel
- Better error handling in core PHP functions using Safe PHP
- A look into Getters and Setters in JavaScript
- Late static binding in PHP - What, How & When
- Understanding Constructor and Method dependency injection in Laravel
- A deep dive into Generators in PHP
- Get grandparent instance of certain class in PHP
- Fetch and calculate tax details anywhere within Magento 2
- Serialize Closures in PHP using this neat package
- Fetch results based on the existence of the relationship in Laravel Eloquoent
- Conditional attributes and relationships in Laravel Resources
- Reusable code snippets using Live Templates in PHPStorm
- Codelobster IDE - A free PHP, HTML, CSS, JavaScript editor (Sponsor)
- A closer look at Invokable classes in PHP
- Logout from every devices except the currently logged in one in Laravel
- PHP 7.4 will support first-class property type declarations
- Laravel Route Model Bindings - Implicit Vs. Explicit Binding
- Attribute casting in Laravel Eloquent
- JavaScript functions' implementation inspired by PHP and Laravel
- Implement Invite-only registrations using Laravel's signed URLs
- Fetching dynamic attributes for models on-the-fly in Laravel
- Eventual consistency illustrated!
- Happy 30th dear web!
- Introducing Reverie - A ridiculously elegant Jekyll theme for blogging
- Get all admin users as an array in Magento 2
- Packages to make your Laravel development experience awesome.
- Best VS Code themes - January 2019
- Build your own Laravel artisan commands for your project
- How to subscribe at amitmerchant.com
- 5 must have things for your Jekyll powered blog
- Top fetaures of PHP 7.3
- How my simple notepad app went from zero to 10k users monthly
- My current setup (2018 edition)
- Array destructuring in PHP
- The ideal Git workflow
- My favorite VS Code themes for September 2018
- Using private repositories as a composer package in PHP
- TIL - How to fix embedded scripts in Progressive Web Apps
- Laravel - Accessors & Mutators
- Laravel Eager Loading - load() Vs. with()
- TIL - Using "Box Model" of Chrome Dev Tools
- Building a simple offline-capable Notepad app using ServiceWorker
- Getting started with Electron
- Hello world!