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

السؤال

Recommended Posts

  • 0
نشر

في هذه الحالة لن تستطيع الوصول بشكل مباشر إلى قيمة 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
نشر

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

  •  عن طريق ال 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');

 

  • 0
نشر
بتاريخ منذ ساعة مضت قال 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
نشر
بتاريخ 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

  • 1
نشر
بتاريخ 1 دقيقة مضت قال Osama Kha:

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

c3.png

يجب عليك استدعاء الSession بالأعلى :

use Illuminate\Support\Facades\Session;

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...