Osama Kha نشر 24 نوفمبر 2022 أرسل تقرير نشر 24 نوفمبر 2022 اريد الوصول الى user$ عن طريق StudentController المتحول موجود في SupervisorContrller اقتباس
0 Sam Ahw نشر 24 نوفمبر 2022 أرسل تقرير نشر 24 نوفمبر 2022 في هذه الحالة لن تستطيع الوصول بشكل مباشر إلى قيمة 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 1 اقتباس
1 لتا عيس نشر 24 نوفمبر 2022 أرسل تقرير نشر 24 نوفمبر 2022 هناك عدة طرق لفعل ذلك عن طريق ال 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'); 1 اقتباس
0 Osama Kha نشر 24 نوفمبر 2022 الكاتب أرسل تقرير نشر 24 نوفمبر 2022 بتاريخ منذ ساعة مضت قال 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?وشكرا لك اخي الكريم اقتباس
0 Osama Kha نشر 24 نوفمبر 2022 الكاتب أرسل تقرير نشر 24 نوفمبر 2022 بتاريخ 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لكن لايمكن ان تنتهي الجملة الا ب فاصلة منقوطة اقتباس
1 لتا عيس نشر 24 نوفمبر 2022 أرسل تقرير نشر 24 نوفمبر 2022 بتاريخ 1 دقيقة مضت قال Osama Kha: غير معرف عند ازالة الفاصلة المنقوطة يتعرف على sessionلكن لايمكن ان تنتهي الجملة الا ب فاصلة منقوطة يجب عليك استدعاء الSession بالأعلى : use Illuminate\Support\Facades\Session; 1 اقتباس
0 Osama Kha نشر 24 نوفمبر 2022 الكاتب أرسل تقرير نشر 24 نوفمبر 2022 بتاريخ منذ ساعة مضت قال Nagmar ناجمار: يجب عليك استدعاء الSession بالأعلى : use Illuminate\Support\Facades\Session; شكرا لك اخي الكريم انه يعمل بشكل صحيح 1 اقتباس
السؤال
Osama Kha
اريد الوصول الى user$ عن طريق StudentController
المتحول موجود في SupervisorContrller
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.