सिम्फनी 3 कंसोल के साथ, मैं कैसे कह सकता हूं कि जब कोई उपयोगकर्ता एक विकल्प प्रदान करता है, लेकिन इसे बिना किसी मूल्य के प्रदान किया जाता है? विकल्प की आपूर्ति नहीं करने के विरोध में?सिमफ़ोनी कंसोल के साथ किसी मूल्य के बिना कोई विकल्प प्रदान किए जाने पर कैसे पहचानें?
उदाहरण के तौर पर, निम्न कंसोल कॉन्फ़िगरेशन लें।
<?php
class MyCommand extends \Symfony\Component\Console\Command\Command
{
// ...
protected function configure()
{
$this->setName('test')
->setDescription('update an existing operation.')
->addOption(
'option',
null,
InputOption::VALUE_OPTIONAL,
'The ID of the operation to update.'
);
}
}
आदेश मदद --option[=OPTION]
के रूप में विकल्प उदाहरण देकर स्पष्ट करना होगा, इसलिए मैं इस निम्न तरीकों कॉल कर सकते हैं।
bin/console test
bin/console test --option
bin/console test --option=foo
हालांकि, $input->getOption()
पहले दो मामलों में NULL
वापस आ जाएगी। मुझे दूसरे मामले में उम्मीद थी कि यह TRUE
लौटाएगा, या विकल्प को इंगित करने के लिए कुछ संकेत दिया जाएगा।
इसलिए मुझे नहीं पता कि विकल्प को किस प्रकार आपूर्ति नहीं किया जा रहा है, अंतर की पहचान कैसे करें, और इसे आपूर्ति की जा रही है लेकिन बिना किसी मूल्य के।
यदि अंतर बताने का कोई तरीका नहीं है, तो InputOption::VALUE_OPTIONAL
के लिए उपयोग-केस क्या है?
की पुष्टि के लिए धन्यवाद। यह अभी भी सवाल उठाता है (आप पर नहीं, बल्कि सामान्य रूप से,) यह सुविधा क्यों मौजूद है? अर्थात। विकल्प के विकल्प को वैकल्पिक मान रखने की क्षमता क्यों प्रदान करें यदि आदेश केवल मूल्य की पहचान कर सकता है जब उसके पास मूल्य होता है। किसी ने इसे अच्छे उपयोग के लिए कैसे रखा? – user2045006