ايمن ميلاد نشر 10 سبتمبر 2024 أرسل تقرير نشر 10 سبتمبر 2024 (معدل) السلام عليكم ورحمة الله وبركاته ممكن شرح لهم الاثنين ومافاءدة منهم معا دكر مثال تم التعديل في 10 سبتمبر 2024 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Mustafa Suleiman نشر 10 سبتمبر 2024 أرسل تقرير نشر 10 سبتمبر 2024 لو أردنا التشبيه فتخيل أنك في مطعم، سيصبح (النادل Facade) أي الواجهة هي مثل النادل في المطعم، أنت تطلب منه الطعام (تستخدم الواجهة) دون الحاجة للذهاب إلى المطبخ بنفسك ومعرفة كيفية تحضيره، أي النادل يوفر لك واجهة بسيطة وسهلة للطلب. في حين المطبخ (Service Container حاوية الخدمات) هي مثل المطبخ في المطعم، حيث تحتوي على جميع الطهاة (الخدمات) والمكونات اللازمة لتحضير الوجبات (وظائف تطبيقك)، بالتالي لا تحتاج للدخول إلى المطبخ ومعرفة تفاصيل تحضير الطعام، بل تكتفي بالطلب من النادل. إذن هي بمثابة صندوق أدوات يحتوي على جميع الأدوات (الخدمات) التي يحتاجها تطبيق لارافل للعمل بشكل صحيح، وتلك الأدوات تشمل قواعد البيانات، نظام التخزين المؤقت، نظام إرسال البريد الإلكتروني، وغيرها الكثير. فلارافل تأتي مع مجموعة من الخدمات الجاهزة التي تُسَهّل تطوير التطبيقات وتلك الخدمات مُعرّفة مُسبقًا في لارافل وتُضاف تلقائيًا إلى حاوية الخدمات.، مثل: نظام قواعد البيانات Eloquent. نظام التخزين المؤقت Cache. نظام إرسال البريد الإلكتروني Mail. نظام المصادقة Authentication. وعند استخدام حزم لارافل الخارجية، تُسجّل تلك الحزم خدماتها الخاصة في حاوية الخدمات، وبتلك الطريقة، باستطاعتك استخدام خدمات الحزمة بسهولة في تطبيقك. وبإمكانك أنت إضافة خدمات إلى الحاوية لتنظيم منطق عمل تطبيقك وتطبيق مبدأ فصل الاهتمامات Separation of Concerns، ستجد تفصيل هنا: حاوي الخدمات (Service Container) في Laravel الأمر يسير كما يلي: تطلب من النادل (تستخدم الواجهة) عندما تريد خدمة معينة في تطبيقك، فأنت تستخدم الواجهة المخصصة لها. النادل يخبر المطبخ (الواجهة تصل لحاوية الخدمات) تقوم الواجهة بالتواصل مع حاوية الخدمات للحصول على الخدمة التي طلبتها. المطبخ يُحضر الطعام (حاوية الخدمات تُجهّز الخدمة) تعمل حاوية الخدمات على تجهيز الخدمة التي طلبتها مع جميع التبعيات اللازمة. النادل يُقدم لك الطعام (الواجهة تعود بالنتيجة) تقوم الواجهة بإرجاع نتيجة الخدمة التي طلبتها بطريقة مبسطة وسهلة التعامل معها. مثلاً لو تريد إرسال بريد إلكتروني من تطبيقك، فبدلاً من كتابة كود معقد للاتصال بخادم البريد الإلكتروني وإرسال الرسالة، فببساطة تعتمد على خدمة البريد الإلكتروني المتوفرة في حاوية الخدمات: use Illuminate\Support\Facades\Mail; Mail::to('user@example.com')->send(new WelcomeEmail()); 1 اقتباس
0 ايمن ميلاد نشر 7 يونيو الكاتب أرسل تقرير نشر 7 يونيو (معدل) انا تفرجت علي كورس تطوير تطبيقات الويب بلغة php تشرحون DB و eloquent ولكن تشرحون ماهي Facades ممكن توضيح ماهي معا ذكر مثال بسيط لكي اعرف ماذا استخدم وماهو بالضبط تم التعديل في 7 يونيو بواسطة ايمن ميلاد 1 اقتباس
0 محمد_عاطف نشر 7 يونيو أرسل تقرير نشر 7 يونيو بتاريخ 27 دقائق مضت قال ايمن ميلاد: انا تفرجت علي كورس تطوير تطبيقات الويب بلغة php تشرحون DB و eloquent ولكن تشرحون ماهي Facades ممكن توضيح ماهي معا ذكر مثال بسيط لكي اعرف ماذا استخدم وماهو بالضبط أولا إن Facade هو نمط من أنماط التصميم الهيكلية (Structural Design Pattern) وهو يستخدم بكثرة في البرمجة الكائنية التوجه حيث يوفير لك واجهة بسيطة وموحدة لمجموعة معقدة من الفئات أو الأنظمة الفرعية. ويتم إستخدامه عندما يكون لديك نظام معقد يتكون من العديد من الفئات التي تتفاعل مع بعضها البعض بطرق معقدة ويقوم نمط Facade بإخفاء هذه التعقيدات ويقدم واجهة أبسط لك . وفي إطار عمل لارافيل (Laravel) يتم إستخدام هذا النمط وتم إعطاء إسم Facade لتلك الواجهة حيث تعتبر Facades واجهات (Interfaces) توفر طريقة سهلة ومنظمة للوصول إلى الخدمات المسجلة في حاوية الخدمات (Service Container) باستخدام صيغة برمجية بسيطة تشبه استدعاء الدوال الثابتة (Static Methods) بدلا من التعامل مباشرة مع الكائنات أو الحقن اليدوي للتبعيات (Dependency Injection) وتتيح Facades وصول بسيط وسهل إلى الخدمات الأساسية في التطبيق دون الحاجة إلى معرفة كيف يتم ذلك في الخلفية والإبتعاد عن التعقيد. وFacades هي طبقة تعطيك وصول مباشر إلى كائنات الخدمات الموجودة في حاوية الخدمات وكل Facade هو واجهة لكائن معين يتم تسجيله في الحاوية مثلا خدمات قواعد البيانات والتخزين المؤقت (Cache) وإدارة الملفات والجلسات (Sessions) وغيرها.وهي تستخدم صيغة الاستدعاء الثابت (Static-like Syntax) مثل: Cache::get('key') // أو DB::table('users')->get() لكنها في الواقع ترسل الطلب إلى الكائن الأصلي في الحاوية وفقط تعطيك طريقة سهلة للوصول إليها. وتستخدم Facades في كثير من الأمور . فأولا تستخدم لإدارة قواعد البيانات: use Illuminate\Support\Facades\DB; $users = DB::table('users')->get(); لاحظ كيف وفرت لارافيل واجهة DB للوصول إلى خدمة استعلام قاعدة البيانات بسهولة دون الحاجة إلى الخوض في التفاصيل. ثانيا التخزين المؤقت (Cache): use Illuminate\Support\Facades\Cache; $value = Cache::get('key'); Cache::put('key', 'value', 60); // تخزين لمدة 60 ثانية فهنا وفرت لنا لارافيل واجهة لتخزين البيانات المؤقتة وتحسين الأداء. ثالثا إدارة الملفات: use Illuminate\Support\Facades\Storage; Storage::put('file.txt', 'Content'); هنا يمكننا التعامل مع الملفات وحفظها أو حذفها بسهولة دون الحاجة لمعرفة كيف يتم ذلك. إذا لا يجب عليك الإهتمام الكبير بها هكذا هي فقط نمط تصميم قام لارافيل بإستخدامه ووضع جميع تلك الواجهات في المسار Illuminate\Support\Facades وتوفيرها لك لتنفيذ الخدمات المعقدة في الخلفية وتوفير واجهة سهلة الإستخدام لك. 1 اقتباس
0 ايمن ميلاد نشر 7 يونيو الكاتب أرسل تقرير نشر 7 يونيو ممكن مثال بسيط علي router بما انه facades ممكن شرح علي services container و services provider كل شي ماذا استفيد ممكن شرح بالعامية 1 اقتباس
0 محمد_عاطف نشر 7 يونيو أرسل تقرير نشر 7 يونيو بتاريخ 5 دقائق مضت قال ايمن ميلاد: ممكن مثال بسيط علي router بما انه facades ممكن شرح علي services container و services provider كل شي ماذا استفيد ممكن شرح بالعامية Route هو ما تستخدمه في ملف web.php هكذا : use Illuminate\Support\Facades\Route; Route::get('/', function () { return view('home'); }); Route::get('/home', [HomeController::class, 'index']); بخصوص services container و services provider يمكنك قراءة التالي لمزيد من التفاصيل والتوضيح: حاوي الخدمات (Service Container) في Laravel 1 اقتباس
0 ايمن ميلاد نشر 7 يونيو الكاتب أرسل تقرير نشر 7 يونيو بتاريخ الآن قال محمد_عاطف: Route هو ما تستخدمه في ملف web.php هكذا : use Illuminate\Support\Facades\Route; Route::get('/', function () { return view('home'); }); Route::get('/home', [HomeController::class, 'index']); بخصوص services container و services provider يمكنك قراءة التالي لمزيد من التفاصيل والتوضيح: حاوي الخدمات (Service Container) في Laravel اقصد أليس route facades ممكن شرح كيف يعمل 1 اقتباس
0 محمد_عاطف نشر 7 يونيو أرسل تقرير نشر 7 يونيو بتاريخ الآن قال ايمن ميلاد: اقصد أليس route facades ممكن شرح كيف يعمل لم أفهم السؤال ؟ تقصد كيف يعمل في الخلفية أم ماذا ؟ إذا كان كذلك فنحن لسنا بحاجة لمعرفة كيف يعمل فهذا هو ميزة ال Facade يوفر لنا دالة تنفذ أمر معين ويمكننا إستخدام الدالة دون أن نعرف كيف يقوم لارافيل بذلك في الخلفية . ف Route يقوم بإنشاء مسارات وعناوين يمكنك الذهاب إليها . فكما في الكود المرفق أنشأنا مسار / ويقوم بإظهار ملف home.blade عند الذهاب إلى هذا المسار . وهكذا مسار home يقوم بالذهاب إلى متحكم HomeController وتنفيذ الدالة index . كل ما عليك الإهتمام به ومعرفته هو إستخدام Route في إنشاء المسارات 1 اقتباس
0 ايمن ميلاد نشر 7 يونيو الكاتب أرسل تقرير نشر 7 يونيو اخي محمد سؤال هل انا في خلال تعلم لارافيل ملزم بمعرفة كل مجلد ماذا يعمل او لا 1 اقتباس
0 محمد_عاطف نشر 7 يونيو أرسل تقرير نشر 7 يونيو بتاريخ 1 ساعة قال ايمن ميلاد: اخي محمد سؤال هل انا في خلال تعلم لارافيل ملزم بمعرفة كل مجلد ماذا يعمل او لا نعم بالطبع . ولكن في بداية تعلمك يجب عليك معرفة الأساسيات فقط حاليا. فمثلا يجب أن تعرف ماذا يفعل مجلد public و مجلد storage ومجلد app مثلا ومجلد config ومجلد database وهكذا . يجب عليك معرفة الأساسيات حيث لكل مجلد الإستخدامات والملفات الخاصة به فإذا لم تعرف ما فائدة كل مجلد فلن تعرف أين تقوم بحفظ الملفات الصحيحة وتشغيل المشروع بالشكل الصحيح. 1 اقتباس
0 ايمن ميلاد نشر 7 يونيو الكاتب أرسل تقرير نشر 7 يونيو بتاريخ منذ ساعة مضت قال محمد_عاطف: نعم بالطبع . ولكن في بداية تعلمك يجب عليك معرفة الأساسيات فقط حاليا. فمثلا يجب أن تعرف ماذا يفعل مجلد public و مجلد storage ومجلد app مثلا ومجلد config ومجلد database وهكذا . يجب عليك معرفة الأساسيات حيث لكل مجلد الإستخدامات والملفات الخاصة به فإذا لم تعرف ما فائدة كل مجلد فلن تعرف أين تقوم بحفظ الملفات الصحيحة وتشغيل المشروع بالشكل الصحيح. اخي محمد في لارافيل بسهولة يمكن عمل اشعارات وتظهر بدون تحديث صفحة ممكن توضيح كيف يمكن عمله في php وتظهر وقتي اقتباس
السؤال
ايمن ميلاد
السلام عليكم ورحمة الله وبركاته
ممكن شرح لهم الاثنين ومافاءدة منهم معا دكر مثال
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
10 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.