boot.inc 891 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. use Igorw\Silex\ConfigServiceProvider;
  3. use Silex\Application;
  4. function boot_load() {
  5. // Enable Composer autoloading.
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. // Hard load non-autoloadable Google library
  8. $lib_path = realpath(__DIR__ . '/../lib/google-api-php-client');
  9. require_once "$lib_path/src/Google_Client.php";
  10. require_once "$lib_path/src/contrib/Google_CalendarService.php";
  11. }
  12. function boot_app($env = 'prod') {
  13. $config_dir = realpath(__DIR__ . '/../config');
  14. $base_config = "$config_dir/config.json";
  15. $env_config = "$config_dir/$env.json";
  16. $app = new Application();
  17. $app->register(new ConfigServiceProvider($base_config));
  18. $app->register(new ConfigServiceProvider($env_config));
  19. return $app;
  20. }
  21. function boot() {
  22. $env = isset($_ENV['APP_ENV']) ? $_ENV['APP_ENV'] : 'prod';
  23. boot_load($env);
  24. $app = boot_app($env);
  25. return $app;
  26. }