fb_instant_articles-8.x-2.2/src/DrupalClientFactory.php

src/DrupalClientFactory.php
<?php

namespace Drupal\fb_instant_articles;

use Drupal\Core\Config\ConfigFactoryInterface;

/**
 * Factory class to create a \Drupal\fb_instant_articles\DrupalClient.
 */
class DrupalClientFactory {

  /**
   * Create an instance of DrupalClient.
   *
   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
   *   Config factory service.
   *
   * @return \Drupal\fb_instant_articles\DrupalClient
   *   Instance of DrupalClient.
   *
   * @throws \Drupal\fb_instant_articles\MissingApiCredentialsException
   */
  public static function create(ConfigFactoryInterface $config_factory) {
    $config = $config_factory->get('fb_instant_articles.settings');

    $app_id = $config->get('app_id');
    $app_secret = $config->get('app_secret');
    $access_token = $config->get('access_token');

    if (empty($app_id) || empty($app_secret) || empty($access_token)) {
      throw new MissingApiCredentialsException('The Facebook Instant Articles API has not been configured yet.');
    }

    $client = DrupalClient::create(
      $config->get('app_id'),
      $config->get('app_secret'),
      $config->get('access_token'),
      $config->get('page_id'),
      $config->get('development_mode') ? TRUE : FALSE
    );

    return $client;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc