জেনে নিন সঠিক ওয়ার্ডপ্রেস কোডিং স্ট্যান্ডার্ড (পিএইচপি) এর ব্যবহার

leocaseiro-topoওয়ার্ডপ্রেস বর্তমান সময়ের সর্ববৃহৎ ও জনপ্রিয় কন্টেন্ট ম্যানেজমেন্ট সিস্টেম। ওয়ার্ডপ্রেসকে যদি ওয়েব ডেভলপারদের স্বপ্নপুরী বলা হয় তবে কথাটি নিঃসন্দেহে একশো ভাগ সত্য। ওয়ার্ডপ্রেস এর বহুমুখী ব্যবহার এবং সম্পূর্ণ ওপেন সোর্স বৈশিষ্ট্য ওয়েব ডিজাইনার এবং ডেভলপারদের দিয়েছে কাজ করার ব্যাপক স্বাধীনতা। এবার কাজের কথায় আসা যাক। আমরা জানি একজন ভাল প্রোগ্রামারের মূল বৈশিষ্ট্য হল স্বচ্ছ কোড লেখার ক্ষমতা অর্থাৎ স্বচ্ছ সিন্টেক্সিং এবং সহজ বোধগম্য যুক্তির প্রবাহ। এছাড়াও উপরোক্ত বৈশিষ্ট্য গুলোকে আমরা একটি ভাল স্ক্রিপ্ট এর স্ট্যান্ডার্ড ও বলতে পারি। বিশ্বব্যাপী ওয়ার্ডপ্রেস ডেভলপারদের বিশাল কোডসম্ভারকে একটি নির্দিষ্ট ফরমেটে আনার জন্য ওয়ার্ডপ্রেস টিম কিছু কোডিং স্ট্যান্ডার্ড নির্দিষ্ট করে দিয়েছে যা সকল ওয়ার্ডপ্রেস প্রোগ্রামারের মেনে চলা আবশ্যক। আজকে আমাদের আলোচনার মূল বিষয় এই ওয়ার্ডপ্রেস কোডিং স্ট্যান্ডার্ড। ওয়ার্ডপ্রেস কোডিং স্ট্যান্ডার্ড কে চারটি ভাগে ভাগ করা হয়েছে। ১) ওয়ার্ডপ্রেস পিএইচপি কোডিং স্ট্যান্ডার্ড। ২) ওয়ার্ডপ্রেস এইচটিএমএল কোডিং ষ্ট্যাণ্ডার্ড। ৩) ওয়ার্ডপ্রেস সিএসএস কোডিং ষ্ট্যাণ্ডার্ড। ৪) ওয়ার্ডপ্রেস জাভাস্ক্রিপ্ট কোডিং ষ্ট্যাণ্ডার্ড।

১) ওয়ার্ডপ্রেস পিএইচপি কোডিং ষ্ট্যাণ্ডার্ডঃ

কোটেশন এবং ডাবল কোটেশনঃ কোডলাইনের সমাপ্তিরোধে ব্যকস্ল্যাশ () ব্যবহার না করে কোটেশন ও ডাবলকোটেশন পরস্পরের বিপরীতে ব্যবহার করুন।

উদাহরণঃ [code lang=”php” ]echo “<a href=”http://localhost:8888/wp”>পরামর্শ.কম</a>”; [/code] [ভুল]

[code lang=”php” ]echo ‘<a href=”http://localhost:8888/wp”>পরামর্শ.কম</a>’;[/code] [সঠিক]

ইন্ডেন্টেশনঃ এলাইনমেন্ট ঠিক রাখার জন্য প্রতি লাইনের শুরুতে ট্যাব (Tab key) ব্যবহার করুন। এছাড়াও এসোসিয়েটিভ এ্যারের ব্যবহারের ক্ষেত্রে ভ্যালু এসাইনের সময় প্রত্যেক ভ্যালু এসাইন শেষে নিউলাইন ব্যবহার করুন। লাইনের মাঝখানে কোডের পরিচ্ছন্নতা রক্ষার্থে স্পেস (space key) ব্যবহার করুন।

উদাহরণঃ [code lang=”php” ][tab]$foo   = ‘somevalue’;

[tab]$foo2  = ‘somevalue2’;

[tab]$foo34= ‘somevalue3’;

[tab]$foo5  = ‘somevalue4′;

$my_array= array(

[tab]’foo’   => ‘somevalue’,

[tab]’foo2′  => ‘somevalue2′,

[tab]’foo3’  => ‘somevalue3’,

[tab]’foo34’=> ‘somevalue3’, );[/code]

ব্র্যাকেটের ব্যবহারঃ প্রতিটি ব্লকে সঠিকভাবে ব্র্যাকেট ব্যবহার করা জরুরি।

উদাহরনঃ [code lang=”php” ]if( condition ) {

action1();

action2();

} elseif( condition2 && condition3 ) {

action3();

action4();

} else{

defaultaction();

}[/code]

ব্লক যদি দীর্ঘ হয় তবে কন্ডিশনের আগে নিউলাইন ব্যবহার করতে পারবেন:

[code lang=”php” ]if( condition ) {

action0();

}

if( condition ) {

action1();

}

elseif( condition2 ) {

action2a();

action2b();

}

foreach( $itemsas$item) {

process_item( $item);

}[/code]

রেগুলার এক্সপ্রেশনঃ  /e এর পরিবর্তে preg_replace_callback ব্যবহার করুন। পিএইচপি ট্যাগঃ যেকোনধরনের সর্টহ্যান্ড পিএইচপি ট্যাগ ব্যবহার করা থেকে বিরত থাকুন।

উদাহরনঃ [code lang=”php” ]<?php … ?> [/code]           [শুদ্ধ]

[code lang=”php” ]<?php echo $var; ?>    [/code]     [শুদ্ধ]

[code lang=”php” ]<? … ?>                       [/code]     [ভুল]

[code lang=”php” ]<?= $var?>           [/code]     [ভুল]

ট্রেইলিং স্পেইসঃ প্রতি লাইনের শেষে স্পেস ব্যবহার করা থেকে বিরত থাকুন। স্ক্রিপ্ট ফাইলের শেষে পিএইচপি ক্লোজিং ট্যাগ (?>) ব্যবহার না করাই শ্রেয়।

স্পেইসের ব্যবহারঃ কমার পরে (,), লজিক্যাল এক্সপ্রেশন্স (==, !,!= এবং &&) এর উভয়পাশে, if,else if, for, foreach, switchইত্যাদির ব্র্যাকেটের শুরু অর্থাৎ ব্লকের শুরু এবং শেষে, ফাংশন ডিক্লেয়ার-ডিফাইন-কলিং এর ক্ষেত্রে স্পেস ব্যবহার করুন।

উদাহরনঃ x == 23 , foo && bar ! foo array( 1, 2, 3 ) $baz. ‘-5’ $term = ‘X’

ব্লক => [code lang=”php” ]foreach( $fooas$bar) { …[/code]

ফাংশন => [code lang=”php” ]functionmy_function( $param1= ‘foo’, $param2= ‘bar’) {

… my_function( $param1, func_param( $param2) );[/code]

লজিক্যাল কম্পারিজন => [code lang=”php” ]if( ! $foo) { …[/code]

টাইপ কাস্টিং => [code lang=”php” ]foreach( (array) $fooas$bar) { … $foo= (boolean) $bar;[/code]

এ্যরের মধ্যে => [code lang=”php” ]$x= $foo[‘bar’]; // correct

$x= $foo[ ‘bar’]; // incorrect

$x= $foo[0]; // correct

$x= $foo[ 0 ]; // incorrect

$x= $foo[ $bar]; // correct

$x= $foo[$bar]; // incorrect[/code]

এসকিউএল স্টেইটমেন্টঃ সঠিকভাবে কোটেশন,ডাবল কোটেশন,কাস্টিং ইত্যাদি হ্যান্ডেল করার জন্য ওয়ার্ডপ্রেসের $wpdb->prepare()  মেথড ব্যবহার করুন। এসকিউএল স্টেইটমেন্ট সমূহ বড় হাতের অক্ষরে লিখুন।

উদাহরণঃ [code lang=”php” ]$var= “dangerous'”; // raw data that may or may not need to be escaped

$id= some_foo_number(); // data we expect to be an integer, but we’re not  certain

$wpdb->query( $wpdb->prepare( “UPDATE $wpdb->posts SET post_title = %s WHERE ID = %d”, $var, $id) );[/code]

ডাটাবেইজ কোয়েরিঃ ডাটাবেইজে কোয়েরি পরিচালনার জন্য বিইউল্ডইন মেথড ব্যবহার করুন।

নাম কনভার্সনঃ  ভেরিয়েবল,এ্যকশন,ফাংশন ইত্যাদির নাম ছো্ট হাতের অক্ষরে লিখুন। ফাইলের নাম ডিস্ক্রপ্টিভ এবং হাইফেন(-) সহকারে ছোটহাতের অক্ষরে লেখা বাঞ্ছনীয়। এরকম => my-plugin-name.php । ক্লাসের ফাইলনামের আগে class- শব্দটি জুড়ে দেয়া উচিত। এরকম => class-wp-error.php কন্সটেন্ট সমূহ বড় হাতের অক্ষরে আন্ডারস্কোর (_) সহকারে লিখতে হবে। এরকম => define( ‘DOING_AJAX’, true );

ফাংশন আরগুমেন্টে হিসেবে ফ্ল্যাগ ভ্যালুঃ শুধুমাত্র ফাংশন কল করার জন্য true/false ব্যবহার করুন। ডিফাইন বা ডিক্লেয়ার এ নয়।

উদাহরণঃ [code lang=”php” ]// Incorrect functioneat( $what, $slowly= true ) { … } eat( ‘mushrooms’); eat( ‘mushrooms’, true ); // what does true mean? eat( ‘dogfood’, false ); // what does false mean? The opposite of true? // Correct functioneat( $what, $speed= ‘slowly’) { … } eat( ‘mushrooms’); eat( ‘mushrooms’, ‘slowly’); eat( ‘dogfood’, ‘quickly’);[/code]

টারনারি অপারেটরঃ শুধুমাত্র সত্য যাচাইয়ের জন্য টারনারি অপারেটর ব্যবহার করা উচিত।

এরকম => [code lang=”php” ]// (if statement is true) ? (do this) : (else, do this);

$musictype= ( ‘jazz’== $music) ? ‘cool’: ‘blah’; // (if field is not empty ) ? (do this) : (else, do this);[/code]

ইয়োদা কন্ডিশনঃ লজিক্যাল কম্পারিজনের ক্ষেত্রে কন্সটেন্টকে বাম পাশে এবং ভেরিয়েবলকে ডান পাশে রাখুন।

উদাহরণঃ [code lang=”php” ]if( true == $the_force) {

$victorious= you_will( $be);

}[/code]

ক্লেভার কোডিংঃ পরিচ্ছন্ন এবং সহজে বোধগম্য কোডিং এর জন্য ক্লেভার কোডিং থেকে বিরত থাকুন।

উদাহরণঃ [code lang=”php” ]isset( $var) || $var= some_function(); [/code][ক্লেভার কিন্তু সহজে বোধগম্য নয়।]

[code lang=”php” ]if( ! isset( $var) ) {

$var= some_function(); }[/code] [ক্লেভার নয় কিন্তু সহজে বোধগম্য।]

এরর কন্ট্রোল অপারেটরঃ কোন এক্সপ্রেশন দ্বারা উৎপন্ন এরর স্কেইপ করার জন্য এক্সপ্রেশনের পূর্বে @ ব্যবহার করুন।

লেখাটি সম্পর্কে আপনার মতামত কমেন্টের মাধ্যমে জানাতে অনুরোধ করছি। পরামর্শ.কম এর অন্যান্য প্রকাশনার আপডেট পেতে যোগ দিন ফেইসবুক, টুইটার, গুগল প্লাসে অথবা নিবন্ধন করুন ইমেইলে।

Leave a Reply