@@ -259,6 +259,11 @@ public function getSameArg(array $names, $default = null)
259259 return $ this ->sameArg ($ names , $ default );
260260 }
261261
262+ /**
263+ * @param array $names
264+ * @param mixed $default
265+ * @return mixed
266+ */
262267 public function sameArg (array $ names , $ default = null )
263268 {
264269 foreach ($ names as $ name ) {
@@ -270,9 +275,17 @@ public function sameArg(array $names, $default = null)
270275 return $ default ;
271276 }
272277
273- /////////////////////////////////////////////////////////////////////////////////////////
274- /// long/short options (eg: -d --help)
275- /////////////////////////////////////////////////////////////////////////////////////////
278+ /**
279+ * clear args
280+ */
281+ public function clearArgs ()
282+ {
283+ $ this ->args = [];
284+ }
285+
286+ /***************************************************************************
287+ * long/short options (eg: -d --help)
288+ ***************************************************************************/
276289
277290 /**
278291 * get (long/short)opt value
@@ -372,7 +385,15 @@ public function sameOpt(array $names, $default = null)
372385 return $ default ;
373386 }
374387
375- /////////////////// short-opts /////////////////////
388+ /**
389+ * clear (l/s)opts
390+ */
391+ public function clearOpts ()
392+ {
393+ $ this ->sOpts = $ this ->lOpts = [];
394+ }
395+
396+ /************************** short-opts **********************/
376397
377398 /**
378399 * get short-opt value
@@ -421,6 +442,15 @@ public function getShortOpts(): array
421442 return $ this ->sOpts ;
422443 }
423444
445+ /**
446+ * @param string $name
447+ * @param $value
448+ */
449+ public function setSOpt (string $ name , $ value )
450+ {
451+ $ this ->sOpts [$ name ] = $ value ;
452+ }
453+
424454 /**
425455 * @return array
426456 */
@@ -438,7 +468,15 @@ public function setSOpts(array $sOpts, $replace = false)
438468 $ this ->sOpts = $ replace ? $ sOpts : array_merge ($ this ->sOpts , $ sOpts );
439469 }
440470
441- /////////////////// long-opts /////////////////////
471+ /**
472+ * clear s-opts
473+ */
474+ public function clearSOpts ()
475+ {
476+ $ this ->sOpts = [];
477+ }
478+
479+ /************************** long-opts **********************/
442480
443481 /**
444482 * get long-opt value
@@ -495,6 +533,15 @@ public function getLOpts(): array
495533 return $ this ->lOpts ;
496534 }
497535
536+ /**
537+ * @param string $name
538+ * @param $value
539+ */
540+ public function setLOpt (string $ name , $ value )
541+ {
542+ $ this ->lOpts [$ name ] = $ value ;
543+ }
544+
498545 /**
499546 * @param array $lOpts
500547 * @param bool $replace
@@ -512,6 +559,14 @@ public function getOpts(): array
512559 return array_merge ($ this ->sOpts , $ this ->lOpts );
513560 }
514561
562+ /**
563+ * clear l-opts
564+ */
565+ public function clearLOpts ()
566+ {
567+ $ this ->lOpts = [];
568+ }
569+
515570/////////////////////////////////////////////////////////////////////////////////////////
516571/// getter/setter
517572/////////////////////////////////////////////////////////////////////////////////////////
0 commit comments