我参与了一个前同事设立的symfony 3项目。我是Symfony的初学者。
我不知道如何从数据库中自动加载数据(参数)以在php常量中设置
该应用程序以此文件开头:/web/app_matnat_dev.php
<?php
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Debug\Debug;
require_once 'access_control.inc.php';
ini_set("error_reporting", E_ALL);
ini_set("display_errors", "1");
/**
* @var Composer\Autoload\ClassLoader $loader
*/
$loader = require __DIR__.'/../app/autoload.php';
Debug::enable();
$kernel = new AppKernel($_SERVER['SFENV'], true);
$kernel->loadClassCache();
$request = Request::createFromGlobals();
try {
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
} catch (Exception $e) {
var_dump($e);
}
它包括/app/autoload.php:
<?php
use Doctrine\Common\Annotations\AnnotationRegistry;
use Composer\Autoload\ClassLoader;
/**
* @var ClassLoader $loader
*/
$loader = require __DIR__.'/../vendor/autoload.php';
AnnotationRegistry::registerLoader([$loader, 'loadClass']);
/* Ensemble de fonctions dont j'ai besoin */
require_once __DIR__.'/../src/RecupBundle/env.php';
require_once __DIR__.'/../src/RecupBundle/autoload_orm.php';
//require_once __DIR__.'/../src/RecupBundle/constants.php';
require_once __DIR__.'/../src/RecupBundle/functions.php';
return $loader;
这就是我想(我认为我可以)从数据库加载我的参数和包含其他参数之后
require_once __DIR__.'/../src/RecupBundle/constants.php';
我在这个文件的第一行调用一个方法
// database parameters to constants
use function RecupBundle\ORM\param;
RecupBundle\ORM\param()->load();
但我有这个错误
Notice: Undefined index: db_link in /src/RecupBundle/ORM/db_query.php on line 44
因为当我这样做时,db_link只在/web/app_matnat_dev.php中定义了$response = $kernel->handle($request);
我需要帮助 :)
谢谢
我找到了一个技巧:我在连接到数据库之后就提出了请求。所以,我可以定义项目中到处使用的常量。