maybeAddProvider( $class ); } if ( ! empty( $this->providers ) ) { foreach ( $this->providers as $provider ) { $vars = get_object_vars( $provider ); foreach ( $vars as $prop => $var ) { if ( ! \in_array( $var, $this->classes ) ) { $this->classes[ $prop ] = $var; } } } } } public function maybeAddProvider( $class ) { if ( class_exists( $class ) ) { $this->providers[ $class ] = new $class; } } public function get( $id ) { if ( empty( $this->classes ) ) { $this->setUpProviders(); } if ( array_key_exists( $id, $this->classes ) ) { return $this->classes[ $id ]; } //For back-compat return $this; } public function addClass( $key, $instance ) { $this->classes[ $key ] = $instance; return $instance; } //For back-compat public function add( $key, $instance ) { return $this; } public function has( $id ) { if ( ! array_key_exists( $id, $this->classes ) ) { return true; } return false; } //For back-compat public function withArguments(){ //NoOp } //For back-compat public function register(){ //NoOp } }