নিবন্ধ ডিরেক্টরি
ওয়ার্ডপ্রেস পিএইচপি ত্রুটিটি ঘোস্ট স্পেসের কারণে হতে পারে!
প্রোগ্রামাররা যা সবচেয়ে বেশি ভয় পায় তা হলো বাগ নয়, বরং বাগ দিয়ে তাদের আবেগ নিয়ে খেলা করা।
আপনি যে যুক্তিটি লিখেছেন তা স্পষ্টতই ঠিক আছে, কিন্তু পিএইচপি আপনাকে একটি দেয় syntax errorএটা এমন যেন তুমি ডেটের জন্য তিন মিনিট দেরি করে এসেছো, আর অন্য ব্যক্তি মুখ ঘুরিয়ে বলছে "তুমি আমাকে ভালোবাসো না"। তুমি এতটাই অন্যায় বোধ করছো যে তুমি কীবোর্ড ছুঁড়ে ফেলতে চাইছো।

ওয়ার্ডপ্রেস পিএইচপি কেন একটি ত্রুটি রিপোর্ট করে?
PHP দ্বারা প্রদত্ত প্রম্পটটি হল:
syntax error, unexpected single-quoted string "wpturbo_handle_upload_convert_...", expecting ")"
মানুষের ভাষায় অনুবাদ করলে, এর অর্থ হল: আমি একটা শেষ বন্ধনী আশা করছিলাম, কিন্তু তুমি আমার মধ্যে এক অদ্ভুত চরিত্রের স্তম্ভ ঢুকিয়ে দিলে, যার মেজাজ ব্যাখ্যাতীত।
তাহলে সমস্যাটা কী? এটা তোমার ফাংশন লজিক নয়, বরং সেই আপাতদৃষ্টিতে নির্দোষ লাইন:
add_filter('wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp');
কোডে ঘোস্ট স্পেস
মূল সমস্যাটি হলো, কোড কপি-পেস্ট করার সময় আপনি ভুলবশত সম্পূর্ণ-প্রস্থের স্পেস অথবা শূন্য-প্রস্থের স্পেস অন্তর্ভুক্ত করে ফেলেন ।
এডিটরে খালি চোখে এই জিনিসগুলি দেখা যায় না, কিন্তু পার্স করার সময় PHP-কে ভয় দেখাবে।
এটা অনেকটা এক বাটি সুস্বাদু নুডলস খাওয়ার মতো, কিন্তু হঠাৎ করেই তুমি বালির দানায় কামড় দিলে তোমার প্রতিরক্ষা তৎক্ষণাৎ ভেঙে যায়। এই মুহূর্তে PHP-এর অনুভূতিটা এমনই।
এটি লেখার সঠিক উপায় কী?
আপনাকে আসলে যা করতে হবে তা খুবই সহজ। ঐ সমস্ত ঘোস্ট স্পেসগুলি প্রতিস্থাপন করুন এবং সবচেয়ে বিশুদ্ধ অর্ধ-প্রস্থ স্পেসগুলি রাখুন।
সঠিক ওয়ার্ডপ্রেস কোডটি নিম্নরূপ:
add_filter('wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp');
function wpturbo_handle_upload_convert_to_webp($upload) {
if (in_array($upload['type'], ['image/jpeg', 'image/png', 'image/gif'])) {
$file_path = $upload['file'];
if (extension_loaded('imagick') || extension_loaded('gd')) {
$image_editor = wp_get_image_editor($file_path);
if (!is_wp_error($image_editor)) {
// Set WebP quality (adjust as needed)
$quality = 80; // Adjust between 0 (low) to 100 (high)
$image_editor->set_quality($quality);
$file_info = pathinfo($file_path);
$dirname = $file_info['dirname'];
$filename = $file_info['filename'];
$def_filename = wp_unique_filename($dirname, $filename . '.webp');
$new_file_path = $dirname . '/' . $def_filename;
$saved_image = $image_editor->save($new_file_path, 'image/webp');
if (!is_wp_error($saved_image) && file_exists($saved_image['path'])) {
$upload['file'] = $saved_image['path'];
$upload['url'] = str_replace(basename($upload['url']), basename($saved_image['path']), $upload['url']);
$upload['type'] = 'image/webp';
@unlink($file_path);
}
}
}
}
return $upload;
}
এই পরিস্থিতি কীভাবে এড়ানো যেতে পারে?
তুমি হয়তো ভাবছো, কপি-পেস্ট করার সময় কি তোমাকে নার্ভাস থাকতে হবে? উত্তর হলো: আতঙ্কিত হবেন না, বরং বুদ্ধিমান হোন।
- VS Code এর মতো একটি নির্ভরযোগ্য সম্পাদক ব্যবহার করুন, যা স্বয়ংক্রিয়ভাবে অদ্ভুত অক্ষরগুলিকে হাইলাইট করতে পারে।
- একটি ফাইল খোলার সময়, এটি UTF-8 এনকোডিংয়ে সংরক্ষণ করার চেষ্টা করুন, যা "ভূতের প্রতীক" এর ঝুঁকি অর্ধেক কমাতে পারে।
- যদি আপনি সত্যিই চিন্তিত হন, তাহলে সন্দেহজনক কোডটি একটি প্লেইন টেক্সট টুলে পেস্ট করুন এবং এটি পরিষ্কার করুন।
ঠিক যেমন গরম পাত্র খাওয়ার আগে সবজি ধুয়ে ফেললে অনেক দুর্ঘটনা এড়ানো যায়।
উপসংহার
এই ত্রুটিটি রহস্যময় মনে হতে পারে, কিন্তু এর যুক্তি আসলে খুবই স্পষ্ট। প্রোগ্রামিং কবিতা লেখার মতো; যতিচিহ্ন এবং ব্যবধান হল ছন্দের প্রাণ। একটি ভুল স্থান কোডটিকে ছন্দের বাইরে ফেলে দিতে পারে, যেমন একটি অর্কেস্ট্রায় হঠাৎ করে একটি বিচ্ছিন্ন টিউবা উপস্থিত হয়।
কোড লেখার সময় আমাদের এক ধরনের 'প্রতীকী পরিচ্ছন্নতা' গড়ে তোলা উচিত। শুধুমাত্র খুঁটিনাটি বিষয়গুলো নিখুঁত করার মাধ্যমেই লজিকটি ত্রুটিহীনভাবে কাজ করতে পারে। দার্শনিক দৃষ্টিকোণ থেকে, এটি নির্ভুলতা এবং শৃঙ্খলারও একটি অন্বেষণ।
যোগফল
তিনটি মূল বিষয় রয়েছে:
- ত্রুটিটি কোনও যুক্তিগত সমস্যা নয়, বরং একটি ভূতের স্থান।
- সঠিক সমাধান হল এটিকে একটি আদর্শ অর্ধ-প্রস্থ স্থান দিয়ে প্রতিস্থাপন করা।
- কোডের পরিচ্ছন্নতা বিকাশ করুন এবং লুকানো অক্ষরগুলি থেকে দূরে থাকুন।
তাহলে, পরের বার যখন আপনি আপাতদৃষ্টিতে ব্যাখ্যাতীত কোনও ত্রুটির সম্মুখীন হবেন, তখন আপনার সন্দেহ হতে পারে: কর্মক্ষেত্রে কি কোনও অদৃশ্য "ভূত" আছে? পদক্ষেপ নিন, সেগুলি পরিষ্কার করুন, এবং আপনার কোডটি মসৃণভাবে চলবে।
আশা করি, চেন ওয়েইলিয়াং-এর ব্লগে ( https://www.chenweiliang.com/ ) শেয়ার করা "WordPress syntax error: a perfect fix for an unexpected single-quoted string" শীর্ষক প্রবন্ধটি আপনার জন্য সহায়ক হবে।
এই নিবন্ধটির লিঙ্কটি নির্দ্বিধায় শেয়ার করুন: https://www.chenweiliang.com/cwl-33245.html
