আমি সম্প্রতি আমার কিছু কোড পর্যালোচনা করে লক্ষ্য করেছি যে অনুপস্থিত-মানসিকতার উপযুক্ততায় আমি নিম্নলিখিতগুলির মতো একটি কাঠামো রেখেছি:
$guid = empty($subscription->guid) ? : $subscription->guid;
এখন, এটি যা করা উচিত ছিল এবং ভুল তা করছিল না , তবে যেহেতু সম্পত্তিটি সর্বদা সেট করা থাকে এটি এখন ঠিকঠাক কাজ করছে, এবং নিম্নলিখিত পরিবর্তনের কারণে 5.3 এর পরে কোনও সিনট্যাক্স ত্রুটি নেই :
পিএইচপি 5.3 থেকে, টার্নারি অপারেটরের মাঝের অংশটি ছেড়ে দেওয়া সম্ভব। এক্সপ্রেশন এক্সপ্রেস 1?: এক্সপ্রেস 3 এক্সপ্রেস 1 প্রদান করে যদি এক্সপ্রেস 1 সত্যের সাথে মূল্যায়ন করে, এবং অন্যথায় এক্সপ্রেস 3 দেয়।
আমি এই পরিবর্তন সম্পর্কে সচেতন ছিলাম না, এবং এখন যদি আমি এটি ব্যবহার করা উচিত বা না করা উচিত তখন আমি আগ্রহী। এটি এমন কিছু যা আমি রুবির মতো ভাষা থেকে খুব অনুপস্থিত ছিল যেখানে আপনি যেমন করতে পারেন, কোনও 'আসল' বুলিয়ান a = b || c
পেতে b
বা c
না পেয়ে । যাইহোক, তারা টেরিনারি অপারেটরের জন্য সিনট্যাক্সটি বেছে নিয়েছে তা আমার কাছে কিছুটা স্বজ্ঞাত মনে হচ্ছে। আমি কি উত্পাদন কোড এ ব্যবহার করা উচিত? আমি যখন দুর্ঘটনাক্রমে দেখেছিলাম তখন এটি অবশ্যই নিজেকে ছুঁড়ে ফেলেছিল।