Profile    Mohammed Shiroz Status   Loading  
Logo
Share This

My php
blog and Updates

It's my personal blog and my post about what was my interested in. Not regularly. If you have any questions any discussion, I'm happy you get in touch with me, and try to answer as many as possible!

Blog
Let's See
Back to blog
Filter by:
Tags
//Article

Laravel Validation Rules You're Probably Not Using (But Should Be)

Laravel Validation Rules You're Probably Not Using (But Should Be)

Blog Summary

Most Laravel apps validate with required, string and max, then hand-code the rest in controllers. Unique-ignore, scoped exists, sometimes, bail, prohibited_if, Password and enum rules do it better. Each one with the problem it solves.

Read more
  • 70
  • 149
  • 13

Big O Notation for Working Developers: Finding the Loop That Doesn't Scale

Big O Notation for Working Developers: Finding the Loop That Doesn't Scale

Blog Summary

Big O isn't interview trivia. It's the reason code that handles 200 rows times out at 20,000. Here's a practical guide with real examples: hidden nested loops, database indexes, N+1 queries, and when it doesn't matter.

Read more
  • 75
  • 46
  • 12

Clean Controllers in Laravel: Actions, Services or Form Requests?

Clean Controllers in Laravel: Actions, Services or Form Requests?

Blog Summary

Every Laravel project has that 90-line controller method. Here's how to refactor it step by step with Form Requests, single-action classes and invokable controllers, and a simple rule for where each piece of logic belongs.

Read more
  • 35
  • 140
  • 19

Nginx vs Apache for PHP Apps: What Actually Matters in 2025

Nginx vs Apache for PHP Apps: What Actually Matters in 2025

Blog Summary

Nginx earned its reputation against Apache with mod_php, but with PHP-FPM on both the gap shrinks. Here's what really differs, the .htaccess trap when you migrate, and a Laravel-ready Nginx config.

Read more
  • 102
  • 38
  • 17

Mass Assignment in Laravel: The Bug Hiding in Your create() Call

Mass Assignment in Laravel: The Bug Hiding in Your create() Call

Blog Summary

One extra field in a registration request, is_admin=1, and a stranger is an administrator. How mass assignment works in Laravel, why $guarded = [] plus $request->all() is a trap, and the habits that close the hole.

Read more
  • 137
  • 21
  • 3

TypeScript for PHP Developers: The Parts That Actually Matter

TypeScript for PHP Developers: The Parts That Actually Matter

Blog Summary

PHP checks your types while the code runs. TypeScript checks them before it runs, then throws them away. That one difference explains almost everything a PHP developer needs to know about TypeScript.

Read more
  • 15
  • 126
  • 17

01. About Shiroz

Mohammed Shiroz

Hi, I'm Mohammed Shiroz, a software engineer and AI enthusiast from Sri Lanka who turns ideas into intelligent, real-world solutions. With over 9 years of hands-on experience, I currently lead real estate ERP development at Kate Group, a...

03.My Projects

04. Categories

Ready To Start Your Project ?

Get in Touch
Close