বন্ধ করতে বা পিএইচপি বন্ধ করতে না


14

আমি পড়েছি যে পিএইচপি ফাইলগুলি দিয়ে বন্ধ না করার জন্য (বিশেষত পিএইচপি 7 সহ) পরামর্শ দেওয়া হচ্ছে ?>

আমার অনেক ডাব্লুপিপি পিএইচপি ফাইলগুলি এর শেষ হয়:

<?php get_sidebar(); ?>
<?php get_footer(); ?>

আমি কি ক্লোজিং ট্যাগটি সরিয়ে ফেলা উচিত এবং এর মতো কিছু থাকা উচিত

<?php get_sidebar(); ?>
<?php get_footer(); 

আমার ফাইল শেষে?


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

1
TRAC উপর সম্ভবত সংশ্লিষ্ট টিকিট: # 10633
সেভেন

উত্তর:


19

হ্যাঁ, দয়া করে কেবলমাত্র পিএইচপি 7 দিয়ে নয়, পাশাপাশি পিএইচপি 5 দিয়েও ফাইলটির শেষে পিএইচপি ট্যাগগুলি বন্ধ করা এড়িয়ে চলুন।

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

আমি অনুমান করি যে আপনি কখনও এই জাতীয় বার্তার মুখোমুখি হয়েছেন

শিরোনাম তথ্য পরিবর্তন করতে পারে না - হেডারে ইতিমধ্যে প্রেরিত (আউটপুট শুরু ...) এর মধ্যে ... লাইনে ...

?>ফাইলের শেষে একটি ক্লোজিং এর কারণ হতে পারে।


1
আমি বিশ্বাস করি এটিই সঠিক উত্তর। এমনকি অ্যান্ডস্কোরস , যেখানে আমি মূলত আমার টেম্পলেটটি পেয়েছি, সর্বশেষ আপডেটে ক্লোজিং ট্যাগটি সরিয়ে নিয়েছে।
IXN

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

আমি মনে করি একমাত্র ব্যতিক্রম যদি শেষ পিএইচপি কোড ব্লক এইচটিএমএল অনুসরণ করে। তবে যদি ফাইলের শেষ চিহ্নগুলি হয়?> সেগুলি / বাদ দেওয়া উচিত। বা তাই আমি বুঝতে পারি।
IXN

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

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

11

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

<?php get_footer();

<div>What the hell am I doing wrong?</div>

তবে, অন্যান্য সমস্ত ফাইলের জন্য (ফাংশনগুলি অন্তর্ভুক্ত ইত্যাদি), পরামর্শটি অবশ্যই একটি ভাল ধারণা:

<?php // Start of file

class MY_Class {
    function just_do_it() {
    }
}

// Bye bye closing tag

আমি এটি পরিষ্কার পরিচ্ছন্ন দেখতে পেয়েছি এবং অন্যরা যেমন উল্লেখ করেছে, ভয়ঙ্কর "ইতিমধ্যে প্রেরিত শিরোনামগুলির" কোনও ঝুঁকি নেই।

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