هل هناك طريقة سهلة للحصول على اسم ServerName في Symfony؟
سؤال
لقد كنت أبحث عن طريقة سهلة للحصول على اسم ServerName للجهاز حيث يعمل Symfony في Symfony (بحيث يتكيف تطبيقي عند استخدامه على مضيف يحمل اسم خادم مختلف) ، لكنني لم أتمكن من العثور على واحد. لقد قمت بإنشاء متغير في app.yml وأنا أحضره ، لكنني ما زلت أتساءل عما إذا لم تكن هناك طريقة أسهل للقيام بذلك. كيف تفعلون هذا؟ أنا أستخدم Symfony 1.2 و 1.4 في مشاريع مختلفة.
المحلول
أعتقد أنني وجدت شيئا :
$this->getRequest()->getHost()
يبدو أن هذا يعمل ... سيعمل فقط هناك طلب بالطبع ، لذلك ليس عالميًا.
نصائح أخرى
ليست لطيفة جدا ، لكني أستخدم $_SERVER["SERVER_NAME"]
في ملف وحدة التحكم الأمامية الخاصة بي ، واستخدم ذلك لتحديد البيئة التي أقوم بتفعيلها:
$env = "prod";
if (preg_match("/qahost\.tld$/", $_SERVER["SERVER_NAME"]))
{
$env = "qa";
}
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', $env, false);
sfContext::createInstance($configuration)->dispatch();
سأكون مهتمًا برؤية لائق مقاربة :-)
لا تنتمي إلى StackOverflow