لارافيل درس تعليمي

شرح 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

Table of Contents