दुर्भाग्य के लिए सही फ़ाइल, के लिए गुंजाइश नहीं है bootstrap.php
bootstrap.php
है, इसलिए $adv_types
वैरिएबल बाहर निकल जाएगा जैसे ही PHP bootstrap.php
पार्सिंग को पूरा करता है।
आपकी वास्तविक आवश्यकताओं के आधार पर आप कई दृष्टिकोण ले सकते हैं।
समाधान 1: आप अपने विचारों
आप चर की जरूरत है सभी दृश्यों में उपलब्ध होने के लिए आपको को परिभाषित करने और AppController::beforeRender()
में यह निर्धारित करना चाहिए के कई में इस चर की जरूरत है।
app/app_controller.php
में:
class AppController extends Controller
{
function beforeRender()
{
parent::beforeRender();
$adv_types = array('top' => 'Верх', 'left' => 'Левое', 'right' => 'Правое', 'bottom' => 'Нижнее');
$this->set(compact('adv_types'));
}
}
यह $adv_types
सरणी तक पहुँचने के लिए अपने किसी भी दृश्य की अनुमति देगा।
समाधान 2: यदि आप अपने CakePHP एप्लिकेशन
के भीतर कहीं भी इस चर के लिए उपयोग की जरूरत है तो आप अपने ऐप में कहीं $adv_types
चर का उपयोग करना आवश्यक है हो सकता है आप Configure
संग्रह करने के लिए जोड़ सकते हैं। bootstrap.php
में:
Configure::write('NameOfYourAppAsNamespace.adv_types', array('top' => 'Верх', 'left' => 'Левое', 'right' => 'Правое', 'bottom' => 'Нижнее'));
मैं एक छद्म नाम स्थान के रूप में अपनी परियोजना के नाम का उपयोग करना चाहिये; adv_types
अन्य पहचानकर्ताओं के साथ संघर्ष करने की संभावना नहीं है, लेकिन यदि आप इस दृष्टिकोण का अधिक बार उपयोग करना शुरू करते हैं, तो संघर्ष बनाने की संभावना बढ़ जाती है। इसके अतिरिक्त, यह आपको एक नामस्थान के तहत Configure
संग्रह में संग्रहीत डेटा को समूहित करने की अनुमति देता है, जो डिबगिंग के लिए आसान हो सकता है।
वैसे भी, यह दृष्टिकोण आपको Configure::read()
का आह्वान करके केकेपीएचपी छतरी के नीचे किसी भी दायरे में चर का उपयोग करने की अनुमति देगा।इस प्रकार:
$adv_types = Configure::read('NameOfYourAppAsNamespace.adv_types');
समाधान 3: आप पूरी तरह इस चर एक वैश्विक चर के रूप में उपलब्ध होना आवश्यक है
आप बिल्कुल एक मानक PHP वैश्विक चर के रूप में यह होना आवश्यक है, तो आपको निम्न कर सकता है:
$GLOBALS['adv_types'] = array('top' => 'Верх', 'left' => 'Левое', 'right' => 'Правое', 'bottom' => 'Нижнее');
ऐसा करने से पहले, पर विचार करें कि क्या यह अत्यंत आवश्यक होता है। वैश्विक चर वास्तव में गन्दा व्यवसाय हैं, और आपके पास होना चाहिए और इसे उचित ठहराने के लिए की आवश्यकता होनी चाहिए।
संपादित/अपडेट करें!
Google अनुवाद में तीस सेकंड ने मुझे यह पता लगाने के लिए प्रेरित किया है कि आपके सरणी में कुंजी के अनुरूप अनुवाद शामिल हैं। आप केकपीएचपी की Internationalization & Localization सुविधाओं का उपयोग करके जांच कर सकते हैं ताकि अंग्रेजी और रूसी शब्दों के बीच शीर्ष/बाएं/दाएं/नीचे (और बाकी सब कुछ) के बीच भेद को दूर किया जा सके।
यदि आप इसे फॉर्म विकल्प (जैसा लगता है) के लिए उपयोग कर रहे हैं, तो आप कुछ ऐसा उपयोग करना चाहेंगे: http://www.dereuromark.de/2010/06/24/static-enums-or-semihardcoded-attributes/ – mark