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

Osama Kha

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

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

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

أجوبة بواسطة Osama Kha

  1. إضافة  ز ّرين لتحديث وحذف المقالة، التحديث والحذف من صالحيات مدراء الموقع الذين 
    يملكون صلاحيات كافية. يتم التأكد من صالحيات المستخدم الذي يحاول تحديث او حذف مقالة 
    عن طريق ادخال كود التصريح 

    • أعجبني 1
  2. اريد اختبار وجود مادة ضمن database ام لا

    بناء على idمعين

    لا اعلم ان كان هذا الاختبار يعتبر صحيح لكن فقط المطلوب عملية testing ب ابسط الاشكال

    ليس لدي الخبرة الكافية في عملية testing

    • أعجبني 1
  3. بتاريخ منذ ساعة مضت قال Adnane Kadri:

    لا، 

    لا يقبل التابع assertDatabaseMissing ولا التابع assertDatabaseHas مصفوفة متعددة الابعاد Multi-dimensional، يجب تمرير مصفوفة بالخصائص والقيم المراد استبعادها او البحث عنها فقط.

    هل يمكنك مساعدتي في ذلك 

    x$ فيها كورس واحد ومع ذلك لا يقبل 

     Object of class stdClass could not be converted to string

     

    • أعجبني 1
  4. بتاريخ 3 ساعات قال Adnane Kadri:

    هل تقصد أنك تريد "تحديد دروس الفصل القادم التي لم يتم تنزيلها بعد الموافقة لمستوى الطالب"؟

    تماما الاستعلام عبارة عن مجموعة مواد يحق للطلاب تنزيلها لكن ضمن level محدد بناء على سنة الطالب

    مثال ازا كان الطالب سنة اولى فصل اول ف الاستعلام يجب ان يعيد مواد الفصل الثاني من السنة الاولى 

  5. جدول الطالب وجدول المواد وجدول المستوى وجدول مواد التي قام ب انجازها الطالب 

    الاستعلام يعيد المواد التي يجب للطالب تنزيلها في الفصل القادم عن طريق عدد المواد المنجزة (عدد الساعات)

    select distinct c.Course_name
    
                        from courses c,levels l ,students std
    
                        where c.course_id
    
                        not in (
    
                        select c.Course_id
    
                        from courses c,crs_stds s
    
                        where s.std_FK=' . $number . '
    
                        and crs_FK=c.Course_id)
    
                        and c.course_id=l.course_id
    
                        and((std.Student_year*2)+1)>=any(select level from levels)'
    

    هذا الاستعلام يعيد المواد ولكن من دون مراعاة مستوى الطالب اي لو كان لدينا طالب سنة اولى ف سوف يعيد جميع المواد من السنوات التالية 

    لكن انا اريد فقط الحصول على مواد الفصل القادم فقط وما قبل اي في حال كان لديه مواد سابقة لم يقم الطالب بتنزيلها 

    student.png

    cors.png

    crsstd.png

    level.png

  6. في الصورة الرقم 1 هوي div قمت بتعريفه وميثد بسيطة من باب التجربة وهي تعمل بشكل صحيح 

    الرقم 2 هذا الكود مولد عن طريق برنامج adobe وتم اسناد id لل التاغ path  ووضع التابع color لكن لا يعمل ماهي الطريقة المناسبة لتعديل اللون 

    الفكرة عبارة عن استعلام يقوم بجلب درجة او معدل المواد من الداتابيز بحيث كل درجة لها لون محدد  coures>50 اللون الاخضر وهكذا  

     

    plancolor.png

    co.png

    • أعجبني 1
  7. بتاريخ 1 ساعة قال Nagmar ناجمار:

    هناك عدة طرق لفعل ذلك

    •  عن طريق ال Session:

    في المتحكم الأول :

    
    Session::put('key', 'value');

    ثم في المتحكم الثاني:

    
    Session::get('key');
    • عن طريق ال Cookies:

    في المتحكم الأول:

    
    $response = Response::make('Hello World');
    return  $response->withCookie(Cookie::make('name', 'value', $minutes));

    في المتحكم الثاني:

    
    $value = Cookie::get('name');

     

    غير معرف عند ازالة الفاصلة المنقوطة يتعرف على sessionلكن لايمكن ان تنتهي الجملة الا ب فاصلة منقوطة

    c3.png

  8. بتاريخ منذ ساعة مضت قال Sam Ahw:

    في هذه الحالة لن تستطيع الوصول بشكل مباشر إلى قيمة user من المتحكّم studentController. إن المتحكّم الأول لديك supervisorController يقوم بالوصول إلى قيمة المتحوّل  user من خلال الطلب request، والطلب request يتم تمرير بياناته من خلال المسار الموافق له route وبالتالي استدعاء هذه القيمة في متحكّم آخر لن تستطيع الوصول إلى القيم الممررة من خلال المسار Route لأنه سيتم استخدام مسار آخر.

    بصورة عامة، إن معمارية إطار العمل لارافل MVC لاينصح باستخدام المتغيّرات العامة Global variables فذلك سيزيد من تعقيد الشيفرة البرمجية لديك وبمفهوم لارافل إن خصائص أو متغيرات كل متحكّم يجب أن تكون خاصة private للمتحكّم نفسه فقط وفي حال وجدت أن الشيفرة البرمجية تتطلب استدعاء عدة متحكمات لإنجاز دالة معينة فيجب عليك إعادة بناء مشروعك لأن الشيفرة البرمجية لديك غير أمثلية.

    في حالتك هذه، يمكنك إعادة الوصول إلى القيم المررة من خلال الطلب request بإعادة كتابة الشيفرة البرمجية نفسها:

    
    Class StudentController extends Controller{
    public function index(Request $request){
    
    $user = $request()->user --> هنا سيتم الوصول إلى قيمة المتغير من خلال الطلب الموجود في المسار Route
    }
    }

    ولكن عندها يجب عليك أيضاً تعديل المسار route ليتناسب مع ذلك.

    أقترح عليك مراجعة أساسيات إطار عمل لارافل والاطلاع على التوثيق الرسمي لترسيخ فكرة معمارية MVC والتمييز بين كل المسارات Routes و المتحكّمات Controllers

    المتحكم supervisorيحصل على قيمة ال userمن واجهة الدخول هل تقصد ان اقوم ب انشاء route جديد للحصول على userفي متحكم student?وشكرا لك اخي الكريم

  9. بتاريخ منذ ساعة مضت قال Osama Kha:

    شكرا لك اخي الكريم بالتأكيد يجب توضيح السؤال للحصول على إجابة مناسبة. اعمل على ايطار العمل laravel 

     

    بتاريخ 1 ساعة قال Sam Ahw:

    في مختلف لغات البرمجة يجب عليك تضمين الصف أو الملف الذي تريد استخدامه أولاً، مثلاً في إطار العمل لارافل يمكنك إضافة المتحكّم كالتالي:

    بفرض لديك المتحكّم الأول TasksController:

    
    <?php
    use App\Task;
    
    class TasksController extends Controller
    {
        public function addTask($task){
           ...
        }
    }

    لكي تسطيع الوصول إلى توابع ومتغيرات هذا المتحكّم في متحكّم آخر يمكنك إضافته كالتالي:

    
    <?php
    
    use App\Http\Controllers\TasksController; -->يتم تضمين المتحكّم في بداية الملف
    
    class JobsController extends Controller
    {
        public function checkTasks($id) {
         
    
          
             // ثم يمكنك إنشاء كائن جديد للوصول إلى أي توابع أو متغيرات ضمن هذا المتحكّم
             $tasks_controller = new TasksController;
    
            // الوصول إلى توابع المتحكّم
            $tasks_controller->addTask($task);
        }
    }

    قد يكون التطبيق مختلف بين لغة برمجة وأخرى لذلك عند طرح السؤال يجب عليك ذكر المزيد من التفاصل حول لغة البرمجة أو إطار العمل الذي تستخدمه حتى نستطيع تقديم إجابات مناسبة للغة البرمجة التي تستخدمها.

    يمكنك الاطلاع على الإرشادات الموجودة هنا: كيف تحصل على إجابة لسؤلك؟

    هل يمكنك كتابة التعليمة المناسبة للوصول الى المتحول 

    لم يتعرف على المتحول 

  10. بتاريخ منذ ساعة مضت قال Sam Ahw:

    في مختلف لغات البرمجة يجب عليك تضمين الصف أو الملف الذي تريد استخدامه أولاً، مثلاً في إطار العمل لارافل يمكنك إضافة المتحكّم كالتالي:

    بفرض لديك المتحكّم الأول TasksController:

    
    <?php
    use App\Task;
    
    class TasksController extends Controller
    {
        public function addTask($task){
           ...
        }
    }

    لكي تسطيع الوصول إلى توابع ومتغيرات هذا المتحكّم في متحكّم آخر يمكنك إضافته كالتالي:

    
    <?php
    
    use App\Http\Controllers\TasksController; -->يتم تضمين المتحكّم في بداية الملف
    
    class JobsController extends Controller
    {
        public function checkTasks($id) {
         
    
          
             // ثم يمكنك إنشاء كائن جديد للوصول إلى أي توابع أو متغيرات ضمن هذا المتحكّم
             $tasks_controller = new TasksController;
    
            // الوصول إلى توابع المتحكّم
            $tasks_controller->addTask($task);
        }
    }

    قد يكون التطبيق مختلف بين لغة برمجة وأخرى لذلك عند طرح السؤال يجب عليك ذكر المزيد من التفاصل حول لغة البرمجة أو إطار العمل الذي تستخدمه حتى نستطيع تقديم إجابات مناسبة للغة البرمجة التي تستخدمها.

    يمكنك الاطلاع على الإرشادات الموجودة هنا: كيف تحصل على إجابة لسؤلك؟

    شكرا لك اخي الكريم بالتأكيد يجب توضيح السؤال للحصول على إجابة مناسبة. اعمل على ايطار العمل laravel 

  11. بتاريخ 7 ساعات قال Adnane Kadri:

    نعم لن تواجه اي مشكلة بذلك، أتوقع ان شكل البيانات التي يتم حقنها الى كل من ملفي العرض index.blade.php مختلفتان، ولذلك فإن سيتم تصيير الصفحة في كل حالة بطريقة مختلفة عن الأخرى. فان كان الموجه الاول يعرض الصفحة كـ:

    
    return view('index' ,compact('data1'));

    و الموجه الثاني يعرضها كـ:

    
    return view('index', compact('data2'));

    فإنك ستحتاج بطريقة ما للتحقق من ما ان كان متغير ما ممررا لتصيير الصفحة:

    
    @if(isset($data1))
    
    .// طريقة العرض الاولى
    
    @elseif(isset($data2))
    
    .// طريقة العرض الثانية
    
    @endif

    ورغم امكانية تطبيق الفكرة الا أنه لا يعد تطبيقا جيدا للشيفرة النظيفة، فهو لا يحترم مبدأ فصل المهام seperating of concerns بالدرجة الأولى. بالاضافة الى مبدأ المسؤولية الواحدة single responsibility. اذ يمكنك على كل حال فصل الاختلاف فقط. وان كان هنالك تشابه بين طريقتي العرض فيمكنك الاحتفاظ بالتشابه في ملف مكون منفصل وتصيير مكونات الاختلاف في كل مرة.

    شكرا ل اهتمامك اخي الكريم جزاك الله خيرا

  12. ازا كان لدي موجه من نوع get اول له متحكم خاص به ويقوم بعرض الطلاب في صفحة index. Blade. Php

    موجه اخر يقوم بجلب قيمة من form ادخال وله متحكم خاص ولكن العرض يتم index. Blade. Php 

    ايّ موجهين لكن من نفس صفحة blade

     

    • أعجبني 1
  13. بتاريخ 2 ساعات قال بلال زيادة:

    هل قمت بالتأكد من إزالة الدالة ()dd أو يمكنك إزالة الكاش ( الملفات المؤقتة ) من المشروع من خلال الأمر التالي 

    
    php artisan optimize:clear

    ثم محاولة تشغيل و نداء مسار التوجيه مرة أخرى .

    لم يحدث شيء قمت ب افراغ الكاش واعادة التشغيل لكن دون جدوى

  14. بتاريخ منذ ساعة مضت قال بلال زيادة:

    لاحظ أنه المسار الذي تريد التعامل معه هو مسار من نوع POST و ليس من مسار GET لذلك يجب تحديد نوع الطلب المرسل بِ POST مثل 

    
    <form action="{{ route(هنا مسار التوجيه) }}" method="POST"></form>

    لاحظ أن الخاصية 

    
    method="POST"

    فيها نقوم بتحديد نوع الطلب الذي نرسله ليتم التعرف على المسار. 

    بالتأكيد التطبيق كان يعمل بشكل صحيح مع مراعاة ما تكلمت عنه حضرتك 

    post.png

    بتاريخ منذ ساعة مضت قال Osama Kha:

    بالتأكيد التطبيق كان يعمل بشكل صحيح مع مراعاة ما تكلمت عنه حضرتك 

    post.png

    التطبيق يعرض قائمة التوجيهات لكن لماذا يعرض توجهين من نوع post 

    po.png

    • أعجبني 1
×
×
  • أضف...