PATH:
home
/
shotlining
/
portal.shotlining.com
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
routes
/
endpoint
<?php // phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure. // phpcs:disable Yoast.NamingConventions.NamespaceName.MaxExceeded namespace Yoast\WP\SEO\Routes\Endpoint; /** * List of endpoints. */ class Endpoint_List { /** * Holds the endpoints. * * @var array<Endpoint_Interface> */ private $endpoints = []; /** * Adds an endpoint to the list. * * @param Endpoint_Interface $endpoint An endpoint. * * @return void */ public function add_endpoint( Endpoint_Interface $endpoint ): void { $this->endpoints[] = $endpoint; } /** * Converts the list to an array. * * @return array<string, string> The array of endpoints. */ public function to_array(): array { $result = []; foreach ( $this->endpoints as $endpoint ) { $result[ $endpoint->get_name() ] = $endpoint->get_url(); } return $result; } /** * Converts the list to an array of paths (namespace + route, without host). * * @return array<string, string> The array of endpoint paths. */ public function to_paths_array(): array { $result = []; foreach ( $this->endpoints as $endpoint ) { $result[ $endpoint->get_name() ] = $endpoint->get_namespace() . $endpoint->get_route(); } return $result; } /** * Merges two Endpoint_List objects together. * Returns the current instance for method chaining. * * @param Endpoint_List $other_list The other Endpoint_List to merge with. * * @return $this */ public function merge_with( Endpoint_List $other_list ): Endpoint_List { foreach ( $other_list->endpoints as $endpoint ) { $this->add_endpoint( $endpoint ); } return $this; } }
[-] endpoint-list.php
[edit]
[+]
..
[-] endpoint-interface.php
[edit]
[-] endpoints-repository.php
[edit]