container = $container; } /** * Magic getter for getting helper classes. * * @param string $helper The helper to get. * * @return mixed The helper class. */ public function __get( $helper ) { return $this->container->get( $this->get_helper_class( $helper ) ); } /** * Magic isset for ensuring helper exists. * * @param string $helper The helper to get. * * @return bool The helper class. */ public function __isset( $helper ) { return $this->container->has( $this->get_helper_class( $helper ) ); } /** * Get the class name from a helper slug * * @param string $helper The name of the helper. * * @return string */ protected function get_helper_class( $helper ) { if ( \in_array( $helper, $this->capitalized_helpers, true ) ) { $helper = \strtoupper( $helper ); } $helper = \implode( '_', \array_map( 'ucfirst', \explode( '_', $helper ) ) ); return "Yoast\WP\SEO\Helpers\Schema\\{$helper}_Helper"; } }