اذهب إلى المحتوى

Emad Saif

الأعضاء
  • المساهمات

    205
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    1

كل منشورات العضو Emad Saif

  1. أكد في كثير من الأكواد يتم إستعمال this$ للوصول إلى توابع أو خواص من نفس الصنف، ولكن مؤخرًا قرأت بعض الأكواد التي يتم فيها إستعمال self أيضًا: <?php class MyClass { // ... function myMethod() { echo self::total_member; } } متى يجب أن أستعمل this$ ومتى أستعمل self؟
  2. أسمع في كثير من الأحيان المصطلحين function و method، ولكني لا أفهم الفرق بينهما. هل يمكن لأي شخص تقديم شرح بسيط للفرق بين الدالة function والتابع method في البرمجة الكائنية OOP؟
  3. بفرض أن لدي كائن Object يحتوي على بعض الخصائص properties والتوابع methods : let user = { "age": 19, "email": "emad@gmail.com", "firstName": "Emad", "lastName": "Saif", getFullName() { return this.firstName + " " + this.lastName; } }; console.log(user.age); // 19 كيف يمكنني حذف أحد هذه الخصائص أو التوابع الموجودة في الكائن بشكل صحيح؟
  4. عندما نقوم بعمل تابع Method في صنف ما Class فإننا نقوم بتحديده كـ public أو private أو protected: <?php class User { public function SayHi() { //^^^^^^ ... } } لماذا علينا كتابة هذه الكلمة وما الفرق بين public و private و protected؟
  5. عندما أقوم بعمل صنف Class يمكنني عمل تابع ساكن Static Method في هذا الصنف، ولكن كيف أقوم بعمل توابع ساكنة عندما أقوم بعمل دالة بانية Constructor Function بالشكل التالي: function User(name, email) { this.name = name; this.email = email; } User.sayHi(); // كيف أقوم بعمل مثل هذا التابع أريد أن يتم عمل تابع ساكن Static Method بحيث يتم إستدعائه بدون عمل كائن جديد (عبر الكلمة المفتاحية new)، كيف أقوم بهذا الأمر؟
  6. لاحظت أنه يمكن عمل توابع بأكثر من طريقة في الصنف الواحد Class وأريد أن أعرف ما هو الفرق الأساسي بين التوابع العادية والتوابع الساكنة Static Methods؟ ومتى أستعمل كل نوع منهما؟
  7. عندما أقوم بعمل دالة بانية constructor وأريد أن أجعلها تأخذ بعض المدخلات inputs يجب أن أستعمل this بالشكل التالي: function User(name, email, age) { this.name = name; this.email = email; this.age = age; console.log("user created with name", this.name); } const firstUser = new User("full name", "user@mail.com", 23); لماذا لا نكتب الكود بطريقة مباشرة: function User(name, email, age) { console.log("user created with name", name); } const firstUser = new User("full name", "user@mail.com", 23); هل يوجد فرق بين الطريقتين؟ وأيهما أفضل؟
  8. أحاول أن أتعلم البرمجة الكائنية OOP في جافاسكريبت، وعندما وصلت إلى التابع الباني constructor واجهت صعوبة في فهم أهميته أو ما الذي يفعله بالتحديد. ما الفرق بين التابع الباني constructor وبين التوابع الأخرى العادية في الصنف Class؟
  9. أريد أن أقوم بتحميل بعض البرمجيات مفتوحة المصدر من مستودع Universe Repository في أبونتو Ubuntu ، لذلك حاولت تفعيله في نظام التشغيل لدي، بحيث يتم تحميل البرامج من خلال مدير الحزم apt، لكن لا أعلم كيف أقوم بذلك بطريقة صحيح. كيف يتم تفعيل مستودع Universe في أحدث إصدار من نظام أبونتو Ubuntu؟
  10. لدي مصفوفتين بالشكل التالي: <?php $arr1 = array( "name" => "emad", "email" => "emad@gmail.com" ); $arr2 = [ 123=> 'emad_saif', 456=> '18' ]; المصفوفة الأولى لديها مفاتيح نصية string (مثل name و email)، بيمنا المصفوفة الثانية لديها مفاتيح رقمية integers (مثل 123 و 456) أحاول أن أقوم بدمج كلا المصفوفتين معًا، لذلك حاولت إستخدام الدالة array_merge: $result = array_merge($arr1, $arr2); print_r($result); لكن المشكلة تكون في مفاتيح المصفوفة الناتجة من العملية السابقة، حيث تكون المصفوفة بالشكل التالي: Array ( [name] => emad [email] => emad@gmail.com [0] => emad_saif [1] => 18 ) كما هو واضح من الكود السابق، فإن المصفوفتين تم دمجهما ولكن تم تغير مفاتيح المصفوفة الثانية وأصبحت 0 و 1 بدلًا من 123 و 456 كيف أقوم بدمج المصفوفتين معًا بدون تغير مفاتيح المصفوفة الثانية؟ بحيث تكون النتيجة النهائية بالشكل التالي: Array ( [name] => emad [email] => emad@gmail.com [123] => emad_saif [456] => 18 )
  11. هل هناك طريقة سهلة لتحديد عدد الروابط التي تظهر في ترقيم الصفحات pagination في لارافيل Laravel، حيث يتم عرض عدد من الروابط حاليًا، حتى الآن لا توجد مشكلة بالنسبة لشكل الموقع على الشاشات الكبيرة، ومع ذلك، أريد أن أقوم بتقليل عدد الروابط التي تظهر في الصفحة، لأن عدد الروابط هذا يعد كثيرًا بالنسبة للأجهزة المحمولة ويصبح ترقيم الصفحات منقسم على سطرين. هل هناك أي طريقة لتعيين عدد الروابط التي ستظهر؟ على سبيل المثال تظهر فقط 10 روابط كحد أقصى؟
  12. لدي مشروع PHP وأريد أن أقوم بإستخدام try - catch لتنفيذ كود معين في حالة حدوث خطأ AError أو BError، أريد أن أقوم بإلتقاط الأخطاء AError و BError معًا try { // do something } catch( AError, BError $e ) { // do something else } الكود السابق لا يعمل، هل توجد طريقة لعمل شيء مشابهة للكود السابق في php؟
  13. أريد أن أقوم بعمل طلب request بإستخدام ajax في المشروع الخاص بي، ولكن يظهر لي خطأ يخبرني بأن CSRF Token مطلوب ويجب تمريره مع الطلب، المشكلة أن كود ajax موجود في ملف JavaScript منفصل عن ملفات blade لذلك لا يمكنني أن أقوم بإستخدام csrf@ داخل ملفات JavaScript كيف أقوم بتمرير رمز CSRF إلى مع طلب ajax؟
  14. أريد البحث عن مستخدمين لديهم أسماء مشابهة لقيمة معينة بغض النظر لحالة الأحرف case-insensitive في نموذج Eloquent، لذلك أستخدم الكود التالي: User::where('name', 'LIKE', '%' . $value . '%' ); لكن يبدو أن هذا الكود لا يأتي بكل المستخدمين المطلوبين، حيث أنه يهتم لحالة الأحرف case sensitive كيف أبحث في جدول معين بغض النظر عن حالة الأحرف في لارافيل Laravel؟
  15. أحاول أن أقوم بتحويل قيمة منطقية Boolean من True/False إلى نص "True" / "False" ولكن عند طباعة هذه القيمة بإستخدام echo يتم طباعة 1 في حالة true ولا يتم طباعة أي شيء في حالة flase: <?php $done = true; echo $done; // 1 $done = false; echo $done; // لا شيء يتم طباعته أريد أن يتم طباعة كلمة true أو false كنص string، لذلك حاولت إستخدام الدالة string (مثل لغة JavaScript و Python)، ولكن يبدو أن هذه ليست دالة موجودة في PHP: <?php $done = true; echo string($done); // error Call to undefined function string $done = false; echo string($done); // error Call to undefined function string كيف يتم تحويل القيم المنطقية إلى نص في PHP؟
  16. لدي سكريبت PHP وأحتاج إلى إرجاع استجابة برموز استجابة HTTP مختلفة عن 200 مثل 4XX أو 5XX في حالة حدوث خطأ ما كيف يمكنني القيام بهذا الأمر في PHP؟
  17. هل هناك فرق بين isset وempty! . حيث أجد أن كثير من المبرمجين يستعملون كلا الدالتين للتحقق من أن متغير ما غير فارغ not empty if ( isset($myArr[1]) AND !empty($myArr[1]) ) { // do something } في الشرط السابق، هل من الجيد التحقق بهذه الطريقة أم أنها زائدة عن الحاجة؟ وهل هناك طريقة أقصر لفعل الشيء نفسه؟
  18. أحاول الحصول على اسم الملف من المسار الخاص به بالشكل التالي: <?php $file_path = "/path/to/image.png"; $file_name = end(explode('/', $file_path)); echo $file_name; لكن يظهر الخطأ التالي: Notice: Only variables should be passed by reference in /home/user/scripts/code.php on line 4 image.png ما سبب هذا الخطأ؟ وكيف أقوم بإصلاح هذه المشكلة؟
  19. أعمل على مشروع بسيط بإستخدام لارافيل Laravel وأريد إستخدام jQuery فيه، حاولت البحث عن طريقة لتضمين jQuery في الملف app.js الذي يتم توليده عبر Laravel mix ولكني لم أجد شيء مفيد، وجدت طرق لتضمين مكتبات أخرى فقط. أريد تضمين سكريبت واحد فقط بالشكل التالي: <script src="{{ asset('js/app.js') }}"></script> لتقليل عدد الطلبات requests التي تتم في الموقع كيف أقوم بتثبيت jQuery في مشروع Laravel وإستخدامها من خلال الملف app.js في لارافيل Laravel؟
  20. في توثيق لارافيل Laravel تم ذكر الموجه section@ وكذلك yield@ وأنه يتم إستخدامهما لتعريف أماكن يمكن لوضع مكونات فيهما <html> <head> <title>App Name - @yield('title')</title> </head> <body> @section('sidebar') This is the master sidebar. @show <div class="container"> @yield('content') </div> </body> </html> لكن لم أفهم ما الفرق بين إستخدام section@ و yield@، حيث أجد أنه يمكن عمل نفس الشيء بكلا الطريقتين. هل يوجد فرق بين إستخدام section@ و yield@ في قوالب Blade في لارافيل Laravel؟
  21. أحاول تشغيل سكريبت PHP قديم نوعًا ما، ولكن تظهر الكثير من التحذيرات (خصوصًا في حلفات التكرار loop)، لذلك أريد أن أقوم بإيقاف (أو إخفاء) هذه التحذيرات مؤقتًا فقط، لكن في نفس الوقت أريد أن تظهر أي أخطاء Errors لكي أتمكن من حل أي مشاكل في السكريبت كيف يتم إيقاف التحذيرات فقط في PHP؟
  22. في أي مشروع مبني بإستخدام PHP أجد أنه يتم إستعمال namespaces بشكل أساسي (في الغالب مع composer) ولكنني لم أفهم فائدة هذا الأمر جيدًا أليست namespace تستعمل في إستدعاء الأصناف classes فقط، أم أن لها فائدة أخرى؟ ولماذا لا نستعمل require أو include فقط لإتمام هذه المهمة؟
  23. في مشروع خاص بي، يقوم المستخدم بإدخال البريد الإلكتروني الخاص به للتسجيل في الموقع، وأقوم بالتأكد من أنه تم إدخال بريد إلكتروني صحيح من خلال RegEx هل إستعمال التعابير النمطية regular expression أمر جيد في هذه الحالة؟ أم أن هناك طريقة أفضل للتأكد من قيمة البريد الإلكتروني؟
  24. أنا أقوم بإنشاء تطبيق باستخدام لارافيل Laravel عبارة عن مدونة بسيطة. وعند إنشاء منشور جديد، تكون قيم الأعمدة "created_at" و "updated_at" كما يلي: 2022-04-10 14:04:11 ولكن كيف أقوم بتغير شكل هذه القيم بحيث تحتوي على تاريخ اليوم فقط: 2022-04-10 هل يمكن عمل هذا الأمر في لارافيل Laravel أم علي أن أقوم بإنشاء حقل جديد مخصص لهذا الأمر؟
  25. في مشروع أعمل عليه يُسمح للمستخدم أن يقوم بكتابة وصف مختصر عن نفسه Bio من خلال الكتابة في عنصر Textarea، المشكلة الآن أي شخص يمكنه أنه يقوم بكتابة عناصر HTML (بما في ذلك سكريبتات JavaScript) وسوف يتم تنفيذها في المتصفح عند زيارة صفحته الشخصية. كيف أمنع هذا الأمر بحيث يتم عرض النص كما كتبه المستخدم تمام بحيث لا يقوم المتصفح بتنفيذ هذه الأكواد عند زيارة الصفحة؟
×
×
  • أضف...