Có bao giờ bạn tự hỏi tại sao mình lại "chịu" code PHP mà không chuyển sang những ngôn ngữ khác "sáng lẹm" hơn không? Hồi mới học, tôi nghĩ PHP là thứ gì đó cũ kỹ, toàn file .php lộn xộn, logic cứ lẫn vào HTML. Nhưng rồi OOP xuất hiện và thay đổi hoàn toàn cách tôi nhìn nhận về ngôn ngữ này.
Nhớ lại cái lần đầu tiếp xúc với Laravel sau khi đã code theo phong cách "spaghetti" với Composer chưa biết dùng đúng cách. Cảm giác như được sinh ra lần thứ hai vậy. Việc quản lý thư viện trở nên mượt mà đến không ngờ. Thay vì phải tải từng file .zip về, chỉ cần gõ lệnh composer require laravel/sanctum là mọi thứ tự động được resolve, dependencies được giải quyết. Nó giống như có một trợ lý ảo siêu thông minh vậy.
Tuy nhiên, nói về Symfony, tôi lại thấy nó kén ăn hơn. Laravel là cái bánh mì kẹp thịt ngon lành, ăn là say mê, còn Symfony giống như một bộ nguyên liệu cao cấp để bạn tự chế biến món ăn 5 sao. Tôi từng cố migrate một dự án lớn từ Laravel sang Symfony chỉ vì muốn tận dụng sức mạnh của Dependency Injection Container và các Component riêng lẻ. Kết quả là... đau đầu. Config file dài dằng dặc, cấu trúc quá nghiêm ngặt khiến việc thêm tính năng mới thành một bài toán hóc búa. Có những lúc tôi tự hỏi: "Mình cần một chiếc Ferrari hay chỉ cần một chiếc xe máy đi làm?"
Cốt lõi vẫn là tư duy OOP. Dù bạn dùng Laravel hay Symfony, nếu code không đúng hướng, không tách biệt rõ ràng giữa Model, Service và Controller thì vẫn là "mớ bòng bong". Tôi nhớ ngày ấy debug một lỗi 500 kinh hoàng, mất 3 tiếng chỉ để tìm ra một type error do sai kiểu dữ liệu trong một method private mà mình viết cách đây nửa năm. Cảm giác ức chế muốn vứt chuột đi.
Điểm hay nhất của hệ sinh thái PHP hiện đại là cộng đồng. Khi gặp lỗi, bạn gõ lên Google thì 90% trường hợp ai đó đã遇到过 và có solution ở Stack Overflow. Đó là lý do tôi vẫn yêu PHP, dù nhiều người vẫn nghĩ nó "hời hợt". Với tôi, PHP + Composer + OOP + Laravel/Symfony chính là sự cân bằng hoàn hảo giữa tốc độ và tính vững chắc. Bạn thì sao? Bạn đang "lụy" vào framework nào?