CHANGELOG ========= 5.3 --- * Add prototype definition for nested options 5.1.0 ----- * added fluent configuration of options using `OptionResolver::define()` * added `setInfo()` and `getInfo()` methods * updated the signature of method `OptionsResolver::setDeprecated()` to `OptionsResolver::setDeprecation(string $option, string $package, string $version, $message)` * deprecated `OptionsResolverIntrospector::getDeprecationMessage()`, use `OptionsResolverIntrospector::getDeprecation()` instead 5.0.0 ----- * added argument `$triggerDeprecation` to `OptionsResolver::offsetGet()` 4.3.0 ----- * added `OptionsResolver::addNormalizer` method 4.2.0 ----- * added support for nested options definition * added `setDeprecated` and `isDeprecated` methods 3.4.0 ----- * added `OptionsResolverIntrospector` to inspect options definitions inside an `OptionsResolver` instance * added array of types support in allowed types (e.g int[]) 2.6.0 ----- * deprecated OptionsResolverInterface * [BC BREAK] removed "array" type hint from OptionsResolverInterface methods setRequired(), setAllowedValues(), addAllowedValues(), setAllowedTypes() and addAllowedTypes() * added OptionsResolver::setDefault() * added OptionsResolver::hasDefault() * added OptionsResolver::setNormalizer() * added OptionsResolver::isRequired() * added OptionsResolver::getRequiredOptions() * added OptionsResolver::isMissing() * added OptionsResolver::getMissingOptions() * added OptionsResolver::setDefined() * added OptionsResolver::isDefined() * added OptionsResolver::getDefinedOptions() * added OptionsResolver::remove() * added OptionsResolver::clear() * deprecated OptionsResolver::replaceDefaults() * deprecated OptionsResolver::setOptional() in favor of setDefined() * deprecated OptionsResolver::isKnown() in favor of isDefined() * [BC BREAK] OptionsResolver::isRequired() returns true now if a required option has a default value set * [BC BREAK] merged Options into OptionsResolver and turned Options into an interface * deprecated Options::overload() (now in OptionsResolver) * deprecated Options::set() (now in OptionsResolver) * deprecated Options::get() (now in OptionsResolver) * deprecated Options::has() (now in OptionsResolver) * deprecated Options::replace() (now in OptionsResolver) * [BC BREAK] Options::get() (now in OptionsResolver) can only be used within lazy option/normalizer closures now * [BC BREAK] removed Traversable interface from Options since using within lazy option/normalizer closures resulted in exceptions * [BC BREAK] removed Options::all() since using within lazy option/normalizer closures resulted in exceptions * [BC BREAK] OptionDefinitionException now extends LogicException instead of RuntimeException * [BC BREAK] normalizers are not executed anymore for unset options * normalizers are executed after validating the options now * [BC BREAK] an UndefinedOptionsException is now thrown instead of an InvalidOptionsException when non-existing options are passed Upper Kenai River Fly Fishing Half Day - Kenai River Fly Fishing

Upper Kenai River Half Day

Hover Box Created with Sketch.

Half Day

Upper Kenai River

upper kenai river fly fishing,kenai river fly fishing half day,fly fishing half day

The Upper Kenai River begins in Cooper Landing as it flows from Kenai Lake and winds its way approximately 12 miles to Jim’s Landing. Our Upper Kenai River half day fishing trip begins at the Kenai Lake bridge at the mouth of Kenai Lake and covers approximately 7 miles of river ending at Sportsman’s Lodge or the Kenai Russian River Ferry.

This includes:

  • Professionally Guided
  • Drift, Wade & Work the Banks
  • Kenai National Wildlife Refuge
  • Trophy-Sized Rainbow Trout
  • Dolly Varden Available
  • Abundance of Red & Silver Salmon
  • Some Class I-III Whitewater