खोज…


परिचय

यह एक विवरण है कि आप / बंडल /config/config.कैलिमेडएक्सएक्सएक्सएक्स में अपने बंडल के लिए कॉन्फ़िगरेशन कैसे बना सकते हैं}

एप्लिकेशन / कॉन्फ़िगरेशन / config.yml में कॉन्फ़िगरेशन बनाएं

amazingservice:
    url: 'http://amazing.com'
    client_id: 'test_client_1'
    client_secret: 'test_secret'

यह yml प्रारूप में कॉन्फ़िगरेशन बनाने के लिए एक मूल उदाहरण है, yml प्रारूप का अनुसरण करने के लिए आप गहरा कॉन्फ़िगरेशन ले सकते हैं।

बनाई गई बंडल में कॉन्फ़िगरेशन सेट करें

उदाहरण के लिए आपके पास एक बंडल है, जो सिम्फनी कंसोल द्वारा उत्पन्न होता है। इस स्थिति में निर्भरता अस्वीकृति / कॉन्फ़िगरेशन में। आपको अपना कॉन्फ़िगरेशन प्रतिनिधित्व सम्मिलित करना होगा:

$treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('amazingservice');

        $rootNode->children()
            ->scalarNode('url')->end()
            ->scalarNode('client_id')->end()
            ->scalarNode('client_secret')->end()
            ->end()
        ->end();

मूल रूप से निर्भरता अस्वीकृति / AmazingserviceExtension.php में आपको निम्न पंक्तियाँ दिखाई देंगी:

$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);

यह Srevices में कॉन्फ़िगरेशन प्राप्त करने के लिए पर्याप्त नहीं है। आपको इसे कंटेनर में ले जाना होगा।

$container->setParameter(
  'amazingservice.config',
  $config
);

इस स्थिति में कंटेनर में कॉन्फिगरेशन, इसलिए यदि आपकी सर्विस को कंस्ट्रक्टर पैरामीटर के रूप में कंटेनर मिल रहा है:

base.amazingservice:
        class: Base\AmazingBundle\Services\AmazingServices
        arguments: [@service_container]

फिर आप निम्न कोड के साथ सेवा में कॉन्फ़िगरेशन प्राप्त कर सकते हैं, जहां कॉन्फ़िगरेशन एक सहयोगी सरणी होगा:

private $config;

public function __construct(Container $container){
  $this->config = $container->getParameter('amazingservice.config');   
}


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