मैं सोच रहा हूं कि 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
में लोड कर रहे हैं के साथ एक फ़ोल्डर है।
इसका परीक्षण किया और यह काम करता है। केवल नकारात्मक पक्ष यह है कि आप नहीं देख सकते कि आवेदन में आपके मार्गों का उपयोग कहां किया जा रहा है। मुझे लगता है कि मैं इस कार्यक्षमता को जोड़ने के लिए लैरावेल Phpstorm प्लगइन पर एक मुद्दा खुल जाएगा। –
लैरवेल Phpstorm प्लगइन पर एक मुद्दा खोला https://github.com/Haehnchen/idea-php-laravel-plugin/issues/85 –