在应用程序启动之前运行代码,这是Silex中的最佳方式

时间:2016-01-06 10:47:41

标签: php symfony silex

我正在构建应用程序,用于服务器监视和监视数据过滤。这个应用程序使用Zabbix监控工具前端的遗留代码,它包含一些需要包含的配置文件和一些用于数据库的类。

在开始与数据库交互之前,我应该做三件事:

DBstart();

$serviceFactory = new CApiServiceFactory();

API::setApiServiceFactory($serviceFactory);

CWebUser::login($_SERVER['PHP_AUTH_USER'], '');

在使用Silex时,如何整合这些步骤?

在整个地方都使用带有静态方法调用的API类。

1 个答案:

答案 0 :(得分:0)

您可以在Silex应用程序启动之前执行任何有效的PHP代码:

this

但是你应该考虑服务并重构你的遗留代码以利用粉刺容器实际集成它。 E.g:

<?php
require_once __DIR__.'/../vendor/autoload.php'; 

$app = new Silex\Application(); 

// the code you like to execute before the app starts goes here
DBstart();
$serviceFactory = new CApiServiceFactory();
API::setApiServiceFactory($serviceFactory);
CWebUser::login($_SERVER['PHP_AUTH_USER'], '');

// Silex app starts:
$app->run();