পিএইচপি-তে '<? =' এর অর্থ কী?


159
<?php

$a=1;

?>
<?=$a;?>

<?=ঠিক কি মানে?


পার্শ্ব দ্রষ্টব্য: এটি ASP.NET এমভিসি ভিউগুলিতে ব্যাপকভাবে ব্যবহৃত হয়।
ওমর


12
লক্ষ করুন যে ;অপ্রয়োজনীয়; উত্তরগুলির echoহিসাবে পিএইচপি নথি অনুসারে এই শর্ট ট্যাগটি একটি সেমিকোলনটি শেষে যুক্ত হওয়াতে প্রসারিত হবে ।
নন-ইয়েতি

উত্তর:


229

এটির জন্য একটি সাঁটে লেখার <?php echo $a; ?>

সেটিংস নির্বিশেষে এটি 5.4 সাল থেকে ডিফল্টরূপে সক্ষম হয়েছেphp.ini


1
এটি পিএইচপি 7 এ উপলব্ধ?
zachdyer

4
নোট করুন যে চূড়ান্ত আধা-কোলন প্রয়োজন হয় না। কিন্তু যদি কারনের জন্য, আপনি সর্বোত্তম ট্যাগ ফিরে যেতে হবে, একটি সহজ প্রকল্পের ব্যাপী অনুসন্ধান / প্রতিস্থাপন <?=জন্য <?php echowould'nt যথেষ্ট হবে। যাইহোক আজকের মতো আমি আশা করি আপনার ছেলেরা পিএইচপি <5.6 চালিত কোনও প্রোডাকশন সার্ভার নেই কারণ এই সংস্করণটি আর রক্ষণাবেক্ষণ করা হয় না ( পিএইচপি সমর্থিত সংস্করণ )।
টুইস্টে

47

এটি এর জন্য একটি সংক্ষিপ্তকরণ:

<?php echo $a; ?>

তাদের শর্ট ট্যাগ বলা হয়; ডকুমেন্টেশনে উদাহরণ # 2 দেখুন ।


12
দয়া করে নোট করুন যে সমস্ত সার্ভারগুলি নীচের উত্তরে উল্লিখিত শর্ট ট্যাগগুলিকে সমর্থন করে না। তাদের পিএইচপি.আইএনই করা দরকারshort_open_tag = On
কোরি বলিউ

17

যেহেতু এটির অর্থটির পুনরাবৃত্তি করার জন্য এটি কোনও মান যুক্ত করবে না echo, তাই আমি ভেবেছিলাম আপনি পিএইচপি-র অর্থ কী তা দেখতে চান:

Array
(
    [0] => Array
        (
            [0] => 368 // T_OPEN_TAG_WITH_ECHO
            [1] => <?=
            [2] => 1
        )
    [1] => Array
        (
            [0] => 309 // T_VARIABLE
            [1] => $a
            [2] => 1
        )
    [2] => ; // UNKNOWN (because it is optional (ignored))
    [3] => Array
        (
            [0] => 369 // T_CLOSE_TAG
            [1] => ?>
            [2] => 1
        )
)

আপনি নিজেই এটি পরীক্ষা করার জন্য এই কোডটি ব্যবহার করতে পারেন:

$tokens = token_get_all('<?=$a;?>');
print_r($tokens);
foreach($tokens as $token){
    echo token_name((int) $token[0]), PHP_EOL;
}

পার্সার টোকেনগুলির তালিকা থেকে , এখানে T_OPEN_TAG_WITH_ECHO এর লিঙ্ক রয়েছে


টোকেন আমাকে আরও বিশদ জানাতে ব্যর্থ হয়েছে।
ব্যবহারকারী 198729


7

পিএইচপি 5.4.0 হিসাবে, পিএইচপি.এন.ই <?= ?> . তে সংক্ষিপ্ত_পেন_ট্যাগ সেট না করে সর্বদা উপলব্ধ।

তদুপরি, পিএইচপি P.০ হিসাবে, এএসপি ট্যাগগুলি: <%, %> এবং স্ক্রিপ্ট ট্যাগটি <script language="php"> পিএইচপি থেকে সরানো হয়।




3

আমি আশা করি এটি অবমানিত হবে না। লেখার সময় <? blah code ?>মোটামুটি অপ্রয়োজনীয় ও এক্সএইচটিএমএল সঙ্গে confusable হয়,<?= , স্পষ্ট কারণে নয়। দুর্ভাগ্যক্রমে আমি এটি ব্যবহার করি না, কারণ শর্ট_পেন_ট্যাগটি আরও বেশি করে অক্ষম বলে মনে হচ্ছে।

আপডেট: আমি <?=এখনই আবার ব্যবহার করব , কারণ এটি পিএইচপি 5.4.0 এর সাথে ডিফল্টরূপে সক্ষম আছে। Http://php.net/manual/en/language.basic-syntax.phptags.php দেখুন

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