2016-02-29 7 views
5

मेरे पास ऐप फ़ोल्डर में 3 मॉड्यूल हैं जैसे: उपयोगकर्ता मॉड्यूल, रोल मॉड्यूल और अनुमति मॉड्यूल। इसके अलावा मेरे पास प्रत्येक मॉड्यूल में अलग-अलग path.php फ़ाइल है। अब मुझे उपयोगकर्ता मॉड्यूल से रूट सूची प्राप्त करने की आवश्यकता है।लैरवेल 5 में मॉड्यूल/निर्देशिका से मार्गों की सूची कैसे प्राप्त करूं?

मैं इस कोड का उपयोग सभी मॉड्यूल से एक पूरी सूची मिल गया:

$routeCollection =Route::getRoutes(); 
    foreach ($routeCollection as $value) { 
     echo $value->getPath()."<br>"; 
    } 

के बजाय सभी मार्गों, मैं एक विशिष्ट मॉड्यूल या उपयोगकर्ता मॉड्यूल के रूप में एक विशिष्ट निर्देशिका से रूट की एक सूची प्राप्त करना चाहते हैं।

मैं किसी विशिष्ट फ़ोल्डर/मॉड्यूल/फ़ाइल के लिए मार्गों की सूची कैसे प्राप्त करूं?

+0

@AlexeyMezenin :: सुनिश्चित करें कि मैं करूँगा। मैं पिछले कुछ दिनों से अपने काम से बाहर था। क्षमा याचना। –

उत्तर

2

आप जिन मार्गों पर लगाना चाहते हैं में एक ही नियंत्रक का उपयोग करते हैं, तो आप कुछ इस तरह कर सकते हैं:

$routeCollection = \Route::getRoutes(); 

foreach ($routeCollection as $value) { 
    $lookFor = 'UserController'; 
    $controller = $value->getAction(); 
    $controller = $controller['controller']; 

    if (strpos($controller, $lookFor)) { 
     echo "This route uses UserController controller "; 
    } 

    echo $value->getPath()."<br>"; 
} 

ठीक है, आप विचार आया। आप Route::getRoutes() संग्रह में किसी अन्य जानकारी की खोज के लिए एक ही दृष्टिकोण का उपयोग कर सकते हैं।

अद्यतन:

आप जो UserController का उपयोग सभी मार्गों हड़पने के लिए चाहते हैं, आप कुछ इस तरह कर सकते हैं:

$routeCollection = \Route::getRoutes(); 
$userRoutesArray = []; 

foreach ($routeCollection as $value) { 
    $lookFor = 'UserController'; 
    $controller = $value->getAction(); 
    if(isset($controller['controller'])){ 
     $controller = $controller['controller']; 
    }else{ 
     continue; 
    } 

    if (strpos($controller, $lookFor)) { 
     array_push($userRoutesArray, $value->getPath(); 
    } 
} 

तो फिर तुम यह for या foreach साथ पुनरावृति कर सकते हैं।

+0

मैं "$ नियंत्रक = $ मूल्य-> getAction() ['नियंत्रक'] पंक्ति को समझ नहीं सका;" । क्या आप कृपया थोड़ा और विस्तारित करेंगे? –

+0

क्या आपने इसे आजमाया? अगर यह काम नहीं करता है, तो '$ action = $ value-> getAction() प्राप्त करें; $ नियंत्रक = $ कार्रवाई ['नियंत्रक']; ' –

+0

इसकी वापसी त्रुटि:" अपरिभाषित अनुक्रमणिका: नियंत्रक "। क्या मुझे कुछ याद आ सकता है? $ action = $ value-> getAction(); $ नियंत्रक = $ कार्रवाई ['नियंत्रक']; –

संबंधित मुद्दे