تحديث لـ Laravel يتيح إرجاع الصور مباشرة من الـ Routes مع تغيير حجمها عند الطلب
يضيف Laravel 13.25 إمكانية إرجاع كائن Image مباشرة من الـ route، ما يتيح بناء endpoints لتغيير أبعاد الصور لحظة الطلب. وتشمل الواجهة المذكورة استخدام fromStream وtoFormat، مع إمكانية ضبط ترويسات التخزين المؤقت (cache headers).
أبرز النقاط
- Laravel 13.25 يسمح بإرجاع Image مباشرة من الـ route.
- يمكن بناء endpoints لتغيير حجم الصور عند الطلب.
- تُستخدم `fromStream` لقراءة الصورة من stream ضمن مسار المعالجة.
- تتيح `toFormat` إخراج الصورة بصيغة محددة.
- يمكن إضافة cache headers لاستجابات الصور الديناميكية.
يقدم Laravel 13.25 طريقة جديدة للتعامل مع الصور داخل التطبيق: يمكن للـ route الآن إرجاع Image مباشرة، بدلاً من الاكتفاء بإرجاع HTML أو JSON أو استجابة ملف مُعدّة مسبقاً.
الفكرة العملية هي بناء endpoint للصورة يعالجها عند وصول الطلب. يمكن مثلاً قراءة الصورة من stream عبر fromStream، ثم تغيير أبعادها، وتحويلها إلى صيغة مناسبة باستخدام toFormat، وإرسالها كاستجابة من المسار نفسه.
هذا يفتح المجال لروابط صور ديناميكية تُنتج النسخة المناسبة عند الطلب، مثل صورة مصغرة أو نسخة بأبعاد محددة لواجهة معينة. كما يشير التحديث إلى دعم cache headers، وهي نقطة مهمة عندما تُقدَّم الصورة من endpoint ديناميكي لأن المتصفح أو طبقات الـ CDN تستطيع إعادة استخدام الاستجابة وفق سياسة التخزين المؤقت التي يحددها التطبيق.
الميزة متاحة ضمن Laravel 13.25، وتترك للمطور تصميم قواعد المعالجة والأبعاد والصيغ وسياسات الـ cache بما يتناسب مع التطبيق.
لماذا يهم؟
تقلل هذه الإمكانية الحاجة إلى فصل بسيط بين route لمعالجة الصورة وطبقة أخرى لإرسالها، وتمنح تطبيقات Laravel طريقة مباشرة لبناء image endpoints ديناميكية. كما أن دعم cache headers يجعل هذا النمط أكثر ملاءمة للصور التي تُطلب مراراً من المتصفح أو عبر CDN.