আমার সিউডো-পিএইচপি / কোডটি ক্ষমা করুন।
আমি মনে করি এটি সত্যই ফলাফলের ব্যবহারের উপর নির্ভর করে।
যদি আপনি রিটার্ন মানটি সম্পাদনা / পরিবর্তন করতে চান এবং এটি সংরক্ষণ করেন, তবে একটি খালি বস্তুটি ফিরিয়ে দিন। এইভাবে, আপনি নতুন বা বিদ্যমান অবজেক্টে ডেটা পপুলেটে একই ফাংশনটি ব্যবহার করতে পারেন।
বলুন আমার একটি ফাংশন রয়েছে যা একটি প্রাথমিক কী এবং ডেটার একটি অ্যারে নেয়, তথ্য দিয়ে সারিটি পূরণ করে, তারপরে ফলাফল রেকর্ডটি ডিবিতে সংরক্ষণ করে। যেহেতু আমি যেভাবেই কোনওভাবেই আমার ডেটা দিয়ে বস্তুটি পপুলেশন করতে চাইছি, তাই খালিটি থেকে খালি বস্তুটি ফিরে পাওয়া একটি বিশাল সুবিধা হতে পারে। এইভাবে, আমি উভয় ক্ষেত্রে অভিন্ন ক্রিয়াকলাপ করতে পারি can আপনি যাই হোক না কেন getter ফাংশনের ফলাফলটি ব্যবহার করুন।
উদাহরণ:
function saveTheRow($prim_key, $data) {
$row = getRowByPrimKey($prim_key);
// Populate the data here
$row->save();
}
এখানে আমরা দেখতে পাচ্ছি যে একই ধরণের ক্রিয়াকলাপ এই ধরণের সমস্ত রেকর্ড ম্যানিপুলেট করে।
যাইহোক, যদি ফেরতের মানটির চূড়ান্ত অভিপ্রায়টি ডেটা সহ কিছু পড়তে এবং করা হয় তবে আমি শূন্য হয়ে যাব। এইভাবে, আমি খুব দ্রুত নির্ধারণ করতে পারি যে কোনও তথ্য ফেরত পাওয়া যায় নি এবং ব্যবহারকারীর কাছে উপযুক্ত বার্তা প্রদর্শন করছে।
সাধারণত, আমি আমার ফাংশনে ব্যতিক্রমগুলি ধরব যা তথ্য পুনরুদ্ধার করে (যাতে আমি ত্রুটি বার্তাগুলি লগ করতে পারি ইত্যাদি) ... তারপরে ক্যাচ থেকে সরাসরি ফিরে আসি। সমস্যাটি শেষ ব্যবহারকারীটির কাছে সাধারণত আসে না, তাই আমার ত্রুটি লগিং / প্রক্রিয়াকরণটি সরাসরি ডাটা ফাংশনটিতে সজ্জিত করা ভাল বলে মনে করি। যদি আপনি কোনও বড় সংস্থায় একটি শেয়ার্ড কোডবেস বজায় রাখেন তবে এটি বিশেষত উপকারী কারণ আপনি এমনকি সবচেয়ে অলস প্রোগ্রামারটিতে সঠিক ত্রুটি লগিং / পরিচালনা করতে বাধ্য করতে পারেন।
উদাহরণ:
function displayData($row_id) {
// Logging of the error would happen in this function
$row = getRow($row_id);
if($row === null) {
// Handle the error here
}
// Do stuff here with data
}
function getRow($row_id) {
$row = null;
try{
if(!$db->connected()) {
throw excpetion("Couldn't Connect");
}
$result = $db->query($some_query_using_row_id);
if(count($result) == 0 ) {
throw new exception("Couldn't find a record!");
}
$row = $db->nextRow();
} catch (db_exception) {
//Log db conn error, alert admin, etc...
return null; // This way I know that null means an error occurred
}
return $row;
}
এটাই আমার সাধারণ নিয়ম। এটি এ পর্যন্ত ভাল কাজ করেছে।
if (!DataExists)
।