The Config object is the primary interface to interact with the system configuration. You retrieve the Config object by calling the config() function like so:
$config = \Drupal::config('system.site');
This method returns a \Drupal\Core\Config\ImmutableConfig object that can only be used to read the configuration. If you need to modify the configuration, you can use the config.factory service, like so:
$config = \Drupal::service('config.factory')->getEditable('system.site');
To read attributes of the Config object, you can use the get() function, like:
$name = \Drupal::config('system.site')->get('name');
When retrieving nested configuration values, you can retrieve the full array of values using the get() function. For example, calling:
$pages = \Drupal::config('system.site')->get...