मैंने अभी लारवेल के साथ काम करना शुरू किया। मुझे एक पूरी प्रणाली को फिर से लिखने की ज़रूरत है जो मैंने कुछ साल पहले बनाई थी, लारवेल 4 को बेस फ्रेमवर्क के रूप में इस्तेमाल किया। मेरी पुरानी प्रणाली में, मेरे पास constant.php
कुछ स्थिरांक के साथ एक फ़ाइल थी, और एक globals.php
फ़ाइल जिसमें बहुत सारे सरणी सेट होते थे (उदाहरण के लिए, श्रेणियों की स्थिति, घटनाओं के प्रकार, लंगड़े, आदि)। ऐसा करने से, मैं कुछ का उपयोग कर सकता था
foreach ( $langs as $code => $domain ) {
// Some stuff
}
मेरे app में कहीं भी
मेरा सवाल है, मैं उस जानकारी को तथाकथित "लार्वावेल" कैसे स्टोर कर सकता हूं। मैंने इस जानकारी को संग्रहीत करने के लिए किसी वस्तु का उपयोग करने की कोशिश की, इसे एक सेवा के रूप में स्थापित किया और इसे एक मुखौटा बनाया:
एप्लिकेशन / पुस्तकालयों / परियोजना / Constants.php
namespace PJ;
class Constants {
public static $langs = [
'es' => 'www.domain.es',
'en' => 'www.domain.us',
'uk' => 'www.domain.uk',
'br' => 'www.domain.br',
'it' => 'www.domain.it',
'de' => 'www.domain.de',
'fr' => 'www.domain.fr'
];
}
एप्लिकेशन / पुस्तकालयों / परियोजना / ConstantsServiceProvider.php
namespace PJ;
use Illuminate\Support\ServiceProvider;
class ConstantsServiceProvider extends ServiceProvider {
public function register() {
$this->app->singleton('PJConstants', function() {
return new Constants;
});
}
}
एप्लिकेशन / पुस्तकालयों / परियोजना / ConstantsFacade.php
namespace PJ;
use Illuminate\Support\Facades\Facade;
class ConstantsFacade extends Facade {
protected static function getFacadeAccessor() {
return 'PJConstants';
}
}
composer.json
"psr-4": {
"PJ\\": "app/libraries/Project"
},
और इसलिए मैं उस संपत्ति का उपयोग करता हूं PJ\Constants::$langs
।
यह काम करता है, लेकिन मुझे संदेह है कि यह करने का सबसे कुशल या सही तरीका है। मेरा मतलब है, यह एक संपूर्ण सेवा प्रदाता और facades और इस तरह के सभी सामान बनाकर एक चर को "प्रचारित" करने का सही तरीका है? या मुझे यह डेटा कहां रखना चाहिए?
किसी भी सलाह के लिए धन्यवाद।
EDIT # 01
डेटा जिसे मैं सभी नियंत्रकों को पास करना चाहता हूं और विचारों को स्क्रिप्ट में सीधे सेट किया जा सकता है, जैसे कि मेरी पोस्ट की शुरुआत में उदाहरण के लिए, लेकिन इसे डेटाबेस से गतिशील रूप से भी उत्पन्न किया जा सकता है, उदाहरण के लिए। यह डेटा श्रेणियों की एक सूची हो सकती है। मुझे एक नेविगेशन बार उत्पन्न करने के लिए सभी दृश्यों में उनकी आवश्यकता है, लेकिन मुझे कुछ रूटिंग पैटर्न (जैसे /category/subcategory/product
) को परिभाषित करने के लिए भी उनकी आवश्यकता है , और कई नियंत्रकों में कुछ जानकारी को पार्स करने के लिए भी (जैसे कि एक्स उत्पाद रखने वाली श्रेणी से जानकारी प्राप्त करें)।
मेरी सरणी कुछ इस प्रकार है:
$categories = [
1 => ['name' => 'General', 'parent' => 0, 'description' => 'Lorem ipsum...'],
2 => ['name' => 'Nature', 'parent' => 0, 'description' => 'Lorem ipsum...'],
3 => ['name' => 'World', 'parent' => 0, 'description' => 'Lorem ipsum...'],
4 => ['name' => 'Animals', 'parent' => 2, 'description' => 'Lorem ipsum...']
]
उदाहरण के तौर पर। अनुक्रमणिका श्रेणी की आईडी है, और मान श्रेणी से जुड़ी जानकारी है।
मुझे इस सरणी की आवश्यकता है, सभी नियंत्रकों और दृश्यों में भी उपलब्ध है।
तो, क्या मुझे इसे कॉन्फ़िगर चर के रूप में सहेजना चाहिए? मैं इन आंकड़ों को कैसे संग्रहीत कर सकता हूं; सबसे अच्छा और शब्दार्थ तरीका क्या होगा?