পিএইচপি সংক্ষিপ্ত ট্যাগগুলি কি গ্রহণযোগ্য?


522

অফিসিয়াল ডকুমেন্টেশন অনুযায়ী তথ্য এখানে :

খোলার এবং ক্লোজিং ট্যাগগুলির চারটি পৃথক জুটি রয়েছে যা পিএইচপি ব্যবহার করা যেতে পারে। এর মধ্যে দুটি <?php ?> এবং <script language="php"> </script>সর্বদা উপলব্ধ available অন্য দুটি হ'ল সংক্ষিপ্ত ট্যাগ এবং এএসপি শৈলী ট্যাগ এবং php.ini কনফিগারেশন ফাইল থেকে চালু এবং বন্ধ করা যায়। যেমন, কিছু লোক শর্ট ট্যাগ এবং এএসপি স্টাইল ট্যাগগুলি সুবিধাজনক হিসাবে খুঁজে পান, তারা কম বহনযোগ্য, এবং সাধারণত প্রস্তাবিত নয়

আমার অভিজ্ঞতা সবচেয়ে সার্ভার না সংক্ষিপ্ত ট্যাগ সক্ষম করা আছে। টাইপিং

<?=

টাইপিংয়ের চেয়ে অনেক বেশি সুবিধাজনক

<?php echo 

প্রোগ্রামারদের সুবিধাদি একটি গুরুত্বপূর্ণ উপাদান, সুতরাং কেন তাদের সুপারিশ করা হয় না?


61
whyঅংশটির উত্তর দেওয়ার জন্য , আমি জেনড পিএইচপি 5 শংসাপত্রের গাইডটি উদ্ধৃত করেছি: "পিএইচপি ওয়ার্ল্ডের মধ্যে কিছু সময়ের জন্য ছোট ট্যাগগুলি ছিল; তবে, তাদের এক্সএমএল শিরোনামগুলির সাথে বিরোধের বড় কারণ রয়েছে এবং তাই কিছুটা হলেও পথের ধারে পড়েছে। "
ফ্লফি

7
এই সমস্যাটি উপস্থিত হওয়ার ক্ষেত্রে ব্যবহারের ক্ষেত্রে কী বোঝায় যে পিএইচপি ব্যবহার করে বিকাশকারীদের এক্সএমএল উত্পন্ন করতে ব্যথা হয়?
জন z

9
ধরা যাক আপনার কাছে এক্সএমএল ডকুমেন্ট রয়েছে যা আপনি সর্বজনীন চান, তবে আপনি চান যে ডকুমেন্টগুলি পিএইচপি পার্সেবল হতে পারে যাই হোক না কেন কারণ আপনার ব্রাউজারের দ্বারা .xML পার্সেবল করে তোলে। আপনি সংক্ষিপ্ত ট্যাগগুলি ব্যবহার করেন যাতে সেগুলি চালু হয় এবং হঠাৎ এক্সএমএল নথিটি এক্সএমএল শিরোনামগুলির মাধ্যমে বিভক্ত হয়ে জিনিসগুলি ভেঙে দেয়। অনেক আগে এই বিষয়টি বের করার চেষ্টা করে আমাকে বাদামকে তাড়িয়ে দেয়। যেহেতু আমি চালিত কোনও সার্ভারে সংক্ষিপ্ত কোডগুলি অক্ষম করা হয়েছে এবং আমি যে কোনও দলের সাথে কাজ করেছি তাদের নন শর্ট কোডটি অবলম্বন করতে হবে
থিমটি

43
পিএইচপি 5.4.0 থেকে শর্ট_পেন_ট্যাগ নির্দেশিকায় সংক্ষিপ্ত প্রতিধ্বনি ট্যাগ অন্তর্ভুক্ত নয় <?= $example;?> ! এটি খুব গুরুত্বপূর্ণ কারণ অন্য সমস্ত ছোট ট্যাগ ব্যবহার নিষ্ফল বলে বিবেচিত হয়। যাইহোক শর্ট ইকো ট্যাগ ব্যবহার এখন থেকে উত্সাহিত করা হয়। এটি একটি মসৃণ এবং পরিশ্রমী কোড-বেস সরবরাহ করে - esp। ফাইল দেখুন। সুতরাং পিএইচপি> = 5.4.0 এর জন্য বিন্যাস ছাড়াই<?= ?> ব্যবহার করা যেতে পারে । দয়া করে আপনার কোডে অন্য ছোট ট্যাগ ব্যবহার করবেন না। কোড-গডস যখন আপনি এটি করেন তখন খুব রেগে যায় ... short_open_tag
বোরিসালভ সাবदेव

6
আমি এটিকে একটি দ্রুত মন্তব্য হিসাবে যুক্ত করতে যাচ্ছি, কারণ ইতিমধ্যে অনেক দীর্ঘ উত্তর রয়েছে: <?এটি কেবলমাত্র এক্সএমএলে উদ্বোধনী <?xml version="1.0" ?>ঘোষণার জন্য ব্যবহৃত হয় না ; এটি "প্রক্রিয়াকরণের নির্দেশাবলীর" জন্য সাধারণ বাক্য গঠন, এটি ২ য় সাধারণ উদাহরণ <?xml-stylesheet ... ?><?phpপ্রকৃতপক্ষে একটি বৈধ প্রক্রিয়াকরণের নির্দেশ হিসাবে বিবেচনা করা যেতে পারে <?=(যেমন 5.4+ এ অনুমোদিত) তবে পুরো দাবিটি <?সিনট্যাক্সগুলির মধ্যে অপ্রয়োজনীয় দ্বন্দ্ব তৈরি করে।
IMSoP

উত্তর:


374

তাদের প্রস্তাব দেওয়া হচ্ছে না কারণ এটির একটি পিআইটিএ যদি আপনাকে কখনও নিজের কোডটি এমন কোনও সার্ভারে সরিয়ে নিতে হয় যেখানে এটি সমর্থিত নয় (এবং আপনি এটি সক্ষম করতে পারবেন না)। যেমন আপনি বলতে, ভাগ হোস্ট প্রচুর না সমর্থন shorttags কিন্তু "প্রচুর" নয় তাদের সব। আপনি যদি আপনার স্ক্রিপ্টগুলি ভাগ করতে চান তবে পুরো বাক্য গঠনটি ব্যবহার করা ভাল।

আমি এটির সাথে একমত <?এবং <?=প্রোগ্রামারগুলিতে এর চেয়ে সহজ <?phpএবং <?php echoতবে যতবার আপনি প্রতিটি বার একই ফর্ম ব্যবহার করেন ততক্ষণ একটি বাল্ক সন্ধান এবং প্রতিস্থাপন করা সম্ভব (এবং স্পেসে চক করবেন না (যেমন: <? phpবা <? =))

আমি কারণ হিসাবে মোটেও পঠনযোগ্যতা কিনছি না। বেশিরভাগ গুরুতর বিকাশকারীদের কাছে সিনট্যাক্স হাইলাইট করার বিকল্প রয়েছে।

যেমনটি থিফমাস্টার মন্তব্যগুলিতে উল্লেখ করেছেন , পিএইচপি ৫.৪ হিসাবে <?= ... ?>শর্টট্যাগ সেটিংস নির্বিশেষে ট্যাগগুলি সর্বত্র সমর্থিত । এর অর্থ এই হওয়া উচিত যে তারা পোর্টেবল কোডে ব্যবহার করা নিরাপদ তবে এর অর্থ এই নয় যে পিএইচপি 5.4+ এর উপর নির্ভরতা রয়েছে। আপনি যদি প্রাক -5.4 সমর্থন করতে চান এবং শর্টট্যাগগুলি গ্যারান্টি দিতে না পারেন তবে আপনার এখনও ব্যবহার করতে হবে<?php echo ... ?>

এছাড়াও, আপনার জানা দরকার যে পিএইচপি 7 থেকে এএসপি ট্যাগ <%,%>, <% =, এবং স্ক্রিপ্ট ট্যাগ সরানো হয়েছে । সুতরাং আপনি যদি দীর্ঘমেয়াদী পোর্টেবল কোডটিকে সমর্থন করতে চান এবং সর্বাধিক আধুনিক সরঞ্জামগুলিতে স্যুইচ করতে চান তবে কোডটির সেই অংশগুলি পরিবর্তনের বিষয়ে বিবেচনা করুন।


91
সুতরাং, ব্যাখ্যাটি হল: তারা সমর্থন করে না বলে তারা খারাপ? তবে কেন তাদের সমর্থন দেওয়া হচ্ছে না? কারণ তারা স্পেসিফিকেশন অংশ না? ঠিক আছে, তবে কেন তারা নির্দিষ্টকরণের অংশ নয়? আমি এই উত্তরটি নিয়ে কিছুটা হতাশ।
জোসেফ সাবল

61
আমরা এখানে কেন আছি, এটি কীভাবে শুরু হয়েছিল ইত্যাদি "বড় প্রশ্নগুলি" নিয়ে আলোচনা করার জন্য আমি এখানে নেই। ভাগ করা সার্ভারগুলিতে শর্টট্যাগ সমর্থনটির নিশ্চয়তা নেই এবং এটি পরবর্তী পরবর্তী সংস্করণটিকে সম্পূর্ণ অপসারণ করা হচ্ছে। সব thats আপনাকে জানতে হবে.
অলি

39
বাধ্যতামূলক পিএইচপি হল একটি টেমপ্লেট ইঞ্জিন। : পি
সিন্ট্যাক্স ত্রুটি

49
সংক্ষিপ্ত ট্যাগগুলি পর্যায়ক্রমে নেওয়া হচ্ছে না। কেবল এএসপি শৈলীর শর্ট ট্যাগ।
ব্রায়ান লেসি

46
পিএইচপি 5.4 এর (খুব নিকটে) ভবিষ্যতে <? = এর ব্যবহার শর্ট_পেন_ট্যাগগুলি সক্ষম বা অক্ষম কিনা তা থেকে পৃথক করা হবে। <? = পর্যায়ক্রমে বের হচ্ছে না, একেবারে বিপরীত এখন এটি ভাষার একটি মৌলিক অংশ হিসাবে বিবেচিত হয়।
মিঃ গ্রিভার 19

175

আমি <?=$whatever?>এটিকে ছেড়ে দেওয়ার খুব পছন্দ করি। এটি নিয়ে কখনও সমস্যা হয়নি। এটি আমাকে পাছায় কামড়ে না দেওয়া পর্যন্ত অপেক্ষা করব। সমস্ত গুরুত্ব সহকারে, 85% (আমার) ক্লায়েন্টদের বিরল উপলক্ষে php.ini এ অ্যাক্সেস রয়েছে । অন্যান্য 15% মূলধারার হোস্টিং সরবরাহকারী ব্যবহার করে এবং কার্যত তাদের সকলেই সেগুলি সক্ষম করে। আমি তাদের ভালবাসি।


41
@ বি সেভেন আপনি যদি উত্থাপিত প্রতিটি তাত্ত্বিক সমস্যা এড়াতে চেষ্টা করেন তবে আপনার কোডটি অবশ্যই স্পষ্টভাবে অকার্যকর এবং বগিযুক্ত হবে। পিএইচপি গ্রুপটি [এএসপি ট্যাগ নয়] শর্ট ট্যাগগুলি পর্যায়ক্রমে রাজি না হওয়া পর্যন্ত, আপনি যতটা সময় "ফিক্সিং" ব্যয় করতে পারবেন তার অন্যান্য জিনিসগুলির চেয়ে কাটা হওয়ার উদ্বেগ অনেক কম, এবং সম্ভাব্য সমাধান অনেক সহজ।
সামগুডি

18
যদি এটি আপনাকে কামড়ায় তবে আরও ভাল হোস্টিংয়ে যান
লাই রায়ান

4
আমি সত্যিই কিছু ব্যবহার না কারণ এটি সাথে একমত নই পারে সমর্থিত নাও হতে। আমরা কি অন্য কোনও বৈশিষ্ট্য ব্যবহার করব না যা কোনও সার্ভারে সমর্থনযোগ্য নয়? মাইএসকিউএল বনাম মাইএসকিউলি? আপনি নিজের সময়কে অল্প অল্প করে নষ্ট করবেন, আরও ভাল হোস্টে পরিবর্তনের জন্য সামান্য সময় ব্যয় করার ক্ষুদ্র সুযোগটি এড়াতে বার বার দীর্ঘ ট্যাগগুলি লিখতে হবে।
ডিন বা

2
@ বিভেন, আপনি কি বলতে চান যে আপনি ডিফল্ট শিপড ছাড়া কোনও পিএইচপি এক্সটেনশন ব্যবহার করেন না?
পেসারিয়ার

143

পিএইচপি 5.4 দিয়ে শুরু করে ইকো শর্টকাটটি শর্ট ট্যাগগুলির থেকে পৃথক সমস্যা, কারণ প্রতিধ্বনি শর্টকাট সর্বদা সক্ষম হয়ে থাকবে। এটি এখন একটি সত্য:

সুতরাং ইকো শর্টকাট নিজেই ( <?=) এখন ব্যবহার করা নিরাপদ।


19
আমি বলব এটি কেবলমাত্র "শর্ট ট্যাগ" দরকার। <?phpসমস্ত বর্গ ফাইলের শুরুতে ব্যবহার করা যেতে পারে এবং তারপরে <?=আপনার মতামতের জন্য। জয়, জয়।
জিওনক্রস

6
So the echo shortcut itself (<?=) is safe to use... যতক্ষণ আপনি পিএইচপি 5.4 প্রয়োজন আরামদায়ক। বিস্তৃত বিতরণকৃত পিএইচপি অ্যাপ্লিকেশনগুলিতে (ওয়ার্ডপ্রেসের মতো) 5.4 প্রয়োজনের বিলাসিতা নেই এবং এমনকি পিএইচপি 4 সমর্থনটি 2011 পর্যন্ত অব্যাহত রেখেছিল - পিএইচপি 5 প্রকাশের পুরো 7 বছর পরে। আপনি যদি ফেসবুকের মতো কোনও জায়গায় থাকেন, যেখানে আপনার সফ্টওয়্যারটির সমস্ত ইনস্টলেশন সরাসরি সংস্থা দ্বারা পরিচালিত হয়, তবে আপনি ওয়ার্ডপ্রেসের মতো কোনও প্রকল্পে কাজ করছেন তার চেয়ে 5.4 সমর্থন প্রয়োজন।
ফ্রাঙ্ক ফার্মার

@ ডিউকোফগেমিং, বাহ ভাল ক্যাচ, জানেন না যে তাদের এসভিএন সংশোধনগুলি ওয়েবে অ্যাক্সেসযোগ্য।
পেসারিয়ার

82

এই পুরো আলোচনার সমস্যাটি পিএইচপিকে একটি টেম্প্লেটিং ভাষা হিসাবে ব্যবহারের মধ্যে নিহিত। কেউই যুক্তি দিচ্ছে না যে অ্যাপ্লিকেশন উত্স ফাইলগুলিতে ট্যাগগুলি ব্যবহার করা উচিত।

তবে পিএইচপি-এর এম্বেডযোগ্য সিনট্যাক্স এটিকে একটি শক্তিশালী টেম্পলেট ভাষা হিসাবে ব্যবহার করার অনুমতি দেয় এবং টেমপ্লেটগুলি যতটা সম্ভব সহজ এবং পঠনযোগ্য হওয়া উচিত। স্মার্টের মতো অনেক ধীর, অ্যাড-অন টেম্প্লেটিং ইঞ্জিন ব্যবহার করা অনেকের পক্ষে সহজ হয়েছে, তবে আমাদের মধ্যে যারা শুদ্ধরূপে দ্রুত রেন্ডারিং এবং খাঁটি কোড বেসের দাবি করেন তাদের মধ্যে পিএইচপি টেমপ্লেট লেখার একমাত্র উপায়।

সংক্ষিপ্ত ট্যাগগুলির ব্যবহারের বিরুদ্ধে কেবলমাত্র বৈধ যুক্তি হ'ল এগুলি সমস্ত সার্ভারে সমর্থিত নয়। এক্সএমএল নথিগুলির সাথে দ্বন্দ্ব সম্পর্কে মন্তব্যগুলি হাস্যকর, কারণ সম্ভবত আপনার পিএইচপি এবং এক্সএমএল মিশ্রিত করা উচিত নয়; এবং আপনি যদি হন তবে আপনার পাঠ্যের স্ট্রিংগুলি আউটপুট করতে পিএইচপি ব্যবহার করা উচিত। সুরক্ষা কোনও সমস্যা হওয়া উচিত নয়, কারণ আপনি যদি টেমপ্লেট ফাইলগুলির মধ্যে ডাটাবেস অ্যাক্সেস শংসাপত্রগুলির মতো সংবেদনশীল তথ্য রাখেন তবে ভাল, আপনার কাছে আরও বড় সমস্যা রয়েছে!

এখন, সার্ভার সমর্থন ইস্যু হিসাবে, অবশ্যই তাদের লক্ষ্য প্ল্যাটফর্ম সম্পর্কে সচেতন হতে হবে। যদি ভাগ করা হোস্টিং সম্ভাব্য লক্ষ্য হয় তবে সংক্ষিপ্ত ট্যাগগুলি এড়ানো উচিত। তবে অনেক পেশাদার বিকাশকারী (যেমন আমার), ক্লায়েন্ট স্বীকার করে (এবং সত্যই, সত্যের উপর নির্ভর করে) যে আমরা সার্ভারের প্রয়োজনীয়তা নির্ধারণ করব। প্রায়শই আমি নিজে সার্ভার সেট আপ করার জন্য দায়বদ্ধ।

এবং আমরা কখনও কোনও হোস্টিং সরবরাহকারীর সাথে কাজ করি না যা আমাদের সার্ভার কনফিগারেশনের নিখুঁত নিয়ন্ত্রণ দেয় না - এমন ক্ষেত্রে আমরা কেবল সংক্ষিপ্ত ট্যাগ সমর্থন না হারিয়ে অনেক বেশি সমস্যায় পড়তে পারি। এটা ঠিক হয় না।

তাই হ্যাঁ - আমি সম্মত হই যে সংক্ষিপ্ত ট্যাগগুলির ব্যবহারের যত্ন সহকারে ওজন করা উচিত। তবে আমি দৃ firm়রূপে বিশ্বাস করি যে এটি সর্বদা একটি বিকল্প হওয়া উচিত এবং যে বিকাশকারী তার পরিবেশ সম্পর্কে সচেতন সেগুলি ব্যবহারে নির্দ্বিধায় অনুভব করা উচিত।


6
যদি কোনও কারণে, আপনার xx ফাইলগুলি mod_php এ পাস করার জন্য অ্যাপাচি সেট আপ করা থাকে তবে <? XML জিনিসটি শর্ট ট্যাগ সহ মাথা ব্যথা হতে পারে। তবে এটি অবশ্যই একটি উদ্ভট সেটআপ।
ফ্র্যাঙ্ক ফার্ম

3
কিছু ধরণের আউটপুট ডকুমেন্টগুলিতে ওয়ার্কআরউন্ডস ছাড়া এম্বেড করা যায় না এমন একটি টেম্প্লেটিং ভাষা big পিএইচপি কোড এবং সংক্ষিপ্ত ট্যাগগুলির সাথে আমার একটি এক্সএমএল টেমপ্লেট না থাকার একমাত্র কারণ এটি কাজ করে না, কারণ এটি বোধগম্য নয়।
ভিঙ্কো ভার্সালোভিক

8
দ্রুত, সুবিধাজনক টেম্প্লেটিং ভাষা হিসাবে পিএইচপি-র সুবিধা গ্রহণ করা কোনও "বড় ব্যর্থতা" নয়। আমি আগেই বলেছি, এটি আপনার নির্বাচিত পদ্ধতির সাথে সামঞ্জস্যপূর্ণ এমন উপায়ে এবং অসুবিধাগুলি এবং কোড লেখার বিষয়টি বিবেচনা করার বিষয়। স্পষ্টভাবে কোনও বৈধ পদ্ধতির বরখাস্ত করবেন না কারণ এটি কোনও নির্দিষ্ট দৃশ্যে কাজ করে না (যা সহজেই কাজ করা যেতে পারে)।
ব্রায়ান লেসি

5
আমি স্পষ্টত কোনও বৈধ পদ্ধতির বরখাস্ত করছি না (প্রশ্নের আমার উত্তর দেখুন)) আপনিই সেই ব্যক্তি যা এক্সএমএলে পিএইচপি স্পষ্টভাবে বরখাস্ত করেন, আমি উদ্ধৃত করি: "আপনার কোনওভাবেই পিএইচপি এবং এক্সএমএল মিশ্রণ করা উচিত নয়"। এছাড়াও, আমি যে বড় ব্যর্থতার কথা উল্লেখ করছিলাম তা হ'ল <?সংক্ষিপ্ত ট্যাগ হিসাবে ব্যবহারের সিদ্ধান্ত ছিল , কারণ এটি এক্সএমএলে কুৎসিত workarouts বাড়ে। এটি বলেছিল, আমি সম্মত হই যে এটি সুবিধার এবং অসুবিধাগুলি বিবেচনার বিষয়, এবং আপনি যদি জানেন যে আপনি কী করছেন, আপনি অবশ্যই এটি করতে পারেন। তবে এটি <?একটি ভাল পছন্দ করে না ।
ভিঙ্কো ভার্সালোভিক

3
আমি পার্টিতে কিছুটা দেরি করেছি, তবে আমি এই উত্তরটি সত্যিই পছন্দ করি এবং এটি আমার পরিস্থিতিটি পরিস্থিতিটি দিয়ে দেখায়। যদিও আমাদের অফিসে এই বিষয়ে আমাদের কিছুটা দ্বিমত রয়েছে, আমি বলতে পারি যে বহু বছর ধরে পিএইচপি-তে প্রায় প্রতিদিনের কাজ করার পরেও আমি কখনই এই বিষয়টি হয়ে ওঠেনি। পিএইচপি যখন এক্সএমএল তৈরি করতে ব্যবহৃত হয়, তখন আমার অভিজ্ঞতায় এটি সর্বদা উচ্চ গতিশীল বিষয়বস্তুর প্রসঙ্গে ছিল যা পিএইচপি এর মাধ্যমে সরাসরি প্রেরণা পায় নি, তাই সমস্যাটি কখনও সামনে আসে না।
২৩:২। এ ২ red

33

শর্ট ট্যাগগুলি জেন্ড ফ্রেমওয়ার্ককে তাদের ডিফল্ট এমভিসি কনফিগারেশনে " টেম্পলেট ভাষা হিসাবে পিএইচপি " চাপার জন্য ধন্যবাদ ফিরে আসছে । আমি বিতর্কটি কী তা দেখতে পাচ্ছি না, আপনার জীবদ্দশায় আপনি যে সফ্টওয়্যারটি উত্পাদন করবেন তার বেশিরভাগই আপনি বা আপনার সংস্থা নিয়ন্ত্রণ করবে এমন একটি সার্ভারে চলবে। যতক্ষণ আপনি নিজেকে সামঞ্জস্য রাখবেন ততক্ষণ কোনও সমস্যা হওয়া উচিত নয়।

হালনাগাদ

ম্যাজেন্টো নিয়ে বেশ কিছুটা কাজ করার পরে যা দীর্ঘ ফর্ম ব্যবহার করে। ফলস্বরূপ, আমি এর দীর্ঘ ফর্মটিতে পরিবর্তন করেছি:

<?php and <?php echo

উপর

<? and <?=

আন্তঃব্যবহারযোগ্যতা নিশ্চিত করার জন্য অল্প পরিমাণ কাজের মতো মনে হচ্ছে।


8
আমি ফ্রিল্যান্স করি এবং আমার সমস্ত কোড ভাগ করা হোস্টিংয়ে যায় তাই কোনও নিয়ন্ত্রণ নেই! :)
MDCore

12
আপনার যদি পর্যাপ্ত ক্লায়েন্ট থাকে তবে আপনার নিজস্ব কলোক চলে গেছে, ভাগ করা হোস্টিংটি অনিরাপদ এবং অস্থির।
জ্যাক ম্যাকগ্রা

2
জেন্ড লম্বা সংস্করণটি ব্যবহার করছে বলে জেন্ডগুলি সংক্ষিপ্ত ট্যাগগুলি ফিরিয়ে আনছিল apparent ফ্রেমওয়ার্ক.জেন্ড
ম্যানুয়াল/

3
@ জেরি আমি এটিও সম্প্রতি পড়েছি, এই থ্রেডের শেষ মন্তব্যটি দেখুন: সংক্ষিপ্ত ওপেন ট্যাগগুলি সক্ষম করতে htaccess
MrWhite

2
আপডেটের পরে প্রথম বাক্যে আপনার ব্যাকরণটি সত্যই সংশোধন করা উচিত, যা এটির বর্তমান আকারে কোনও অর্থ দেয় না।
পুনর্নির্ধারণ

22

কারণ এটি এক্সএমএল ঘোষণার সাথে বিভ্রান্তি তৈরি করতে পারে। যদিও অনেক লোক আপনার সাথে একমত হয়

একটি অতিরিক্ত উদ্বেগ হ'ল চূড়ান্ত হোস্টিং সার্ভারটি তাদের বন্ধ করে দিয়েছে এমন শেষে কেবলমাত্র শর্ট ট্যাগগুলি দিয়ে সমস্ত কিছু কোড করার জন্য যে ব্যথা তৈরি করা হয়েছিল তা হ'ল ...


যদি শর্ট_ট্যাগগুলি চালু থাকে তবে কি এক্সএমএল ঘোষণার ফলে বিভ্রান্তি ঘটবে না?
MDCore

সুতরাং এক্সএমএল ঘোষণাটি সরাসরি আউটপুট করার পরিবর্তে আপনার পিএইচপি এটি প্রতিধ্বনিত হয়। এটি আসলেই ভাল খণ্ডন নয়।
moo

এটি কোনও কিছুর প্রত্যাখ্যান নয়। এটিই কেবল আসল কারণ যা অন্য কারণে "হোস্টার এটি বন্ধ করে দেয়" এর কারণ, অবশ্যই আপনি এটি করতে পারবেন যদি আপনি জানেন যে আপনি কি করছেন, বরাবরের মতো।
ভিঙ্কো ভার্সালোভিক 19

1
@ ম্যাসেক: আমি সে সম্পর্কে অবহিত। এটি সম্পর্কে আমি ভেবেছিলাম এটি কেবল প্রথম উদাহরণ। অন্যটি, আপনি যদি কোনও এক্সএমএল ফাইলে পিএইচপি এম্বেড করেন? আপনি সরাসরি এটি করতে পারবেন না। এবং আমাকে সেই সমস্যার সমাধানটিও বলবেন না, আমি তাদের সম্পর্কে অবহিত। মুল বক্তব্যটি হল যে পিএইচপি-র একটি এক্সএমএল ফাইল বিশ্লেষণ করার জন্য প্রচুর উপায় রয়েছে। আপনি সম্ভবত তাদের সকলকে কাজের ক্ষেত্র ( <?='<?xml') দিয়ে বা "আপনার এমনটি করা উচিত নয়" বলে উড়িয়ে দিতে পারেন তবে এটি যে অদৃশ্য হয়ে যায় তা নিশ্চিত করে না।
ভিঙ্কো ভার্সালভিক

1
সংক্ষিপ্ত ট্যাগগুলি কীভাবে ব্যথা হয় যদি তারা কাজ না করে? এটি একটি বাল্ক করা এবং এটির <?=সাথে প্রতিস্থাপন করা খুব সহজ <? echo । অনেক পাঠ্য সম্পাদক সহজেই একবারে কয়েক হাজার ফাইলগুলিতে এটি পরিচালনা করতে পারবেন।
ইয়ামিকো

20

নিম্নলিখিতটির দুর্দান্ত প্রবাহের চিত্রটি নিম্নরূপ:

<? = ব্যবহারের সিদ্ধান্ত নেওয়ার গাছ tree

উত্স: সফটওয়্যার ইঞ্জিনিয়ারিং স্ট্যাক এক্সচেঞ্জে একযোগে প্রশ্ন


2
এটি বর্ণনা করছে যে শর্ট ইকো ট্যাগটি ব্যবহার করতে হবে কিনা, সেই একই নয় <? উল্লিখিত সংক্ষিপ্ত ট্যাগগুলির যদিও এটি (যদিও এটি একই কনফিগারেশনের প্রাক-5.4 ব্যবহার করে)
অলোক

আসলে এটি এমন একটি উত্তর হওয়া উচিত যা প্রত্যেকে বুঝতে পারে, যদিও পরিস্থিতিটি সত্যই ব্যাখ্যা করা হয় না যে আপনি কেন অনেক ক্ষেত্রে সংক্ষিপ্ত ট্যাগ ব্যবহার করতে চান না (উদাহরণস্বরূপ কোনও শেয়ার্ড হোস্টিং সিস্টেমে php.ini ফাইলটি পরিবর্তন করতে সক্ষম নয়)
বিজন কে

14

http://uk3.php.net/manual/en/language.basic-syntax.phpmode.php এর প্রচুর পরামর্শ রয়েছে, সহ:

কিছু লোক সংক্ষিপ্ত ট্যাগ এবং এএসপি স্টাইল ট্যাগগুলি সুবিধাজনক হিসাবে খুঁজে পান, সেগুলি কম বহনযোগ্য, এবং সাধারণত প্রস্তাবিত নয়।

এবং

মনে রাখবেন আপনি যদি এক্সএমএল বা এক্সএইচটিএমএল এর মধ্যে পিএইচপি এম্বেড করে থাকেন তবে <?php ?>মানগুলির সাথে সম্মতি বজায় রাখতে আপনার ট্যাগ ব্যবহার করতে হবে ।

এবং

পুনরায় বিতরণের জন্য তৈরি অ্যাপ্লিকেশন বা লাইব্রেরিগুলি বা আপনার নিয়ন্ত্রণাধীন নয় এমন পিএইচপি সার্ভারগুলিতে স্থাপনার বিকাশ করার সময় সংক্ষিপ্ত ট্যাগগুলি এড়ানো উচিত because কারণ টার্গেট সার্ভারে সংক্ষিপ্ত ট্যাগগুলি সমর্থিত নাও হতে পারে। পোর্টেবল, পুনরায় বিতরণযোগ্য কোডের জন্য, শর্ট ট্যাগ ব্যবহার না করার বিষয়ে নিশ্চিত হন।


14

যদি এখনও কেউ এর দিকে মনোযোগ দিচ্ছে ... পিএইচপি 5.4.0 হিসাবে আলফা 1 <?=সর্বদা উপলব্ধ থাকে:

http://php.net/releases/NEWS_5_4_0_alpha1.txt

সুতরাং দেখে মনে হচ্ছে সংক্ষিপ্ত ট্যাগগুলি হ'ল (ক) গ্রহণযোগ্য এবং (খ) এখানে থাকার জন্য। আপাতত কমপক্ষে ...


5
<?=এর 5.4 যেমন একটি সংক্ষিপ্ত ট্যাগ বিবেচনা করা হয় না
T0xicCode

12
  • সংক্ষিপ্ত ট্যাগ (ইত্যাদি ভাগ হোস্ট,) কিছু সার্ভারগুলির ডিফল্টরূপে চালু করা হয় না, তাই কোড বহনযোগ্যতা যদি এই এক সরানো প্রয়োজন একটি বিষয় হয়ে ওঠে।

  • পাঠযোগ্যতা কারও কারও জন্য সমস্যা হতে পারে। অনেকগুলি বিকাশকারী দেখতে পাবেন যে আপনি কোনও ফাইল স্ক্যান করার <?phpচেয়ে কোড ব্লকের শুরুতে আরও স্পষ্ট চিহ্নিতকারী হিসাবে নজর কেড়েছে <?, বিশেষত যদি আপনি এইচটিএমএল এবং পিএইচপি সহ একটি আন্তঃ বোনা দ্বারা কোড কোড আটকে থাকেন ।


2
95% ওয়েব সার্ভারগুলিতে সংক্ষিপ্ত ট্যাগগুলি সক্ষম করা হয়েছে।
পাওলো বার্গান্টিনো

19
আমি "পঠনযোগ্যতা" যুক্তিটি কিনছি না। আপনি যদি পিএইচপিকে একটি উদ্দীপক ভাষা হিসাবে ব্যবহার করেন তবে এর <?= $var ?>চেয়ে অনেক বেশি পঠনযোগ্য<?php echo $var ?>
ফ্র্যাঙ্ক ফার্মার

2
@ পাওলো এটি'০৮-এর পরে পরিবর্তিত হতে পারে তবে ইউসি ইনস্টল এবং পিএইচপি-র সংস্করণ সহ অ্যাপ্লিকেশন সংস্করণ সহ ইসি উবুন্টু এবং ফেডোরার উদাহরণগুলি ডিফল্টরূপে শর্ট-ট্যাগিং অক্ষম করেছে
ডগ মোলিনাক্স

2
পূর্ণ ট্যাগ ব্যবহার করুন এবং আপনার 100% থাকবে :)
এলভিস সিওটি

1
@ ফ্র্যাঙ্কফারমার, আমি মনে করি তিনি প্রতিধ্বনি ব্যতীত একজনের সাথে তুলনা করছেন। <?বনাম <?php
পেসারিয়ার

11

দ্রষ্টব্য: পিএইচপি 5.4-এ সংক্ষিপ্ত ট্যাগটি শুরু করা, <?=এখন সর্বদা উপলব্ধ।


5

আমি এই পৃষ্ঠাটি এই বিষয়ের উপর তথ্য সন্ধানের পরে পড়েছি এবং আমি অনুভব করি যে একটি বড় বিষয় উল্লেখ করা হয়নি: অলসতা বনাম ধারাবাহিকতা। পিএইচপি-র "আসল" ট্যাগগুলি হ'ল <? পিএইচপি এবং?>। কেন? আমি সত্যিই যত্ন নেই। আপনি যখন অন্য কিছু ব্যবহার করতে চান যখন সেগুলি পিএইচপি এর জন্য পরিষ্কারভাবে থাকে? <% এবং%> মানে আমার কাছে এএসপি, এবং <লিপি ..... এর অর্থ জাভাস্ক্রিপ্ট (বেশিরভাগ ক্ষেত্রে)। সুতরাং ধারাবাহিকতা, দ্রুত শিখন, বহনযোগ্যতা এবং সরলতার জন্য কেন মানকে আটকে রাখছেন না?

অন্যদিকে আমি সম্মত হই যে টেমপ্লেটগুলিতে সংক্ষিপ্ত ট্যাগগুলি (এবং কেবলমাত্র টেমপ্লেটগুলিতে) দরকারী মনে হয়, তবে সমস্যাটি হ'ল আমরা এখানে এটি নিয়ে আলোচনা করার জন্য এতটা সময় ব্যয় করেছি, সম্ভবত এটি সম্ভবত নষ্ট হতে খুব বেশি সময় নিতে পারে "পিএইচপি" এর অতিরিক্ত তিনটি অক্ষর টাইপ করতে অনেক সময় !!

অনেকগুলি বিকল্প থাকা ভাল, এটি মোটেই যৌক্তিক নয় এবং এটি সমস্যার কারণ হতে পারে। ভাবুন যদি প্রতিটি প্রোগ্রামিং ল্যাঙ্গুয়েজে 4 বা ততোধিক ধরণের ট্যাগের অনুমতি দেওয়া হয়: জাভাস্ক্রিপ্ট <জেএস বা <স্ক্রিপ্ট .... বা <% বা <হতে পারে? জেএস .... এটি সহায়ক হবে? পিএইচপি ক্ষেত্রে পার্সিং অর্ডার এই জিনিসগুলিকে অনুমতি দেওয়ার পক্ষে হয়ে থাকে, তবে ভাষাটি অন্যান্য অনেক উপায়ে নমনীয় নয়: এটি সামান্যতম অসঙ্গতির দিকে নোটিশ বা ত্রুটি নিক্ষেপ করে, তবুও সংক্ষিপ্ত ট্যাগগুলি প্রায়শই ব্যবহৃত হয়। এবং যখন কোনও সার্ভারে সংক্ষিপ্ত ট্যাগগুলি ব্যবহার করা হয় যা সেগুলি সমর্থন করে না, কোনও সমস্যা ত্রুটি না দেওয়া থেকে কোনটি ভুল তা নির্ধারণ করতে খুব দীর্ঘ সময় লাগতে পারে।

পরিশেষে, আমি মনে করি না যে সংক্ষিপ্ত ট্যাগগুলি এখানে সমস্যা: এখানে কেবলমাত্র দুটি লজিক্যাল ধরণের পিএইচপি কোড ব্লক রয়েছে - 1) নিয়মিত পিএইচপি কোড, 2) টেম্পলেট প্রতিধ্বনিত। প্রাক্তনদের জন্য, আমি দৃ firm়ভাবে বিশ্বাস করি যে কেবল <? পিএইচপি এবং?> সমস্ত কিছুকে সামঞ্জস্যপূর্ণ এবং বহনযোগ্য রাখার অনুমতি দেওয়া উচিত। পরবর্তীগুলির জন্য, <? = $ Var?> পদ্ধতিটি কুৎসিত। কেন এমন হতে হবে? কেন যুক্তিসঙ্গত কিছু যুক্ত করবেন না? <? php $ var?> এটি কিছুই করতে পারে না (এবং কেবলমাত্র সর্বাধিক দূরবর্তী সম্ভাবনার মধ্যে এটি কোনও কিছুর সাথে দ্বন্দ্ব করতে পারে), এবং এটি সহজেই বিশ্রী <? = বাক্য গঠন প্রতিস্থাপন করতে পারে। বা যদি সমস্যা হয় তবে সম্ভবত তারা পরিবর্তে <? Php = $ var?> ব্যবহার করতে পারে এবং অসঙ্গতি নিয়ে চিন্তিত হতে পারে না।

ওপেন এবং ক্লোজ ট্যাগগুলির জন্য যেখানে 4 টি বিকল্প রয়েছে এবং একটি বিশেষ "প্রতিধ্বনি" ট্যাগের এলোমেলো সংযোজন রয়েছে সেখানে, পিএইচপি-তে php.ini বা .htaccess এ "কাস্টম ওপেন / ক্লোজ ট্যাগগুলি" পতাকা থাকতে পারে। এইভাবে ডিজাইনাররা তাদের পছন্দ মতো একটি চয়ন করতে পারেন। তবে স্পষ্ট কারণেই ওভারকিল। তাহলে কেন 4+ বিকল্পের অনুমতি দিন?


4

আপনি যখন এমভিসি ফ্রেমওয়ার্ক বা সিএমএসের সাথে পৃথক ভিউ ফাইল রয়েছে তার সাথে কাজ করেন তবে এগুলি ব্যবহার করা ভাল।
এটি দ্রুত, কম কোড, ডিজাইনারদের জন্য বিভ্রান্তিকর নয়। আপনার সার্ভার কনফিগারেশন তাদের ব্যবহারের অনুমতি দেয় তা নিশ্চিত করুন।


4

কোডইগনিটার বিকাশ করার পরে একটি পরিস্থিতি যা কিছুটা আলাদা অ্যাপ্লিকেশনকোডআইগনিটার যখনই পিএইচপি কোনও টেমপ্লেট / ভিউতে ব্যবহৃত হচ্ছে তখন শর্টট্যাগগুলি ব্যবহার করবে বলে মনে হয় অন্যথায় মডেল এবং নিয়ামকগণ সর্বদা দীর্ঘ ট্যাগ ব্যবহার করেন। এটি কাঠামোর কোনও কঠোর এবং দ্রুত নিয়ম নয়, তবে বেশিরভাগ অংশের জন্য কাঠামো এবং অন্যান্য ব্যবহারের উত্স অনেকগুলি এই সম্মেলন অনুসরণ করে।

আমার দুই সেন্ট? আপনি যদি অন্য কোথাও কোড চালানোর পরিকল্পনা না করেন, তবে আপনি চাইলে সেগুলি ব্যবহার করুন। আমি যখন বুঝতে পারি যে এটি বোবা ধারণা তখন আমি একটি বিশাল অনুসন্ধান এবং প্রতিস্থাপন করতে চাই না।


4

<?নতুন সংস্করণগুলিতে ডিফল্টরূপে অক্ষম করা আছে। আপনি এই জাতীয় বর্ণনাকে পিএইচপি-তে সংক্ষিপ্ত ট্যাগ সক্ষম করার মতো সক্ষম করতে পারেন ।


এটি পুরানো সংস্করণগুলিতে ডিফল্টরূপে অক্ষমও তাই নয়।
পেসারিয়ার

3

আইএমএইচও লোকেরা যারা সংক্ষিপ্ত ট্যাগগুলি ব্যবহার করেন তারা প্রায়শই যা প্রতিধ্বনিত হন তা পালাতে ভুলে যান। টেম্পলেট ইঞ্জিনটি ডিফল্টরূপে পালাতে ভাল লাগবে। আমি বিশ্বাস করি রেন্ড এ জেন্ডার ফ্রেমওয়ার্ক অ্যাপ্লিকেশনগুলিতে সংক্ষিপ্ত ট্যাগগুলি থেকে বাঁচতে একটি দ্রুত হ্যাক লিখেছিল। আপনি যদি শর্ট ট্যাগগুলি পছন্দ করেন কারণ এটি পিএইচপি পড়তে সহজ করে তোলে। তাহলে স্মার্টি আরও ভাল বিকল্প হতে পারে?

{$myString|escape}

আমার চেয়ে যে দেখতে ভাল লাগে

<?= htmlspecialchars($myString) ?> 

10
বেশিরভাগ পিএইচপি প্রোগ্রামারদের জন্য, দ্বিতীয় বিকল্পটি প্রথমটির চেয়ে আরও বেশি অর্থবোধ করে, কেবল কারণ এটি একটি প্রকৃত পিএইচপি ফাংশন যার সাথে আমরা পরিচিত, যখন প্রথম বিকল্পটি সিউডো টেম্প্লেটিং কোড যা আমাদের পিএইচপি শীর্ষে শিখতে হবে। পিএইচপি হ'ল ইতিমধ্যে একটি টেম্প্লেটিং ভাষা, এর উপরে স্মার্টের মতো অপ্রয়োজনীয় আইএমওর মতো আরও একটি টেম্প্লেটিং ভাষা যুক্ত করা।
বাগ চৌম্বক

3
টুইগ একটি টেমপ্লেট ইঞ্জিন যা এইচটিএমএল এস্কেপিংয়ের সাথে
মাতুজা

3

সংক্ষিপ্ত ট্যাগগুলি ব্যবহারের বিন্দুটি কী তা জিজ্ঞাসা করতে হবে।

দ্রুত টাইপ করা

MDCore বলেছেন:

<?= টাইপিংয়ের চেয়ে অনেক বেশি সুবিধাজনক <?php echo

হ্যাঁ, তাই আপনি আপনার স্ক্রিপ্টগুলিতে 7 টি অক্ষর * এক্স বার টাইপ করে সংরক্ষণ করুন।

তবে, যখন কোনও স্ক্রিপ্ট ডিজাইন করতে, বিকাশ করতে এবং লিখতে এক ঘন্টা বা 10 ঘন্টা বা তার বেশি সময় নেয়, তখন স্ক্রিপ্টের সময়কালের জন্য এখানে those 7 টি অক্ষর টাইপ না করা কয়েক সেকেন্ড সময় কতটা প্রাসঙ্গিক?

সংক্ষিপ্ত ট্যাগগুলি চালু না করা, বা চালু থাকলে তবে কোনও আপডেট বা ইনআই ফাইল / সার্ভার কনফিগারেশন পরিবর্তনকারী কেউ তাদের অন্যান্য সম্ভাবনাময় কাজগুলি থামিয়ে দেয় যদি আপনার কিছু কোর বা সমস্তগুলির জন্য সম্ভাব্যতার তুলনায় তুলনা করা হয়।

আপনি যে সামান্য উপকারটি পান তা সম্ভাব্য সমস্যার তীব্রতার চেয়ে বেশি নয়, এটি আপনার সাইটটি কাজ করছে না বা আরও খারাপ এটি কেবল তার অংশগুলি কাজ করছে না এবং এইভাবে সমাধানের জন্য একটি মাথাব্যথা রয়েছে।

পড়া সহজ

এটি পরিচিতির উপর নির্ভর করে ।
আমি সবসময় দেখেছি এবং ব্যবহার করেছি <?php echo। সুতরাং <?=পড়া যখন কঠিন নয়, এটি আমার সাথে পরিচিত নয় এবং এইভাবে পড়া সহজ নয়

আর সামনে শেষ / ফিরে শেষ ডেভেলপার বিভক্ত সঙ্গে (অধিকাংশ কোম্পানীর সঙ্গে) একটি সামনে শেষ সেই টেমপ্লেট কাজ ডেভেলপার আরো হবে পরিচিত বুদ্ধিমান <?="পিএইচপি খোলা ট্যাগ এবং প্রতিধ্বনি" করার সমান?
আমি বলব যে সবচেয়ে বেশি যুক্তিযুক্তের সাথে বেশিরভাগ আরামদায়ক হবে। এটি একটি পরিষ্কার পিএইচপি ওপেন ট্যাগ এবং তারপরে "ইকো" হচ্ছে - <?php echo

ঝুঁকি মূল্যায়ন
ইস্যু = পুরো সাইট বা কোর স্ক্রিপ্টগুলি কাজ করতে ব্যর্থ;

ইস্যু করার সম্ভাবনা খুব কম + ফলাফলের তীব্রতা খুব বেশি = উচ্চ ঝুঁকিপূর্ণ

উপসংহার

আপনি এখানে কয়েক সেকেন্ড বাঁচান এবং সেখানে কয়েকটি অক্ষর লিখতে হবে না, তবে এটির জন্য অনেক ঝুঁকিপূর্ণ এবং ফলস্বরূপ সম্ভবত পাঠযোগ্যতা হারাতে হবে।

সামনের বা পিছনের দিকের কোডারদের সাথে পরিচিত হওয়ার <?=সম্ভাবনা বেশি রয়েছে <?php echoকারণ তারা স্ট্যান্ডার্ড পিএইচপি জিনিস - স্ট্যান্ডার্ড <?phpওপেন ট্যাগ এবং খুব পরিচিত "প্রতিধ্বনি" known
(এমনকি সামনের প্রান্তের কোডারদের "প্রতিধ্বনি" জানা উচিত বা তারা কোনও ফ্রেমওয়ার্ক দ্বারা প্রদত্ত যে কোনও কোডে কাজ করবে না))

বিপরীতে যতটা সম্ভব সম্ভাবনা নেই, তবুও কেউ যৌক্তিকভাবে অনুমান করতে পারবেন না যে পিএইচপি সংক্ষিপ্ত ট্যাগের সমান চিহ্নটি "প্রতিধ্বনি"।


টাইপিংয়ের সাথে এর কোনও যোগসূত্র নেই। এটি খাটো এবং এর ফলে সহজেই পড়তে পারা যায় । পড়া করার জন্য ব্যবহৃত একজন ব্যক্তি <?=পড়তে হবে <?=পড়া ব্যবহৃত একটি ব্যক্তির চেয়ে আরো সহজে <?php echoপড়া <?php echo
পেসারিয়ার

@ পেসারিয়র শর্টার সহজেই পড়তে = সহজ হয় না। আমরা সবাই আলাদা। কি আপনি কি বোঝাতে চেয়েছেন, এটা সহজ জন্য পড়তে আপনি । আমি আমার জবাবটি যেমন রেখেছি, যেহেতু আমি দেখতে পেয়েছি অভ্যস্ততাটি <?phpঅনেক সময় আমার কাছে তার চেয়ে বেশি পরিচিত <?=- পরিচিতি জিনিসগুলিকে সহজ করে তোলে - তত প্রয়োজনে আরও ভাল নয়।
জেমস

না আমি আপনার সাথে আমার তুলনা করছি না, আমি বলছি যে <?=পড়তে <?=অভ্যস্ত ব্যক্তি পড়ার <?php echoঅভ্যস্ত ব্যক্তির চেয়ে ভাল পড়বে <?php echo। এর অর্থ যদি আমাদের এক্স এর দুটির মতো অনুলিপি থাকে এবং সেগুলি কেবল সেই দিকটি পরিবর্তন করে যার মধ্যে একটি পড়তে অভ্যস্ত হয় <?=, এবং অন্যটি যা পড়তে <?php echoঅভ্যস্ত হয়, প্রথম অনুলিপি xতার কাঙ্ক্ষিত বাক্য গঠন ব্যবহার করার সময় পঠনযোগ্যতার মান অর্জন করতে পারে , যেখানে দ্বিতীয় অনুলিপি yতার কাঙ্ক্ষিত সিনট্যাক্স পড়ার সময় পাঠযোগ্যতার মান অর্জন করতে পারে , যেখানে x >= y
পেসারিয়ার

না আপনি পয়েন্টটি মিস করছেন। আমি সিস্টেমের সম্ভাবনার কথা উল্লেখ করছি, যার কোনও নির্দিষ্ট ব্যক্তির সাথে কোনও সম্পর্ক নেই। আপনি বলতে পারেন যে কিওয়ার্টি কীবোর্ডের সাথে টাইপ করতে ব্যবহৃত লোকেরা কিওয়ার্টি দিয়ে দ্রুত টাইপ করবে, অন্যদিকে ডিভোরাক দিয়ে টাইপ করা লোকেরা ডিভোরাক দিয়ে দ্রুত টাইপ করবে, তবে এই সত্যটি পরিবর্তিত হয় না যে দুটি সিস্টেমে আলাদা সম্ভাবনা রয়েছে।
পেসারিয়ার

3

চলুন মোকাবেলা করা যাক. পিএইচপি সংক্ষিপ্ত ট্যাগ ছাড়াই নরকের মতো কুশ্রী।

আপনি যদি একটি .htaccessফাইলটিতে না পান তবে আপনি সেগুলিকে সক্ষম করতে পারেন php.ini:

php_flag short_open_tag on

3
মিথ্যা। কখনও কখনও, সার্ভার কোনও ধরণের ওভাররাইডিং অস্বীকার করতে প্রস্তুত, স্যার।
আলফাব্রভো

17
সত্য, তবে যদি আপনার হোস্ট আপনাকে htaccess দিয়ে ওভাররাইড করার অনুমতি না দেয় তবে আপনার সত্যিকার অর্থে একটি নতুন হোস্ট দরকার! :)
ব্রায়ান লেসি

1
কমান্ড লাইন ইন্টারফেসে কাজ করে না এবং php_flag সর্বদা সমর্থিত নয়
এলভিস সিওটি

3

বহনযোগ্যতার সমস্যাগুলি এড়াতে, পিএইচপি ট্যাগগুলি শুরু করুন <?phpএবং আপনার পিএইচপি ফাইলটি পিএইচপি, কোনও এইচটিএমএল নয়, আপনার ক্লোজিং ট্যাগগুলি ব্যবহার করার দরকার নেই।


2
  • সংক্ষিপ্ত ট্যাগগুলি এমন পরিস্থিতিতে ব্যবহারের জন্য গ্রহণযোগ্য যা আপনি নিশ্চিত হন যে সার্ভারটি এটি সমর্থন করবে এবং আপনার বিকাশকারীরা এটি বুঝতে পারবেন।
  • অনেক সার্ভার এটি সমর্থন করে না, এবং অনেক বিকাশকারী এটি একবার দেখার পরে এটি বুঝতে পারবেন।
  • আমি পোর্টেবিলিটি নিশ্চিত করতে পূর্ণ ট্যাগ ব্যবহার করি, কারণ এটি আসলে খুব খারাপ নয়।

সঙ্গে বলেন যে, আমার এক বন্ধু এই কথা বিকল্প সমর্থনে, প্রমিত , ASP-শৈলী ট্যাগ মত <%বদলে <?, যা php.ini asp_tags নামে একটা সেটিং। এখানে তার যুক্তি:

... স্বেচ্ছাসেবী সম্মেলনগুলি মানসম্মত করা উচিত । এটি হ'ল যে কোনও সময় আমরা এমন সম্ভাবনার সংকলনের মুখোমুখি হই যেগুলি সকলের সমান মূল্য - যেমন আমাদের প্রোগ্রামিং ভাষাটি নির্দিষ্ট করে দেওয়ার জন্য কী অদ্ভুত বিরামচিহ্ন ব্যবহার করা উচিত - আমাদের একটি মানক উপায় বাছাই করা উচিত এবং এর সাথে আবদ্ধ হওয়া উচিত। এইভাবে আমরা সমস্ত ভাষা শেখার বক্ররেখা হ্রাস করি (বা কনভেনশনের সাথে সম্পর্কিত যা কিছু হোক)।

আমার কাছে ভাল লাগছে, তবে আমি মনে করি না যে আমরা কেউই এই কারণে চারপাশে ওয়াগনগুলিকে বৃত্ত করতে পারি। এর মধ্যে, আমি পুরো আটকে থাকতাম <?php


2

আমি পিএইচপি 7 হিসাবে এটি উল্লেখযোগ্য মনে করি:

  • সংক্ষিপ্ত এএসপি পিএইচপি ট্যাগগুলি <% … %>চলে গেছে
  • সত্য হিসাবে সেট করা <? … ?>থাকলে সংক্ষিপ্ত পিএইচপি ট্যাবগুলি এখনও উপলব্ধ short_open_tag। এটি ডিফল্ট।
  • পিএইচপি 5.4 সাল থেকে, সংক্ষিপ্ত প্রিন্ট ট্যাগ <?=… ?>করা হয় সবসময় সক্রিয় থাকে, নির্বিশেষে short_open_tagসেটিং।

প্রথমটির পক্ষে ভাল অভ্যাস যেমন এটি অন্য ভাষার সাথে হস্তক্ষেপ করে।

ব্যক্তিগত পছন্দ বাদে শর্ট প্রিন্ট ট্যাগগুলি ব্যবহার না করার কোনও কারণ নেই।

অবশ্যই, আপনি যদি পিএইচপি 5 এর উত্তরাধিকার সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ হতে কোড লিখছেন তবে আপনাকে পুরানো বিধিগুলি বদ্ধ থাকতে হবে, তবে মনে রাখবেন যে পিএইচপি 5.6 এর আগে যে কোনও কিছুই এখন অসমর্থিত।

দেখুন: https://secure.php.net/manual/en/language.basic-syntax.phptags.php


1
আমি ভুল না হলে আপনার প্রথম পয়েন্টটি ভুল। ডকটি বলেছেন যে পিএইচপি 7.0.0 হিসাবে সংক্ষিপ্ত পিএইচপি ট্যাগগুলি নয়, এএসপি ট্যাগগুলি চলে গেছে।
সংস্কার করা হয়েছে

@ রিফর্মড আপনি একেবারে সঠিক আমি আমার উত্তর সম্পাদনা করব। ধন্যবাদ
মানঙ্গো

1

আপনি যদি এক্সএসএসের বিষয়ে চিন্তা করেন তবে আপনার <?= htmlspecialchars(…) ?>বেশিরভাগ সময় ব্যবহার করা উচিত , তাই একটি সংক্ষিপ্ত ট্যাগ বড় কোনও তাত্পর্যপূর্ণ করে না।

এমনকি আপনি যদি কমান echo htmlspecialchars()করতে h(), এটা এখনও একটি সমস্যা এটি যোগ করতে মনে রাখতে হয় যে আপনার প্রায় প্রতিটি সময় (এবং ট্র্যাক কোন ডেটা থাকে তাহলে প্রি-পলান, যা unescaped কিন্তু-নিরীহ হয় রাখার চেষ্টা শুধুমাত্র ভুল সম্ভাবনা বাড়িয়ে দেয়) আছে।

আমি একটি টেম্প্লেটিং ইঞ্জিন ব্যবহার করি যা ডিফল্টরূপে সুরক্ষিত থাকে এবং <?phpআমার জন্য ট্যাগ লেখেন ।


7
যদি আপনি নিজেকে "<? Php প্রতিধ্বনি html স্পেশালচার্স ($ পাঠ্য, ENT_QUOTES, 'ইউটিএফ -8');?>>>>>>>>>>>>>>>>>>>>>>>> ? = এইচ ($ পাঠ্য)?> "কোনও টেম্পলেট স্ক্যান করার সময় আরও অনেক বেশি পঠনযোগ্য
আলেকজান্ডার মালফাইট

1
এটি প্রকৃতপক্ষে ভাল, তবে একটি টেম্পলেট ইঞ্জিনের সাহায্যে এটি কেবল $ {পাঠ্য} বা এ জাতীয় হতে পারে (এবং আপনাকে h () যোগ করতে হবে না
কর্নেল

7
পিএইচপি নিজেই একটি টেম্প্লেটিং ইঞ্জিন। আপনি যখন শর্ট ট্যাগ ব্যবহার বন্ধ করবেন এটি খুব ভার্জোজ হয়ে যাওয়ার কারণে এটি খারাপ টেম্প্লেটিং ইঞ্জিন হতে শুরু করে।
জোসেফ সাবল

1
@ আলেকজান্ডার মালফাইট এটি একটি ভাল টিপ। তবে <? = দরকার নেই। আপনি কেবল ফাংশনটি ফিরার পরিবর্তে স্ট্রিংকে প্রতিধ্বনি করতে পারেন, তাই আপনি <? পিএইচপি এইচ ('হ্যালো') লিখবেন?> আমরা আই আই 18 এন করার পরে আমরা ইতিমধ্যে এটি করি না? <? php _e ('')?> তেমন খারাপ নয়।
ভ্ল্যাডআফআর

1

<?php ?>এই প্রোগ্রামিং ভাষার বিকাশকারীরা তাদের মূল-ভাষাটি ব্যাপকভাবে আপডেট করেছেন বলে ব্যবহার করা আরও ভাল। আপনি শর্ট ট্যাগ এবং লম্বা ট্যাগের মধ্যে পার্থক্য দেখতে পাবেন।

সংক্ষিপ্ত ট্যাগগুলি হালকা লাল হিসাবে হাইলাইট করা হবে যখন দীর্ঘতরগুলি গা dark়ভাবে হাইলাইট করা হবে!

তবে, কিছু প্রতিধ্বনিত করা, উদাহরণস্বরূপ: <?=$variable;?>ঠিক আছে। তবে লম্বা ট্যাগগুলি পছন্দ করুন।<?php echo $variable;?>


1

রূপান্তর <?(কোনও পেছনের স্থান ব্যতীত) <?php(ট্রেলিং স্পেস সহ):

find . -name "*.php" -print0 | xargs -0 perl -pi -e 's/<\?(?!php|=|xml|mso| )/<\?php /g'

রূপান্তর <?(পিছনের স্থান সহ) থেকে <?php(পিছনের স্থান ধরে রাখা):

find . -name "*.php" -print0 | xargs -0 perl -pi -e 's/<\? /<\?php /g'

1

সংক্ষিপ্ত ট্যাগ পিএইচপি মধ্যে alwayes উপলব্ধ। সুতরাং আপনার স্ক্রিপ্টের প্রথম বিবৃতি প্রতিধ্বনি করার দরকার নেই

উদাহরণ:

    $a =10;
    <?= $a;//10 
    echo "Hellow";//
    echo "Hellow";

   ?>

হঠাৎ আপনার একক পিএইচপি স্ক্রিপ্টের জন্য ব্যবহারের প্রয়োজন পরে আপনি এটি ব্যবহার করতে পারেন। উদাহরণ:

<html>
<head>
<title></title>
</head>  
<body>
<p>hellow everybody<?= hi;?></p>
<p>hellow everybody  </p> 
<p>hellow everybody  </p>   
</body>
</html>

1

2019 পর্যন্ত আমি এখানে নির্দিষ্ট উত্তরগুলির সাথে একমত নই। আমি দীর্ঘ ট্যাগ ব্যবহার করার পরামর্শ দিচ্ছি

<?php /* code goes here */ ?>

বা সংক্ষিপ্ত প্রতিধ্বনি ট্যাগ

<?= /* code goes here */ ?>

কারণ: এগুলি PSR-1 বেসিক কোডিং স্ট্যান্ডার্ড দ্বারা প্রস্তাবিত

অন্যান্য ছোট ট্যাগগুলির মতো <? /* code goes here */ ?>প্রস্তাবিত নয়।

অনুমানটি বলে:

পিএইচপি কোড লম্বা ট্যাগ বা শর্ট-ইকো ট্যাগ ব্যবহার করতে হবে; এটি অন্য ট্যাগের বৈচিত্রগুলি ব্যবহার করা উচিত নয়


1

3 টি পিএইচপি পাওয়া যায়:

  1. দীর্ঘ-ফর্ম ট্যাগ যে <?php ?> কোনও কনফিগার করা নির্দেশের প্রয়োজন হয় না
  2. শর্ট_পেন_ট্যাগ <? ?> শর্ট_পেন_ট্যাগ বিকল্পটি চালু থাকলে উপলব্ধ
  3. <?= পিএইচপি 5.4.0 থেকে ট্যাগটি ছোট করুন এটি সর্বদা উপলব্ধ

পিএইচপি 7.0.0 এপ এবং স্ক্রিপ্ট ট্যাগ সরানো হয়েছে


যে প্রশ্নের উত্তর দেয় না।
রালফ্রেডল

-5

না, এবং তাদের পিএইচপি by দ্বারা পর্যায়ক্রমে বেরিয়ে আসছে তাই আপনি যদি কোড দীর্ঘায়ুটির প্রশংসা করেন, কেবল সেগুলি বা <% ... %>ট্যাগগুলি ব্যবহার করবেন না ।


4
আমি অন্যান্য ব্লগ পোস্টগুলি দেখেছি যেগুলি বলে যে তারা হ্রাস পাচ্ছে না, কেবল এএসপি শৈলীর ছোট্ট ট্যাগ।
MDCore

22
দেখে মনে হচ্ছে এই উত্তরটি ভুল, পিএইচপি বিকাশকারীদের সভা থেকে এই লিঙ্ক অনুসারে: php.net/~derick/…
চার্লস

7
তারা এত খারাপ কেন, কেন? প্রত্যেকে এতটাই আত্মবিশ্বাসী যে তারা বাআআআআআড তবে কেউ কেন তা বলছে না।
জোসেফ সাবল

6
মিথ্যা। তারা <%%> ট্যাগগুলি পর্যায়ক্রমে করছে, প্রকৃতপক্ষে তাদের উচিত। তারা বিভ্রান্তি ব্যতীত কোন উদ্দেশ্য করে না। <? ?> ট্যাগগুলি প্রভাবিত হবে না; তবে অবশ্যই সেগুলি প্রতি সার্ভারের ভিত্তিতে কনফিগারযোগ্য এবং আপনার লক্ষ্য প্ল্যাটফর্মের প্রয়োজনীয়তা সম্পর্কে সর্বদা সচেতন হওয়া উচিত।
ব্রায়ান লেসি

6
এই তথ্যটি ভুল এবং বিভ্রান্তিকর বলে মনে হচ্ছে এবং এটি লেখকের দ্বারা সংশোধন করা উচিত।
টেক্সট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.