2011-07-27 7 views
10

क्या कोई नियंत्रक संपत्ति है जो मुझे बिना किसी अतिरिक्त पैरामीटर के URL से /controller/action प्राप्त करने की अनुमति देगी?केकपीएचपी - प्राप्त करने/नियंत्रक/कार्य पथ पाने का त्वरित तरीका?

इस समय मुझे $this->name . '/' . $this->action में शामिल होना है।

+0

उत्पादन क्या आप इसके लिए क्या ज़रूरत है

$this->Url->build([ "controller" => "controller", "action" => "action", "parameter" ]); 

:

$this->Html->url(array( "controller" => "controller", "action" => "action", "parameter" )); 

CakePHP 3.x के लिए, UrlHelper एक अच्छा विकल्प है? – deceze

+0

रीडायरेक्ट के रूप में मेरे लॉगिन पेज को पास करने के लिए – BadHorsie

उत्तर

16

आप स्ट्रिंग /users/login निर्माण करने के लिए नहीं करना चाहते हैं, तो आप यूआरएल जो आपके उपयोगकर्ताओं को नियंत्रक (उदाहरण के लिए) के लॉगिन कार्रवाई से मेल खाती है चाहता हूँ। यह आवश्यक नहीं है /users/login, और आपको इसे हार्डकोड नहीं करना चाहिए!

एक यूआरएल है कि एक नियंत्रक कार्रवाई के लिए नेतृत्व करेंगे पाने के लिए, रिवर्स मार्ग का उपयोग करें:

Router::url(array('controller' => 'users', 'action' => 'login')); 
//or 
Router::url(array('controller' => $this->name, 'action' => $this->action)); 

हाँ, वह भी लंबे समय तक है, लेकिन यह यह करने के लिए सही तरीका है। यदि एक दिन आप तय करते हैं कि आप या /members/entrance/users/login के बजाय लॉगिन URL चाहते हैं, तो आपको केवल अपने सभी हार्डकोड किए गए लिंक को दोबारा लिखने के बिना routes.php में उचित मार्ग को परिभाषित करने की आवश्यकता है।

4
$this->here 

दृश्य और नियंत्रक में उपलब्ध है। मामूली नोट: यह 2.0 में हटा दिया जा रहा है।

+0

मुझे लगता है कि '$ यहां' में कोई अतिरिक्त यूआरएल पैरामीटर शामिल है। – BadHorsie

+0

@BadHorsie जो आप इसे लॉगिन रीडायरेक्ट के लिए उपयोग करना चाहते हैं, मैं कहूंगा कि * काफी * प्रासंगिक है। यदि आप केवल नियंत्रक और कार्रवाई चाहते हैं तो बस नियंत्रक और कार्रवाई में शामिल हों जैसे आप रहे हैं! – Dunhamzzz

+0

नहीं, मैं अतिरिक्त पैरामीटर नहीं चाहता हूं। धन्यवाद, मैं बस नियंत्रक/कार्रवाई में शामिल होने के साथ आगे बढ़ जाऊंगा। – BadHorsie

2

2.x में HtmlHelper::url विधि का उपयोग करना भी संभव है। दोनों उदाहरण

/controller/action/parameter 
संबंधित मुद्दे