2014-07-12 6 views
5

को मजबूर करना मेरे पास प्रोजेक्ट में मेरी script.php फ़ाइल है। इसमें जावास्क्रिप्ट है, लेकिन मैं सर्वर-साइड डेटा के आधार पर गतिशील रूप से इसे बनाना चाहता था।PhpStorm फ़ाइल प्रकार

मैंने इसे सामग्री-प्रकार को php के साथ टेक्स्ट/जावास्क्रिप्ट में सेट किया है, लेकिन PhpStorm इसे जावास्क्रिप्ट फ़ाइल के रूप में नहीं देखता है। इसलिए मैंने जावास्क्रिप्ट सिंटैक्स हाइटलाइटिंग, त्रुटि पहचान, लाइव टेम्पलेट्स को खोला ...

मैं phpStorm को जावास्क्रिप्ट फ़ाइल के रूप में .php फ़ाइल को देखने के लिए कैसे मजबूर कर सकता हूं?

उत्तर

4

आप इस प्रकार की फ़ाइल के लिए एक नामकरण सम्मेलन बना सकते हैं।

कुछ

तरह
foo.js.php 
bar.js.php 
baz.js.php 

और फिर विकल्प ALT + F7 पर जाते हैं, जावास्क्रिप्ट

enter image description here

आपको क्या करने की कोशिश कर रहे हैं बुरा व्यवहार की तरह लगता है के लिए File Types पर नेविगेट करें और *.js.php रजिस्टर।

आप शायद कुछ इस तरह करना चाहते हैं:

एक असली जे एस फ़ाइल जो क्लोजर संकलक या ऐसा ही कुछ है, जो "bootstrap" काम करता है, जो पैरामीटर के रूप में अपने मूल्यों ले प्रदान करता है द्वारा compileable है।

और अगर आप अपने template.php में यह लिख, सब कुछ पीएचपी तूफान के लिए ठीक है:

<script> 
    doFoo(<?= $myFirstValue ?>, <?= $myFirstValue ?>); 
</script> 

शायद तुम डेटा के साथ काम कर सकते हैं आपका HTML जो मुझे लगता है कि क्लीनर तो इनलाइन स्क्रिप्ट टैग है में जिम्मेदार बताते हैं।

इसके अलावा यहां एक बार देख ले: https://softwareengineering.stackexchange.com/a/126678/122683

+0

जब मैं ऐसा करता हूं, तो यह जावास्क्रिप्ट को पहचानता है, लेकिन अब यह php को पहचान नहीं है। जब मैं जावास्क्रिप्ट के साथ * .js.php वाइल्डकार्ट को php में जोड़ने का प्रयास करता हूं, तो मुझे वाइल्डकार्ड – user3829754

+0

का पुन: उपयोग करना होगा मेरे उत्तर का दूसरा भाग पढ़ें। आप वास्तव में ऐसा नहीं करना चाहते हैं। यहां एक नज़र डालें: http: // प्रोग्रामर।stackexchange.com/a/126678/122683 –

1

Settings | Template Data Languages

आपकी फ़ाइल का पता लगाएं और --then यह है कि में सभी फाइलों को लागू किया जाएगा यह (या पूरे फ़ोल्डर के लिए अधिकार स्तम्भ में JavaScript आवंटित फ़ोल्डर और उपफोल्डर्स)।

यह आईडीई को डिफ़ॉल्ट HTML के बजाय उस फ़ाइल के लिए बाहरी भाषा के रूप में उपयोग करने के लिए बताएगा।

1

आप <<<JS हेड्रोक वाक्यविन्यास का उपयोग कर सकते हैं ताकि PhpStorm आपकी फ़ाइल के एक विशिष्ट भाग को जावास्क्रिप्ट के रूप में हाइलाइट कर सके। उदाहरण के लिए:

<?php 
echo 'This is using PHP syntax highlighting'; 
echo <<<JS 
    <script>document.write('This is using JavaScript highlighting');</script> 
JS; 

तुम भी एएलटी साथ फ़ाइल-विशिष्ट भाषा इंजेक्शन + enter कर सकते हैं, यह भी उस पर अधिक जानकारी के लिए http://blog.jetbrains.com/phpstorm/2013/06/language-injection-in-phpstorm/ देखते हैं।

0

आप इंटेलिजे के अंतर्निहित भाषा इंजेक्शन का भी उपयोग कर सकते हैं (जो मंच है जिस पर phpStorm बनाया गया है)। इसके लिए, बस अपनी फ़ाइल का हिस्सा चिह्नित करें, फिर ALT + ENTER दबाएं और "भाषा/संदर्भ इंजेक्ट करें" का उपयोग करें।