এর চেয়ে ভাল আর কোনও উপায় নেই তবে যেহেতু এটি একটি অপারেশন আপনি সাধারণত প্রায়শই ঘন ঘন করেন তাই আপনি প্রক্রিয়াটি আরও স্বয়ংক্রিয় করতে চান।
বেশিরভাগ ফ্রেমওয়ার্কগুলি একটি সহজ টাস্ককে পার্সিংয়ের পক্ষে যুক্তি তৈরির উপায় দেয়। আপনি এটির জন্য আপনার নিজের অবজেক্ট তৈরি করতে পারেন। দ্রুত এবং নোংরা উদাহরণ:
class Request
{
// This is the spirit but you may want to make that cleaner :-)
function get($key, $default=null, $from=null)
{
if ($from) :
if (isset(${'_'.$from}[$key]));
return sanitize(${'_'.strtoupper($from)}[$key]); // didn't test that but it should work
else
if isset($_REQUEST[$key])
return sanitize($_REQUEST[$key]);
return $default;
}
// basics. Enforce it with filters according to your needs
function sanitize($data)
{
return addslashes(trim($data));
}
// your rules here
function isEmptyString($data)
{
return (trim($data) === "" or $data === null);
}
function exists($key) {}
function setFlash($name, $value) {}
[...]
}
$request = new Request();
$question= $request->get('question', '', 'post');
print $request->isEmptyString($question);
সাইফনি এ জাতীয় চিনি ব্যাপকভাবে ব্যবহার করে।
তবে আপনি আপনার "// এখানে হ্যান্ডেল ত্রুটি" দিয়ে আরও বেশি কথা বলছেন with আপনি 2 টি কাজের মিশ্রণ করছেন: ডেটা পাওয়া এবং এটি প্রক্রিয়াজাতকরণ। এটি মোটেও এক রকম নয়।
অন্যান্য বৈধতা রয়েছে যা আপনি ডেটা যাচাই করতে ব্যবহার করতে পারেন। আবার ফ্রেমওয়ার্কগুলি আপনাকে সেরা অভ্যাসগুলি দেখাতে পারে।
আপনার ফর্মের ডেটা উপস্থাপন করে এমন বস্তু তৈরি করুন, তারপরে প্রক্রিয়াগুলি সংযুক্ত করুন এবং এতে ফিরে যান। এটি আরও বেশি কাজ বলে মনে হচ্ছে যে দ্রুত পিএইচপি স্ক্রিপ্ট হ্যাকিং (এবং এটি প্রথমবারের মতো), তবে এটি স্বাভাবিকভাবে পিএইচপি সহ ফর্ম বৈধতা দ্রুত স্প্যাগুটি কোডে পরিণত হওয়ার প্রবণতা, কারণ এটি পুনরায় ব্যবহারযোগ্য, নমনীয় এবং কম ত্রুটিযুক্ত