PHP Flickr ডেভেলপ করতে যেয়ে শেখা পয়েন্টসমূহ

ফ্লিকারের ফটোসেট নতুন এন্ট্রি দ্বারা সিন্ক করে নেয়ার সময়:
টেবিলে অলরেডি ফটোআইডি সেভ করে ডাটা আছেঃ ১৫,৮২,১৫৩... এইভাবে। আমি ফ্লিকার এপিআই করে আবার যখন ডাটা আনবো তখন এন্ট্রি পাবো দেখা গেলোঃ ১৫, ৮২,৭৬৫ এইভাবে (মানে আগের চেয়ে একটা বাদ এবং নতুন একটা ছবি যোগ হইসে)। এখন আমি যদি সরাসরি ইনসার্ট কমেন্ট লিখি তাহলে কোড ফেল করবে কারণ ফটো আইডি প্রাইমারী কি এবং সেটা অলরেডি আছে। সুতরাং এইটা ডিল করার জন্যে মাইএসকিউএলের কুয়েরীটা এমন হবেঃ INSERT IGNORE INTO TABLE-NAME VALUES ('১৫, ৮২, ৭৬৫' ); ফলে ১৫, ৮২ নতুন করে আর ইনসার্ট হবে না কিন্তু ৭৬৫ ইনসার্ট হয়ে যাবে। সহায়ক লিংকঃ http://stackoverflow.com/questions/10006330/skip-if-value-exist-on-sql-table

 

আপডেটেড ফাইলস্ট্রাকচার:
আমি এখন ফাইলগুলো এভাবে স্টোর করলামঃ সবগুলো পেজের জন্যে একটা ক্লাস থাকবে। সেই ক্লাসের ৩টা প্যারামঃ জাভাস্ক্রিপট, এসকিউএল, গ্লোবাল ভ্যারিয়েবল এবং সেই পেজের লেআউট কেমন হবে সেটা প্রোভাইড করার জন্যে অনেকগুলো ভিউয়ার ফাংশন। কোডগুলো অবজেক্ট ওরিয়েন্টেড করে করা হলো। আপাতত শুধু অবজেক্ট ডিক্লায়েরেশন। ওয়ার্ডপ্রেসের ডাটাবেজ হ্যান্ডলিংয়ের সাপোর্ট নেয়ার জন্যে wp-config ফাইলটা অ্যাড করে নিলেই হবে।

 

ট্রাই-ক্যাচ ফ্র্যাগমেন্ট:

try {
    echo inverse(5) . "n";
    echo inverse(0) . "n";
    throw new Exception('Division by zero.');
} catch (Exception $e) {
    echo 'Caught exception: ', $e->getMessage(), "n";
}

ইনহেরিটেন্স এবং অ্যাবস্ট্রাকশনঃ
বেজ-0: গ্লোবাল এসকিউএল
বেজ-১:  গ্লোবাল ক্লাস। এই ক্লাসটা জাভাস্ক্রিপ্ট ক্লাসের অবজেক্টও ডিক্লেয়ার করে নিবে এবং curl_php for dataFetching ইমপ্লিমেন্ট করবে
বেজ-২:  ফ্লিকার ক্লাস ফ্লিকার কমিউনিকেশনের ফাংশনগুলো লিখবে এবং একটা ভার্চুয়াল ক্লাস দিবে

চাইল্ড-১: showListFromDatabase ইমপ্লিমেন্ট করবে ফটোসেটের জন্যে
সিবলিং অফ চাইল্ড:  showListFromDatabase ইমপ্লিমেন্ট করবে ইন্ডিজিজ্যুয়াল ফটোআইডির জন্যে

Leave a Reply

Your email address will not be published. Required fields are marked *