app->get_config( 'deprecated' ); if ( ! empty( $map ) && is_array( $map ) ) { $_class = $this->app->array->search( $map, $class, '\\' . $class, null ); if ( ! $_class ) { foreach ( $map as $k => $v ) { if ( class_exists( $k ) && is_subclass_of( $class, $k ) ) { $_class = $v; break; } } } if ( $_class && $class !== $_class && class_exists( $_class ) && is_subclass_of( $_class, '\WP_Framework_Core\Interfaces\Singleton' ) ) { /** @var Singleton $_class */ $_instance = $_class::get_instance( $this->app ); array_unshift( $args, $instance ); return call_user_func_array( [ $_instance, $name ], $args ); } foreach ( class_uses( $class ) as $trait ) { $_class = $this->app->array->search( $map, $trait, '\\' . $trait, null ); if ( $_class && class_exists( $_class ) && is_subclass_of( $_class, '\WP_Framework_Core\Interfaces\Singleton' ) ) { /** @var Singleton $_class */ $_instance = $_class::get_instance( $this->app ); array_unshift( $args, $instance ); return call_user_func_array( [ $_instance, $name ], $args ); } } } $messages = [ '致命的なバグが発生しました。', 'お手数ですがエラーを報告いただけると助かります。', ]; try { $github_repo = $this->app->get_config( 'config', 'github_repo' ); if ( $github_repo ) { $messages[] = 'GitHub'; } } catch ( Exception $e ) { } $messages[] = sprintf( '
you cannot access %s->%s', $class, $name ); $messages[] = '
' . print_r( $this->app->utility->get_debug_backtrace(), true ) . ''; WP_Framework::wp_die( $messages, __FILE__, __LINE__ ); return null; } /** * @param string $name * @param array $args * * @return mixed */ public function __call( $name, array $args ) { WP_Framework::wp_die( sprintf( 'you cannot access %s', $name ), __FILE__, __LINE__ ); return null; } }