الموقع حالياً تحت التطوير (Beta) 🚀. قد تلاحظ بعض التغييرات أو مميزات قيد العمل.
لارافيل درس تعليمي

شرح DTO في Laravel: كود أنضف وتنظيم أفضل للبيانات

Mohamed Shahin
Mohamed Shahin
Jan 09, 2026
2 دقيقة قراءة

Key Takeaways

  • تعرف على كيفية استخدام DTO في Laravel لكتابة كود أوضح، أكثر أمانًا، وأسهل في الصيانة من خلال تنظيم تدفق البيانات بين الطبقات.

Content (AR) #

## مقدمة

مع توسّع تطبيقات Laravel، التعامل مع arrays وبيانات غير منظمة بيبقى صعب في الصيانة والتطوير.
هنا بيظهر دور **DTO – Data Transfer Objects**.

DTO بيوفر طريقة واضحة ومنظمة لنقل البيانات بين طبقات التطبيق.

---

## يعني إيه DTO؟

الـ DTO هو كلاس بسيط:
- بيحتوي على بيانات فقط
- بدون أي business logic
- مسؤوليته الوحيدة نقل البيانات بشكل منظم

---

## مشكلة استخدام Arrays

الاعتماد على:
- `$request->all()`
- `$data['email']`

بيسبب:
- أخطاء وقت التعديل
- كود صعب القراءة
- مشاكل في الاختبار والصيانة

---

## ليه DTO أفضل؟

استخدام DTO بيقدم:
- ✔️ Type safety
- ✔️ تنظيم واضح للبيانات
- ✔️ دعم قوي من الـ IDE
- ✔️ Refactoring أسهل
- ✔️ Controllers أنضف

---

## مثال DTO في Laravel

```php
final class CreateUserDTO
{
    public function __construct(
        public string $name,
        public string $email,
        public string $password,
    ) {}
}

الاستخدام:

$dto = new CreateUserDTO(
    name: $request->name,
    email: $request->email,
    password: $request->password,
);




أفضل أماكن لاستخدام DTO

Service classes

Actions

API handling

Jobs

DDD architecture

----------------

الفرق بين DTO و Form Request

| المقارنة               | DTO | Form Request |
| ---------------------- | --- | ------------ |
| Validation             | ❌   | ✔️           |
| تنظيم البيانات         | ✔️  | ❌            |
| قابلية إعادة الاستخدام | ✔️  | ⚠️           |


--------------------
	
الخلاصة

DTO مش تعقيد…
DTO هو تنظيم، أمان، واستثمار طويل المدى في جودة الكود.

لو مهتم بـ Clean Code في Laravel، لازم تبدأ تستخدم DTO.

Want more content like this?

Explore more tutorials in the لارافيل section.

Explore لارافيل

You might also like

لارافيل
6 دقيقة قراءة

بايبر (Piper): إطلاق قوة مصفوفات وسلاسل لارافيل في PHP الخالصة باستخدام عامل الأنبوب

تُعد أساليب التعامل مع المصفوفات والسلاسل النصية بمرونة في لارافيل متعة حقيقية، حيث توفر طرقًا موجزة ومقروءة لتحويل البيانات. ماذا لو كان بإمكانك جلب نفس هذه ال...

May 23, 2026
اقرأ

Table of Contents