كيف يمكنني الوصول إلى المعلمة المرسلة عبر عنوان URL داخل ملفات العرض الخاصة بي في CakePHP؟

StackOverflow https://stackoverflow.com/questions/234949

  •  04-07-2019
  •  | 
  •  

سؤال

أنا جديد في CakePHP ولكني اطلعت على الأسئلة الشائعة والأدلة ولكن دون جدوى.هذا بسيط جدًا لدرجة أنني لا يجب أن أفكر بشكل صحيح:

كيف يمكنني الوصول إلى المعلمة المرسلة عبر عنوان URL داخل ملفات العرض الخاصة بي؟

مثال: http://example.com/view/6

كيف يمكنني أخذ هذه المعلمة ("6") ونقلها عبر وحدة التحكم إلى صفحة عرض أخرى؟

إذا كان هذا الأمر معقدًا جدًا بحيث لا يمكن الحصول على إجابة سريعة، فكيف يمكنني الإشارة إلى الرقم 6 داخل صفحة العرض نفسها؟الرقم 6 في هذه الحالة هو قيمة "المعرف" في قاعدة البيانات الخاصة بي، وأحتاج إلى تعيينها باعتبارها "الأصل" -

شكرًا

هل كانت مفيدة؟

المحلول

سيستدعي عنوان URL، كما هو موجود، الطريقة 6() الخاصة بـ ViewController، وهو ليس اسم طريقة صالحًا.قد تضطر إلى اللعب بمساراتك لإنجاز هذا العمل.

إذا كنت لا ترغب في تكوين مساراتك، فستحتاج إلى وحدة التحكم في عنوان URL، كما يلي:

http://example.com/thinger/view/6

الذي سوف يتصل thingerControllerObject->view("6").إذا كنت تريد أن ينتقل "/view/" إلى طريقة مختلفة، فقم بتحرير المسارات.يرى:

نصائح أخرى

ومعلمات يمكن استرجاعها مثل هذا

$this->params['pass']

وإرجاع مجموعة (المفهرسة عدديا) من المعلمات URL بعد العمل.

// URL: /posts/view/12/print/narrow
Array
(
    [0] => 12
    [1] => print
    [2] => narrow
)

لوصول المعلمة في وجهة نظركم <م> البحث في $this->params

استخدم رمز أدناه في الملف الشخصي:

$url=Router::url($this->here, true);
$url_arr=explode("/",$url);

لرؤية المحتوى من $url تم انفجرت ببساطة طباعته باستخدام العلاقات العامة () على النحو التالي:

pr($url_arr);

ووسوف طباعة مجموعة النقابي، وبالتالي يمكنك الوصول إلى أي عدد معين من المعلمة إرسالها عبر رابط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top