কীভাবে আমার প্লাগইনটির জন্য একটি এপিআই তৈরি করবেন?


20

আমি ওয়ার্ডপ্রেসের জন্য প্লাগইন বিকাশ করছি, বেশিরভাগ প্লাগইন আমি দু'টি বা তিনটি ক্লাস ব্যবহারের বিকাশ করেছি, সুতরাং বুদপ্রেস বা WooCommerce এর মতো বিশাল নয়।

কিছু ধরণের জটিল সিস্টেম সরবরাহের জন্য আমি দুটি ওপেন সোর্স প্লাগইন বিকাশ করার পরিকল্পনা করছি (এই মুহূর্তে বিশদটি ভাগ করে নিতে পারছি না তবে পরে উন্নয়নের সময়) যেখানে অন্যান্য বিকাশকারীরা ফাংশনগুলি কাস্টমাইজ করতে পারে এবং তাদের জন্য সিস্টেমটি বুদপ্রেস এবং ডাব্লুকমার্সের মতো হওয়া দরকার ।

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

আমি জানি যে একটি নির্দিষ্ট উত্তর দেওয়া কঠিন, তবে আমার কিছুটা স্টার্ট-আপ গাইড দরকার যাতে আমি সঠিক দিকে যেতে পারি। আমার নিজের ক্রিয়া এবং ফিল্টারগুলি নিবন্ধকরণ করা দরকার? যদি হ্যাঁ কিভাবে? যদি না হয় তবে আমার বিকল্পগুলি কী?

আপনার পরামর্শ আমাকে অনেক সাহায্য করবে ... ধন্যবাদ

উত্তর:


25

আপনি যে প্লাগইন বা কোনও থিমে অফার করেন তা সেই নির্দিষ্ট কোডের যুক্তির উপর নির্ভর করে। সম্ভবত কোনও গাইড নেই যা সমস্ত পরিস্থিতিতে প্রযোজ্য।

আমি এপিআই সহ একাধিক প্লাগইনগুলির জন্য একজন অবদানকারী এবং আমি এখন পর্যন্ত যা শিখেছি তা হ'ল:

  1. লোকেরা কীভাবে আপনার কোডটি ব্যবহার করে তা আপনি সত্যিই না জানা পর্যন্ত কোনও এপিআই সরবরাহ করবেন না।

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

    একটি API এর পিছনে সামঞ্জস্য বজায় রাখা শক্ত । এটি অন্যান্য জায়গায় প্রয়োজনীয় উন্নতি রোধ করতে পারে। সমস্ত গ্লোবাল ভেরিয়েবলগুলি সম্পর্কে চিন্তা করুন ওয়ার্ডপ্রেস আজকাল মুছে ফেলতে পারে না। এটি একটি খারাপ API, এবং আমরা এটি বহু বছর ধরে আটকে আছি, কারণ লোকেরা ইতিমধ্যে এটি ব্যবহার করে

  2. আপনার কোডটিকে বাকী কোড থেকে আলাদা করার বিষয়ে বিবেচনা করুন (কোনও ধারণার জন্য পূর্ববর্তী লিঙ্কটি দেখুন)।
    আপনার এপিআই কেবল তৃতীয় পক্ষের বিকাশকারীদের জন্যই নয়, আপনার জন্যও কার্যকর হওয়া উচিত। আপনার যদি না করতে হয় তবে নিজের জন্য সীমাবদ্ধতা যুক্ত করবেন না।

  3. নিজের কুকুরের খাবার খান।
    আপনি যদি কাস্টম হুক অফার করেন তবে সেগুলি আপনার কোডে ব্যবহার করুন। এটি অন্যান্য বিকাশকারীদের দরকারী উদাহরণ দেবে এবং আপনি শীঘ্রই সম্ভাব্য ত্রুটিগুলি দেখতে পাবেন।
    যদি ওয়ার্ডপ্রেস কোর অভ্যন্তরীণভাবে তথাকথিত সেটিংস এপিআই ব্যবহার করে তবে আমাদের আজ এই গোলযোগ নেই। হতে পারে.

  4. উদাহরণ দ্বারা নেতৃত্ব.
    আপনার প্লাগইনে ওয়ার্ডপ্রেস কোর এপিআইর ভাল অংশগুলি ব্যবহার করুন। চলুন বেনামী বস্তু , ধ্রুবক, গ্লোবাল ভেরিয়েবল এবং যে কোন ধরণের অনিশ্চিত কোড

  5. নিশ্চিত হয়ে নিন যে আপনি একটি সামঞ্জস্যপূর্ণ নামকরণের স্কিম ব্যবহার করছেন ( এমন কোনও গোলযোগ নয় ) এবং সমস্ত কিছু নিজের নামের জায়গার নিচে রাখুন।

  6. প্রথমে ডকুমেন্টেশন লিখুন। পরে একটি নতুন (একটি অংশ) এপিআই প্রকাশ করুন।
    প্রতিটি কিছুর জন্য দরকারী উদাহরণ তৈরি করুন। আপনি কতগুলি গর্ত এবং রিডানড্যান্সি পাবেন তা দেখে আপনি অবাক হয়ে যাবেন।

  7. কলব্যাক হেল্প এড়িয়ে চলুন।
    আপনার API এ ডিবাগ করার জন্য নির্দিষ্ট সরঞ্জামগুলির প্রস্তাব করুন যখন জিনিসগুলি যেমন করা উচিত তেমনভাবে কাজ করে না (মাইনযুক্ত স্ক্রিপ্টস এবং স্টাইলশিট সহ নয়)। আপনি কীভাবে সৃজনশীল হতে পারেন তা বোঝানোর জন্য আমি কীভাবে এজেএক্স ডিবাগ করব তার একটি উদাহরণ লিখেছি । আবার, এই সরঞ্জামগুলি প্রকাশ করার আগে আপনার ডকুমেন্টেশনে ব্যাখ্যা করা উচিত।

  8. ওয়ার্ডপ্রেসের কলব্যাক প্যারাডিজমার বিকল্প পর্যবেক্ষক প্যাটার্ন হতে পারে । এটি তৃতীয় পক্ষের বিকাশকারীদের জন্য বাধা বাড়িয়ে তুলবে, তবে এটি উভয় পক্ষের আরও ভাল কোডের ফলাফল করতে পারে।


আপনি আমাকে প্রচুর গাইড দিয়েছেন। এটি আমাকে সঠিক দিকে শুরু করতে সহায়তা করবে। কিছু বিষয় আমি কখনই ভাবিনি। এই পয়েন্টগুলির জন্য ধন্যবাদ। আমি একবার বিকাশ শুরু করলে প্লাগইনটির জন্য নতুন প্রশ্ন শুরু করব। আমি আপনার বিশেষজ্ঞদের সত্যিই মহান সাহায্য প্রয়োজন হবে। বর্তমানে আমি সিস্টেমের জন্য কাঠামোগত ফ্লো-চার্ট তৈরি করছি। আবারও অনেক ধন্যবাদ .. আমি আপনার উত্তরটি নির্বাচন করছি তবে অন্যান্য বিশেষজ্ঞদের কাছ থেকেও শুনতে চাই।
পিক্সেলগ্রেনে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.