खोज…


डिफ़ॉल्ट एप्लिकेशन निर्देशिका बदलें

ऐसे मामले हैं जब आप अपनी ऐप निर्देशिका का नाम बदलकर कुछ और करना चाहते हैं। Laravel4 में आप बस एक विन्यास प्रविष्टि को बदल सकते हैं, यहाँ Laravel5 में इसे करने का एक तरीका है।

इस उदाहरण में हम src लिए app डायरेक्टरी का नाम बदल देंगे।

ओवरराइड अनुप्रयोग वर्ग

निर्देशिका नाम app को कोर एप्लिकेशन क्लास में हार्डकोड किया गया है, इसलिए इसे ओवरराइड करना होगा। एक नई फ़ाइल बनाएँ Application.php । मैं src डायरेक्टरी में खान रखना पसंद करता हूं (हम जिसकी जगह ऐप ले लेंगे), लेकिन आप इसे कहीं और रख सकते हैं।

यहां बताया गया है कि ओवरराइड क्लास कैसा दिखना चाहिए। आप एक अलग नाम चाहते हैं, सिर्फ स्ट्रिंग को बदलने src कुछ और करने के लिए।

namespace App;

class Application extends \Illuminate\Foundation\Application
{
    /**
     * @inheritdoc
     */
    public function path($path = '')
    {
        return $this->basePath . DIRECTORY_SEPARATOR . 'src' . ($path ? DIRECTORY_SEPARATOR . $path : $path);
    }
}

फ़ाइल सहेजें। हम इसके साथ कर रहे हैं।

नई कक्षा बुला रहा है

bootstrap/app.php खोलें और खोजें

$app = new Illuminate\Foundation\Application(
    realpath(__DIR__.'/../')
);

हम इसे इसके साथ प्रतिस्थापित करेंगे

$app = new App\Application(
    realpath(__DIR__.'/../')
);

संगीतकार

अपनी composer.json फ़ाइल खोलें और अपने नए स्थान से मिलान करने के लिए ऑटोलडिंग बदलें

"psr-4": {
    "App\\": "src/"
}

और अंत में, कमांड लाइन में composer dump-autoload चलाते हैं और आपके ऐप को src डायरेक्टरी से composer dump-autoload किया जाना चाहिए।

नियंत्रक निर्देशिका बदलें

यदि हम Controllers डायरेक्टरी को बदलना चाहते हैं तो हमें इसकी आवश्यकता होगी:

  1. जहां हम चाहते हैं, वहां डिफ़ॉल्ट Controllers डायरेक्टरी को स्थानांतरित करें और / या नाम बदलें। से उदाहरण के लिए app/Http/Controllers के लिए app/Controllers
  1. Controllers फ़ोल्डर के अंदर फ़ाइलों के सभी नामस्थानों को अपडेट करें, जिससे वे PSR-4 विशिष्ट का सम्मान करते हुए नए पथ का पालन करते हैं।
  1. app\Providers\RouteServiceProvider.php को संपादित करके और इसे routes.php , routes.php लागू होने वाले नामस्थान को बदल दें:
protected $namespace = 'App\Http\Controllers';

इसके लिए:

protected $namespace = 'App\Controllers';


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow