ਲਾਰਵੇਲ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਵਿੱਚ ਮਾਸਟਰਿੰਗ ਪੈਰਾਮੀਟਰ ਪਾਸ ਕਰਨਾ
Laravel Artisan ਕਮਾਂਡਾਂ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਦੁਹਰਾਉਣ ਵਾਲੇ ਕੰਮਾਂ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ ਸ਼ਕਤੀਸ਼ਾਲੀ ਸਾਧਨ ਹਨ। ਭਾਵੇਂ ਤੁਸੀਂ ਡੇਟਾਬੇਸ ਬੀਜ ਰਹੇ ਹੋ, ਅਨੁਸੂਚਿਤ ਨੌਕਰੀਆਂ ਚਲਾ ਰਹੇ ਹੋ, ਜਾਂ ਡੇਟਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰ ਰਹੇ ਹੋ, ਕਸਟਮ ਕਮਾਂਡਾਂ ਉਤਪਾਦਕਤਾ ਅਤੇ ਲਚਕਤਾ ਨੂੰ ਵਧਾਉਂਦੀਆਂ ਹਨ। ਹਾਲਾਂਕਿ, ਇਹਨਾਂ ਕਮਾਂਡਾਂ ਵਿੱਚ ਹੈਂਡਲ() ਫੰਕਸ਼ਨ ਵਿੱਚ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਪਾਸ ਕਰਨਾ ਕਈ ਵਾਰ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਲਈ ਉਲਝਣ ਵਾਲਾ ਹੋ ਸਕਦਾ ਹੈ।
ਕਲਪਨਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਇੱਕ ਬਾਹਰੀ API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਡੇਟਾ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਇੱਕ ਵਿਸ਼ੇਸ਼ਤਾ ਬਣਾ ਰਹੇ ਹੋ, ਅਤੇ ਅੱਪਡੇਟ ਡੇਟਾ ਦੀ ਕਿਸਮ ਦੇ ਆਧਾਰ 'ਤੇ ਬਦਲਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਸਥਾਨਾਂ ਅਤੇ ਲੌਂਜਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਸੈਸਿੰਗ ਤਰਕ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ। ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਤੁਹਾਡੀ ਕਾਰੀਗਰ ਕਮਾਂਡ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਮਾਪਦੰਡਾਂ ਨੂੰ ਪਾਸ ਕਰਨਾ ਸ਼ੁੱਧਤਾ ਅਤੇ ਸਪਸ਼ਟਤਾ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ। 🎯
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ Laravel ਕਮਾਂਡ ਦੇ ਦਸਤਖਤ ਵਿੱਚ ਮਾਪਦੰਡਾਂ ਨੂੰ ਜੋੜਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਹੈਂਡਲ() ਵਿਧੀ ਵਿੱਚ ਐਕਸੈਸ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚੋਂ ਲੰਘਾਂਗੇ। ਇਹਨਾਂ ਹੁਨਰਾਂ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਖਾਸ ਲੋੜਾਂ ਅਤੇ ਦ੍ਰਿਸ਼ਾਂ ਨੂੰ ਫਿੱਟ ਕਰਨ ਲਈ ਆਪਣੇ ਕਾਰੀਗਰ ਆਦੇਸ਼ਾਂ ਨੂੰ ਤਿਆਰ ਕਰਨ ਦੇ ਯੋਗ ਹੋਵੋਗੇ।
ਇਸ ਗਾਈਡ ਦੇ ਅੰਤ ਤੱਕ, ਤੁਹਾਨੂੰ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਬਣਾਉਣ ਅਤੇ ਵਰਤਣ ਦੇ ਤਰੀਕੇ ਦੀ ਇੱਕ ਠੋਸ ਸਮਝ ਹੋਵੇਗੀ। ਨਾਲ ਹੀ, ਅਸੀਂ ਇੱਕ ਵਿਹਾਰਕ ਉਦਾਹਰਣ ਸ਼ਾਮਲ ਕਰਾਂਗੇ ਤਾਂ ਜੋ ਤੁਸੀਂ ਦੇਖ ਸਕੋ ਕਿ ਇਹਨਾਂ ਸੰਕਲਪਾਂ ਨੂੰ ਅਸਲ-ਸੰਸਾਰ ਸੰਦਰਭ ਵਿੱਚ ਕਿਵੇਂ ਲਾਗੂ ਕਰਨਾ ਹੈ। ਆਓ ਸ਼ੁਰੂ ਕਰੀਏ! 🚀
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
$this->$this->argument() | Retrieves the value of a named argument passed to the Artisan command. For example, $this->ਆਰਟੀਸਨ ਕਮਾਂਡ ਨੂੰ ਪਾਸ ਕੀਤੇ ਗਏ ਨਾਮਕ ਆਰਗੂਮੈਂਟ ਦਾ ਮੁੱਲ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, $this-> argument('type') ਟਾਈਪ ਆਰਗੂਮੈਂਟ ਦਾ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। |
$this->$this->option() | Fetches the value of an option provided to the command. Useful for optional parameters, like $this->ਕਮਾਂਡ ਨੂੰ ਦਿੱਤੇ ਗਏ ਵਿਕਲਪ ਦਾ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਵਿਕਲਪਿਕ ਪੈਰਾਮੀਟਰਾਂ ਲਈ ਉਪਯੋਗੀ, ਜਿਵੇਂ $this->option('type')। |
switch | ਇੱਕ ਵੇਰੀਏਬਲ ਦੇ ਮੁੱਲ ਲਈ ਕਈ ਕੇਸਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਸਵਿੱਚ ($type) 'ਸਥਾਨਾਂ' ਜਾਂ 'ਲੌਂਜ' ਲਈ ਕੋਡ ਨੂੰ ਵੱਖ-ਵੱਖ ਤਰਕ ਵੱਲ ਨਿਰਦੇਸ਼ਿਤ ਕਰਦਾ ਹੈ। |
$this->$this->error() | Outputs an error message to the console. This helps indicate invalid input, such as $this->ਕੰਸੋਲ ਲਈ ਇੱਕ ਗਲਤੀ ਸੁਨੇਹਾ ਆਉਟਪੁੱਟ ਕਰਦਾ ਹੈ। ਇਹ ਅਵੈਧ ਇਨਪੁਟ ਨੂੰ ਦਰਸਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ $this->error('ਅਵੈਧ ਕਿਸਮ।')। |
$this->$this->artisan() | ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਨੂੰ ਟੈਸਟਾਂ ਦੇ ਅੰਦਰ ਪ੍ਰੋਗਰਾਮੇਟਿਕ ਤੌਰ 'ਤੇ ਚਲਾਉਂਦਾ ਹੈ, ਕਮਾਂਡ ਆਉਟਪੁੱਟ ਅਤੇ ਵਿਵਹਾਰਾਂ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। |
assertExitCode() | ਇੱਕ ਟੈਸਟ ਕੇਸ ਵਿੱਚ ਇੱਕ ਕਾਰੀਗਰ ਕਮਾਂਡ ਦੀ ਨਿਕਾਸ ਸਥਿਤੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, assertExitCode(0) ਸਫਲਤਾਪੂਰਵਕ ਚੱਲਣ ਵਾਲੀ ਕਮਾਂਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ। |
expectsOutput() | Checks if a specific output was displayed during the command execution in tests. Example: ->ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਟੈਸਟਾਂ ਵਿੱਚ ਕਮਾਂਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੌਰਾਨ ਕੋਈ ਖਾਸ ਆਉਟਪੁੱਟ ਦਿਖਾਈ ਗਈ ਸੀ। ਉਦਾਹਰਨ: ->expectsOutput('ਥਾਵਾਂ ਦੇ ਚਿੱਤਰ ਅੱਪਡੇਟ ਕਰ ਰਿਹਾ ਹੈ...')। |
protected $signature | ਆਰਗੂਮੈਂਟਾਂ ਅਤੇ ਵਿਕਲਪਾਂ ਸਮੇਤ ਕਮਾਂਡ ਦੇ ਨਾਮ ਅਤੇ ਬਣਤਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਉਦਾਹਰਨ ਲਈ, 'app:update-places-images {type}'। |
protected $description | ਆਰਟੀਸਨ ਦੀ ਮਦਦ ਆਉਟਪੁੱਟ ਵਿੱਚ ਦਿਖਾਈ ਦੇਣ ਵਾਲੀ ਕਮਾਂਡ ਦੀ ਕਾਰਜਕੁਸ਼ਲਤਾ ਦਾ ਇੱਕ ਛੋਟਾ ਵੇਰਵਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। |
->->assertExitCode() | ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ ਕਿ ਇੱਕ ਟੈਸਟ ਰਨ ਇੱਕ ਖਾਸ ਐਗਜ਼ਿਟ ਕੋਡ ਨਾਲ ਖਤਮ ਹੁੰਦਾ ਹੈ। ਆਮ ਤੌਰ 'ਤੇ ਟੈਸਟਿੰਗ ਦੌਰਾਨ ਸੰਭਾਵਿਤ ਵਿਵਹਾਰ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
ਲਾਰਵੇਲ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਵਿੱਚ ਪੈਰਾਮੀਟਰ ਪਾਸਿੰਗ ਨੂੰ ਸਮਝਣਾ
Laravel ਵਿੱਚ ਕਸਟਮ ਆਰਟਿਸਨ ਕਮਾਂਡਾਂ ਬਣਾਉਂਦੇ ਸਮੇਂ, ਨੂੰ ਪੈਰਾਮੀਟਰ ਪਾਸ ਕਰਦੇ ਹੋਏ ਹੈਂਡਲ ਫੰਕਸ਼ਨ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਲਚਕਤਾ ਅਤੇ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਬਹੁਤ ਵਧਾ ਸਕਦਾ ਹੈ। ਉੱਪਰ ਦਿੱਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦੋ ਪ੍ਰਾਇਮਰੀ ਪਹੁੰਚ ਦਰਸਾਉਂਦੀਆਂ ਹਨ: ਆਰਗੂਮੈਂਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਅਤੇ ਵਿਕਲਪਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। ਇਹ ਤਕਨੀਕਾਂ ਖਾਸ ਤੌਰ 'ਤੇ ਉਪਯੋਗੀ ਹੁੰਦੀਆਂ ਹਨ ਜਦੋਂ ਤੁਹਾਨੂੰ ਉਪਭੋਗਤਾ ਇੰਪੁੱਟ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਕਮਾਂਡ ਦੇ ਵਿਵਹਾਰ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਨਿਯੰਤਰਣ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਇਹ ਫੈਸਲਾ ਕਰਨਾ ਕਿ ਇੱਕ ਡੇਟਾਬੇਸ ਵਿੱਚ "ਸਥਾਨਾਂ" ਜਾਂ "ਲੌਂਜ" ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ ਪੈਰਾਮੀਟਰਾਈਜ਼ਡ ਕਮਾਂਡਾਂ ਲਈ ਇੱਕ ਵਧੀਆ ਵਰਤੋਂ ਦਾ ਕੇਸ ਹੈ। 🚀
ਪਹਿਲੀ ਸਕ੍ਰਿਪਟ ਇੱਕ ਪੈਰਾਮੀਟਰ ਨੂੰ ਪਾਸ ਕਰਨ ਲਈ ਇੱਕ ਆਰਗੂਮੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਕਮਾਂਡ ਦਸਤਖਤ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਕੇ 'app:update-places-images {type}', ਕਮਾਂਡ ਸਿੱਧੇ ਕਮਾਂਡ ਲਾਈਨ ਤੋਂ "ਸਥਾਨਾਂ" ਜਾਂ "ਲੌਂਜ" ਵਰਗੇ ਮੁੱਲਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰ ਸਕਦੀ ਹੈ। ਹੈਂਡਲ ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ, ਦ $this->$this->ਆਰਗੂਮੈਂਟ ('ਕਿਸਮ') ਵਿਧੀ ਪਾਸ ਕੀਤੇ ਮੁੱਲ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਕੰਡੀਸ਼ਨਲ ਤਰਕ ਨੂੰ ਸੰਬੰਧਿਤ ਅੱਪਡੇਟ ਫੰਕਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਮਿਲਦੀ ਹੈ। ਇਹ ਪਹੁੰਚ ਆਦਰਸ਼ ਹੈ ਜਦੋਂ ਇੰਪੁੱਟ ਲਾਜ਼ਮੀ ਹੈ ਅਤੇ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ।
ਦੂਜੀ ਸਕਰਿਪਟ ਇੱਕ ਦਲੀਲ ਦੀ ਬਜਾਏ ਇੱਕ ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਧੇਰੇ ਲਚਕਦਾਰ ਢੰਗ ਅਪਣਾਉਂਦੀ ਹੈ। ਇਹ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਦਸਤਖਤ ਨੂੰ ਸੋਧ ਕੇ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ {--ਕਿਸਮ =}. ਵਿਕਲਪ ਵਧੇਰੇ ਬਹੁਪੱਖੀਤਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਵਾਧੂ ਮਾਪਦੰਡ ਹੁੰਦੇ ਹਨ ਜਾਂ ਵਿਕਲਪਿਕ ਇਨਪੁਟਸ ਨੂੰ ਸੰਭਾਲਣਾ ਚਾਹੁੰਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਇੱਕ ਕਿਸਮ ਨਿਰਧਾਰਤ ਕੀਤੇ ਬਿਨਾਂ ਕਮਾਂਡ ਚਲਾ ਸਕਦੇ ਹੋ, ਜਾਂ ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਕਾਰਜਸ਼ੀਲਤਾ ਲਈ ਵਾਧੂ ਫਲੈਗ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ। ਅਜਿਹੀ ਬਹੁਪੱਖੀਤਾ ਇਸ ਵਿਧੀ ਨੂੰ ਉੱਨਤ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਲਈ ਢੁਕਵੀਂ ਬਣਾਉਂਦੀ ਹੈ। 🎯
ਦੋਵੇਂ ਪਹੁੰਚ ਲਾਰਵੇਲ ਈਕੋਸਿਸਟਮ ਵਿੱਚ ਸਹਿਜੇ ਹੀ ਏਕੀਕ੍ਰਿਤ ਹੁੰਦੇ ਹਨ ਅਤੇ PHPUnit ਨਾਲ ਚੰਗੀ ਤਰ੍ਹਾਂ ਜਾਂਚੇ ਜਾ ਸਕਦੇ ਹਨ। ਜਾਂਚ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਕਮਾਂਡ ਸਾਰੇ ਕਿਨਾਰਿਆਂ ਦੇ ਕੇਸਾਂ ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਅਵੈਧ ਇਨਪੁਟ ਜਾਂ ਅਚਾਨਕ ਵਿਵਹਾਰ। ਉਦਾਹਰਨ ਲਈ, ਚੱਲ ਰਿਹਾ ਹੈ php ਕਾਰੀਗਰ ਐਪ: ਅੱਪਡੇਟ-ਸਥਾਨਾਂ-ਚਿੱਤਰਾਂ ਦੇ ਲੌਂਜ ਲਾਉਂਜ ਅਪਡੇਟ ਫੰਕਸ਼ਨ ਨੂੰ ਟਰਿੱਗਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ, ਜਦੋਂ ਕਿ "ਅਵੈਧ" ਵਰਗੇ ਅਵੈਧ ਪੈਰਾਮੀਟਰ ਨੂੰ ਪਾਸ ਕਰਦੇ ਹੋਏ ਇੱਕ ਸਪਸ਼ਟ ਗਲਤੀ ਸੁਨੇਹਾ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਸਕ੍ਰਿਪਟਾਂ ਨਾ ਸਿਰਫ਼ ਤੁਰੰਤ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਕਰਦੀਆਂ ਹਨ ਬਲਕਿ ਲਾਰਵੇਲ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਭਵਿੱਖ ਦੇ ਵਿਕਾਸ ਲਈ ਇੱਕ ਮਜ਼ਬੂਤ ਅਤੇ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਬੁਨਿਆਦ ਵੀ ਸਥਾਪਿਤ ਕਰਦੀਆਂ ਹਨ।
ਲਾਰਵੇਲ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਵਿੱਚ ਹੈਂਡਲ() ਫੰਕਸ਼ਨ ਵਿੱਚ ਪੈਰਾਮੀਟਰ ਕਿਵੇਂ ਪਾਸ ਕੀਤੇ ਜਾਣ?
ਇਹ ਹੱਲ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਅਤੇ ਪਾਸ ਕਰਨ ਲਈ PHP ਅਤੇ Laravel ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਹੈਂਡਲ() ਕਸਟਮ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਵਿੱਚ ਫੰਕਸ਼ਨ।
class UpdatePlacesImages extends Command {
/
* The name and signature of the console command.
* @var string
*/
protected $signature = 'app:update-places-images {type}'; // Accepts 'places' or 'lounges'
/
* The console command description.
* @var string
*/
protected $description = 'Update places or lounges images from Places API';
/
* Execute the console command.
*/
public function handle() {
$type = $this->argument('type'); // Fetch the parameter
if ($type === 'places') {
$this->updatePlacesImages();
} elseif ($type === 'lounges') {
$this->updateLoungesImages();
} else {
$this->error('Invalid type. Use "places" or "lounges".');
}
}
}
// Example execution: php artisan app:update-places-images places
ਇੱਕ ਹੋਰ ਪਹੁੰਚ: ਵਧੇਰੇ ਲਚਕਤਾ ਲਈ ਵਿਕਲਪਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ
ਇਹ ਵਿਧੀ ਪੈਰਾਮੀਟਰ ਪਾਸ ਕਰਨ ਲਈ ਆਰਗੂਮੈਂਟਾਂ ਦੀ ਬਜਾਏ ਵਿਕਲਪਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ Laravel ਕਮਾਂਡ ਨੂੰ ਸੋਧਦੀ ਹੈ।
class UpdatePlacesImages extends Command {
/
* The name and signature of the console command.
* @var string
*/
protected $signature = 'app:update-places-images {--type=}'; // Uses an option
/
* The console command description.
* @var string
*/
protected $description = 'Update places or lounges images from Places API';
/
* Execute the console command.
*/
public function handle() {
$type = $this->option('type'); // Fetch the option
switch ($type) {
case 'places':
$this->updatePlacesImages();
break;
case 'lounges':
$this->updateLoungesImages();
break;
default:
$this->error('Invalid type. Use --type=places or --type=lounges.');
}
}
}
// Example execution: php artisan app:update-places-images --type=places
ਯੂਨਿਟ ਟੈਸਟਾਂ ਨਾਲ ਹੱਲਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ
ਇਹ ਉਦਾਹਰਨ ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ PHPUnit ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਕਿ ਆਰਟੀਸਨ ਕਮਾਂਡ ਵੱਖ-ਵੱਖ ਸਥਿਤੀਆਂ ਵਿੱਚ ਉਮੀਦ ਅਨੁਸਾਰ ਵਿਹਾਰ ਕਰਦੀ ਹੈ।
class UpdatePlacesImagesTest extends TestCase {
public function testPlacesArgument() {
$this->artisan('app:update-places-images places')
->expectsOutput('Updating places images...')
->assertExitCode(0);
}
public function testLoungesArgument() {
$this->artisan('app:update-places-images lounges')
->expectsOutput('Updating lounges images...')
->assertExitCode(0);
}
public function testInvalidArgument() {
$this->artisan('app:update-places-images invalid')
->expectsOutput('Invalid type. Use "places" or "lounges".')
->assertExitCode(1);
}
}
ਲਾਰਵੇਲ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਦੀ ਉੱਨਤ ਵਰਤੋਂ ਨੂੰ ਅਨਲੌਕ ਕਰਨਾ
ਕਾਰੀਗਰ ਕਮਾਂਡਾਂ ਨਾ ਸਿਰਫ਼ ਸਧਾਰਨ ਆਟੋਮੇਸ਼ਨ ਲਈ ਹਨ ਬਲਕਿ ਲਾਰਵੇਲ ਵਿੱਚ ਗੁੰਝਲਦਾਰ ਵਰਕਫਲੋ ਦੇ ਪ੍ਰਬੰਧਨ ਦੇ ਇੱਕ ਅਨਿੱਖੜਵੇਂ ਹਿੱਸੇ ਵਜੋਂ ਵੀ ਕੰਮ ਕਰਦੀਆਂ ਹਨ। ਨੂੰ ਪੈਰਾਮੀਟਰ ਪਾਸ ਕਰਕੇ ਹੈਂਡਲ ਫੰਕਸ਼ਨ, ਡਿਵੈਲਪਰ ਉੱਚ ਬਹੁਮੁਖੀ ਕਮਾਂਡਾਂ ਬਣਾ ਸਕਦੇ ਹਨ। ਆਰਗੂਮੈਂਟਾਂ ਅਤੇ ਵਿਕਲਪਾਂ ਨੂੰ ਸੰਭਾਲਣ ਤੋਂ ਇਲਾਵਾ, ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਇੱਕ ਸਹਿਜ ਕਮਾਂਡ-ਲਾਈਨ ਅਨੁਭਵ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਡਿਫੌਲਟ ਮੁੱਲਾਂ, ਇਨਪੁਟ ਪ੍ਰਮਾਣਿਕਤਾ, ਅਤੇ ਉਪਭੋਗਤਾ ਪ੍ਰੋਂਪਟ ਦਾ ਸਮਰਥਨ ਕਰਦੀਆਂ ਹਨ। ਇਹ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੁਹਾਨੂੰ ਨਵੇਂ ਅਤੇ ਤਜਰਬੇਕਾਰ ਉਪਭੋਗਤਾਵਾਂ ਦੋਵਾਂ ਲਈ ਤਿਆਰ ਕੀਤੀਆਂ ਕਮਾਂਡਾਂ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ। 🚀
ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਇਨਪੁਟ ਪ੍ਰਮਾਣਿਕਤਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਲਾਰਵੇਲ ਕਮਾਂਡ ਵਿੱਚ ਤਰਕ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਰਗੂਮੈਂਟਾਂ ਅਤੇ ਵਿਕਲਪਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਦੀ ਯੋਗਤਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਹੈਂਡਲ ਢੰਗ. ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਅਵੈਧ ਇਨਪੁਟਸ ਜਲਦੀ ਫੜੇ ਗਏ ਹਨ, ਗਲਤੀਆਂ ਦੇ ਜੋਖਮ ਨੂੰ ਘਟਾਉਂਦੇ ਹੋਏ। ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਕੀ "ਟਾਈਪ" ਪੈਰਾਮੀਟਰ "ਸਥਾਨਾਂ" ਜਾਂ "ਲੌਂਜ" ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਅਤੇ ਨਹੀਂ ਤਾਂ ਇੱਕ ਸਪਸ਼ਟ ਗਲਤੀ ਸੁਨੇਹਾ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰ ਸਕਦਾ ਹੈ। ਨਾਜ਼ੁਕ ਕਾਰਵਾਈਆਂ ਨੂੰ ਸਵੈਚਲਿਤ ਕਰਨ ਵੇਲੇ ਇਹ ਵਾਧੂ ਕਦਮ ਅਨਮੋਲ ਹੁੰਦਾ ਹੈ।
ਇੱਕ ਹੋਰ ਅਣਦੇਖੀ ਵਿਸ਼ੇਸ਼ਤਾ ਉਪਭੋਗਤਾ ਨਾਲ ਗੱਲਬਾਤ ਹੈ। ਦ $this->ask ਅਤੇ $this->confirm ਵਿਧੀਆਂ ਤੁਹਾਨੂੰ ਵਾਧੂ ਇਨਪੁਟ ਲਈ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਪੁੱਛਣ ਜਾਂ ਕਮਾਂਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੌਰਾਨ ਕਾਰਵਾਈਆਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਵੱਡੇ ਡੇਟਾਸੇਟਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਕਮਾਂਡ ਉਪਭੋਗਤਾ ਨੂੰ ਪੁੱਛ ਸਕਦੀ ਹੈ, "ਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਤੌਰ 'ਤੇ ਅੱਗੇ ਵਧਣਾ ਚਾਹੁੰਦੇ ਹੋ?" ਇਹ ਸੁਰੱਖਿਆ ਅਤੇ ਉਪਭੋਗਤਾ-ਮਿੱਤਰਤਾ ਦੀ ਇੱਕ ਵਾਧੂ ਪਰਤ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਕਮਾਂਡ ਨੂੰ ਮਜ਼ਬੂਤ ਅਤੇ ਇੰਟਰਐਕਟਿਵ ਬਣਾਉਂਦਾ ਹੈ। 💡
ਲਾਰਵੇਲ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਨੂੰ ਪੈਰਾਮੀਟਰ ਪਾਸ ਕਰਨ ਬਾਰੇ ਆਮ ਸਵਾਲ
- ਮੈਂ ਇੱਕ Laravel Artisan ਕਮਾਂਡ ਨੂੰ ਪੈਰਾਮੀਟਰ ਕਿਵੇਂ ਪਾਸ ਕਰਾਂ?
- ਦੀ ਵਰਤੋਂ ਕਰੋ $signature ਆਰਗੂਮੈਂਟਾਂ ਜਾਂ ਵਿਕਲਪਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦੇ ਮੁੱਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾ $this->argument() ਜਾਂ $this->option().
- ਕੀ ਮੈਂ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਵਿੱਚ ਆਰਗੂਮੈਂਟਾਂ ਲਈ ਡਿਫੌਲਟ ਮੁੱਲ ਸੈੱਟ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ, ਤੁਸੀਂ ਵਿੱਚ ਡਿਫੌਲਟ ਮੁੱਲ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ $signature. ਉਦਾਹਰਣ ਲਈ: {type=places} "places" ਨੂੰ ਡਿਫੌਲਟ ਦੇ ਤੌਰ ਤੇ ਸੈੱਟ ਕਰਦਾ ਹੈ।
- ਮੈਂ ਕਾਰੀਗਰ ਕਮਾਂਡ ਨੂੰ ਪਾਸ ਕੀਤੇ ਇਨਪੁਟਸ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਮਾਣਿਤ ਕਰਾਂ?
- ਦੇ ਅੰਦਰ handle ਵਿਧੀ, ਤੁਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਪ੍ਰਮਾਣਿਕਤਾ ਤਰਕ ਲਿਖ ਸਕਦੇ ਹੋ ਕਿ ਸਿਰਫ "ਸਥਾਨਾਂ" ਜਾਂ "ਲੌਂਜ" ਵਰਗੇ ਅਨੁਮਾਨਿਤ ਮੁੱਲਾਂ ਦੀ ਇਜਾਜ਼ਤ ਹੈ।
- ਕੀ ਮੈਂ ਆਰਟੀਸਨ ਕਮਾਂਡ ਨੂੰ ਇੰਟਰਐਕਟਿਵ ਬਣਾ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ, Laravel ਵਰਗੇ ਤਰੀਕੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ $this->ask ਉਪਭੋਗਤਾ ਇੰਪੁੱਟ ਲਈ ਅਤੇ $this->confirm ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੌਰਾਨ ਯੂਜ਼ਰ ਪੁਸ਼ਟੀ ਲਈ।
- ਕੀ ਹੁੰਦਾ ਹੈ ਜੇਕਰ ਇੱਕ ਅਵੈਧ ਪੈਰਾਮੀਟਰ ਇੱਕ ਕਮਾਂਡ ਨੂੰ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ?
- ਵਿੱਚ ਸਹੀ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਨਾਲ handle ਵਿਧੀ, ਤੁਸੀਂ ਵਰਤ ਕੇ ਇੱਕ ਗਲਤੀ ਸੁਨੇਹਾ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ $this->error ਅਤੇ ਅੱਗੇ ਚੱਲਣ ਤੋਂ ਰੋਕੋ।
ਲਾਰਵੇਲ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਲਈ ਮੁੱਖ ਉਪਾਅ
Laravel Artisan ਕਮਾਂਡਾਂ ਪ੍ਰਬੰਧਨ ਵਰਗੇ ਗੁੰਝਲਦਾਰ ਕੰਮਾਂ ਨੂੰ ਸੁਚਾਰੂ ਬਣਾਉਣ ਲਈ ਅਨਮੋਲ ਸਾਧਨ ਹਨ ਡਾਟਾਬੇਸ ਅੱਪਡੇਟ. ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਪਾਸ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀਆਂ ਕਮਾਂਡਾਂ ਲਚਕਦਾਰ ਹਨ ਅਤੇ ਖਾਸ ਲੋੜਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਸੰਭਾਲ ਸਕਦੀਆਂ ਹਨ। ਇਹ ਸਕੇਲੇਬਲ ਵਿਕਾਸ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। 🎯
ਵਰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ ਨੂੰ ਸਮਝ ਕੇ $this->$this->ਆਰਗੂਮੈਂਟ(), ਵਿਕਲਪ, ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ, ਤੁਸੀਂ ਕਮਾਂਡਾਂ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਮਜ਼ਬੂਤ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਹਨ। ਵਿਹਾਰਕ ਉਦਾਹਰਣਾਂ ਦੇ ਨਾਲ, ਇਹ ਗਾਈਡ ਤੁਹਾਨੂੰ ਪੇਸ਼ੇਵਰ-ਗਰੇਡ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਲਾਰਵੇਲ ਦੀ ਸੰਭਾਵਨਾ ਦਾ ਲਾਭ ਉਠਾਉਣ ਲਈ ਤਿਆਰ ਕਰਦੀ ਹੈ। 🚀
Laravel ਕਮਾਂਡ ਵਿਕਾਸ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- ਦਸਤਾਵੇਜ਼: ਲਾਰਵੇਲ ਆਰਟੀਸਨ ਕਮਾਂਡਾਂ ਲਈ ਵਿਆਪਕ ਗਾਈਡ ਸਰਕਾਰੀ ਲਾਰਵੇਲ ਵੈਬਸਾਈਟ 'ਤੇ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ। Laravel ਕਾਰੀਗਰ ਦਸਤਾਵੇਜ਼ੀ
- ਕਮਿਊਨਿਟੀ ਉਦਾਹਰਨ: ਆਰਟਿਸਨ ਕਮਾਂਡਾਂ ਵਿੱਚ ਆਰਗੂਮੈਂਟਾਂ ਅਤੇ ਵਿਕਲਪਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਸਮਝ ਅਤੇ ਹੱਲ ਇਸ 'ਤੇ ਉਪਲਬਧ ਹਨ ਸਟੈਕ ਓਵਰਫਲੋ
- API ਸੰਦਰਭ: ਆਰਟੀਸਨ ਕੰਸੋਲ ਲਾਗੂ ਕਰਨ ਅਤੇ ਇਸ ਦੀਆਂ ਉੱਨਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬਾਰੇ ਵੇਰਵੇ ਵਿੱਚ ਵਿਆਖਿਆ ਕੀਤੀ ਗਈ ਹੈ Laravel Framework GitHub ਰਿਪੋਜ਼ਟਰੀ