2016-12-28 11 views
7

मैं सोच रहा हूं कि 400+ मार्गों से कैसे निपटें।PhpStorm स्वत: पूर्णता के साथ Laravel में 400+ मार्गों का प्रबंधन

वर्तमान में हम सभी मार्गों को नियंत्रक नामस्थान के अनुसार कई फ़ाइलों में अलग करते हैं।

- Auth.php 
- Marketing.php 
- Orders.php 

हमारे सभी मार्गों नाम हैं:

App/Http/Routes की संरचना इस तरह दिखता है। लेकिन यहां हमारे पास वास्तविक समस्या आती है।

हमारे मार्गों का नाम कॉन्स्टेंट से भरे वर्गों का उपयोग करके किया जाता है जो मार्ग के नाम को परिभाषित करते हैं।

namespace App\Http\Controllers\Marketing; 

class RouteConstants 
{ 
    /** 
    * MarketingController 
    */ 
    const INDEX = 'marketing.index'; 
    const DISABLED = 'marketing.disabled'; 

ये कॉन्स्टेंट क्लास कंट्रोलर नेमस्पेस में स्थित हैं। इसलिए जैसे फाइल वे तो Marketing.php मार्गों में उपयोग किया जाता है:

/** 
* Marketing Routes 
*/ 
Route::group(['namespace' => 'App\Http\Controllers\Marketing'], function() { 

    /** 
    * MarketingController Routes 
    */ 
    Route::get('marketing/overview', [ 
     'uses' => '[email protected]', 
     'as' => MarketingRoutes::INDEX 
    ]); 

    Route::get('marketing/disabled', [ 
     'uses' => '[email protected]', 
     'as' => MarketingRoutes::DISABLED 
    ]);``` 

यह किया जाता है, क्योंकि यह हमें PhpStorm स्वत: पूर्ण सुविधाओं का उपयोग और यह भी देखने जहां प्रत्येक मार्ग प्रयोग किया जाता है की अनुमति देता है।

लेकिन इसके साथ समस्या यह है कि हम एक ही समय में दो सिस्टम का उपयोग कर रहे हैं। लैरवेल की आंतरिक रूटिंग नामकरण प्रणाली और साथ ही हम नामों को परिभाषित करने के लिए अपने स्वयं के सिस्टम का उपयोग कर रहे हैं।

इस राशि के मार्गों को प्रबंधित करने और परियोजना फ़ाइलों में उपयोग के लिए जांच करने का एक तरीका होने का एक बेहतर तरीका होना चाहिए।

वर्तमान में यह भी हमारे विचारों में बहुत गंदा है:

<a href="{{ route(App\Http\Controllers\Marketing\RouteConstants::INDEX) }}">Marketing</a> 

मैं पहले से ही PhpStorm के लिए Laravel प्लगइन की कोशिश की लेकिन यह ठीक से काम नहीं करता है जब मार्गों कि स्वचालित रूप से RouteServiceProvider में लोड कर रहे हैं के साथ एक फ़ोल्डर है।

उत्तर

1

बदलाव का में प्रसिद्घ PhpStorm (संस्करण 0.11) के लिए Laravel प्लगइन के, Laravel 5.3 के मार्ग संरचना के लिए समर्थन जोड़ा गया था।

मेरा सुझाव है कि आप मार्ग प्रोजेक्ट को अपनी प्रोजेक्ट की मूल निर्देशिका में ले जाएं। लैरावेल 5.3 की तरह ही। उदाहरण के लिए: app/Http/Routes/routes/ बन जाता है।

प्लगइन के संस्करण 0.11 का उपयोग करते समय और आपके पास 5.3 फ़ोल्डर संरचना है, मुझे कोई कारण नहीं है कि रूट नामों के लिए ऑटो सुझाव काम नहीं करेगा।

आशा है कि इससे मदद मिलती है!

+0

इसका परीक्षण किया और यह काम करता है। केवल नकारात्मक पक्ष यह है कि आप नहीं देख सकते कि आवेदन में आपके मार्गों का उपयोग कहां किया जा रहा है। मुझे लगता है कि मैं इस कार्यक्षमता को जोड़ने के लिए लैरावेल Phpstorm प्लगइन पर एक मुद्दा खुल जाएगा। –

+0

लैरवेल Phpstorm प्लगइन पर एक मुद्दा खोला https://github.com/Haehnchen/idea-php-laravel-plugin/issues/85 –

1

मुझे लगता है कि यदि आप नियंत्रक में कॉन्स तक जाते हैं तो पाठ सामान्य नामों का उपयोग करने के लिए छोटा होगा। फिर आपके विचार फिर से अच्छे होंगे।

आप रूट :: संसाधन पर डॉक्स में दूसरे पक्ष के रूप पर जहाँ आपके मार्गों फ़ाइल के रूप में स्वत: सभी crud मार्गों सेट और फिर बहुत छोटे हो जाएगा सकता है गुजरता जिम्मेदारी नियंत्रक को

+0

अफैइक और परीक्षण किया गया है कि आपको अभी भी पूर्ण नामस्थान के साथ नियंत्रक को उपसर्ग करना होगा। तो मैं नहीं देखता कि यह उस मुद्दे को कैसे हल करेगा। जहां तक ​​'रूट :: संसाधन' का संबंध है, वरीयता होगी। मैं उस मार्ग में बड़ी संख्या में बनने वाली फाइलों से परेशान नहीं हूं। मैं बजाय मार्गों को परिभाषित करने का 1 तरीका चाहता हूं।मेरी मुख्य समस्या मार्गों की स्वत: पूर्ण और उपयोग की जांच है। –

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