জুমলার সাথে কীভাবে একটি RESTful API তৈরি করবেন


11

আমি ভি 1 এর পরে জুমলা এক্সটেনশানগুলি তৈরি করে চলেছি তবে শীঘ্রই আমি তৈরি করেছি এবং কিছু সময়ের জন্য ব্যবহার করে আসছি এমন একটি API লাইভ নেওয়া দরকার। বর্তমানে আমি জুমলা 2.5 ব্যবহার করছি এবং এই সিস্টেমে লিখিত প্লাগইন রয়েছে:

https://github.com/techjoomla/com_api

লাইভে যাবার আগে আমি যতটা সম্ভব সিস্টেমের ভবিষ্যত প্রমাণ করতে চাই। এই এপিআই উপাদানটি সম্প্রতি জুমলা ভি 3 এর সাথে কাজ করার জন্য আপগ্রেড করা শুরু করেছে তাই এটি বর্তমানে সাইটের আপগ্রেড হতে বাধা দিচ্ছে। আমি এও ভাবি যে পাবলিক এপিআই এবং ইউজার পোর্টাল পৃথক করা অর্থবোধ করে কারণ এপিআইটি মোবাইল অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হবে বলে ইন্টিগ্রেটেড এক্সটেনশন হওয়ার কোনও লাভ নেই।

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

মোবাইল মিথস্ক্রিয়া জন্য জুমলা ভিত্তিক RESTful API তৈরির জন্য সর্বোত্তম পদ্ধতির বিষয়ে যে কোনও পরামর্শই প্রশংসিত হবে।


1
জুমলা এক্সটেনশানস ডিরেক্টরিতে আমি এই নতুন এক্সটেনশনগুলি সবেমাত্র দেখেছি যা আপনার জন্য কার্যকর হতে পারে: এক্সটেনশনস.জমলা.অর্গ
কোর

উত্তর:


8

আমার অভিজ্ঞতা থেকে:

জুমলা ফ্রেমওয়ার্ক সম্পর্কে

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

এফএফ ফ্রেমওয়ার্ক সম্পর্কে

আমি বর্তমানে কেবল এফএফ দিয়ে বিকাশ করছি। বেশ সহজ, প্রচুর আরএডি, স্বয়ংক্রিয় কনফিগারেশন ইত্যাদি; এবং কোড J2.5 / J3 এর সাথে সামঞ্জস্যপূর্ণ।

একটি রেস্টলফুল এপিআইয়ের জন্য, আপনি কেবল টুডো-ফফ-উদাহরণ ধরতে পারবেন এবং এপিআই দিয়ে একটি নিয়ামক যুক্ত করতে পারেন। উদাহরণ:

public function getIndexStatus()
{
    // CSRF prevention
    if ($this->csrfProtection)
    {
        $this->_csrfProtection();
    }

    $message['status'] = true;
    $message['error_message'] = 'Status Ok';

    $message = json_encode($message);
    echo $message;
    flush();

    JFactory::getApplication()->close();

}

এছাড়াও, আপনি স্বয়ংক্রিয় জসন দর্শনগুলির সুবিধা নিতে পারেন যেমন একটি ব্রাউজিং ভিউ (ডিফল্ট.এফপি) জেসন আউটপুট উত্পন্ন করতে পারে (কেবল যোগ default_json.phpএবং echo json_encode...)


1
এফএফ-এর একমাত্র সমস্যাটি আমি বুঝতে পারছি যে, এটি এখন জুমলা কোরের বিকাশকারী দ্বারা সমর্থিত নয় ... যদিও আমি বুঝতে পারি যে এফএফের একটি সংস্করণ জুমলার অংশ হিসাবে নয়, আবার জালযুক্ত হয়েছে এবং এগিয়ে চলছে?
ক্রেগ

আপনি ঠিক বলেছেন, তবে এটি মোটেও সমস্যা নয়। জুমলার এফএফ বেশ স্থিতিশীল (আমি এখনও আমার এক্সটেনশানগুলি আপগ্রেড করিনি)। নতুন F0F একটি নতুন গ্রন্থাগার হিসাবে ইনস্টল করতে হবে (... শেষে আপনাকে সর্বদা এটি J2.5 এ ইনস্টল করতে হবে ... এবং ইনস্টলারটি জে 3 এর জন্য প্রস্তুত) is এখনই, সোর্স কোডের 99% পরিবর্তন হয়নি
অনিবাল

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

6

com_api অবশ্যই আপনার সাইটের জন্য REST পরিষেবাদি তৈরির একটি ভাল উপায় যদি এক্সটেনশানটি এফএফ / আরএডের ভিত্তিতে না হয়। তবে আপনি যদি কেবল এপিআই-র জন্য পৃথক জুমলা উদাহরণ তৈরির পরিকল্পনা করেন তবে কয়েকটি গোছা সম্পর্কে সতর্ক হন

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

এ ছাড়া আমি নিশ্চিত যে কোনও সমস্যা না হওয়া উচিত, কারণ এটি তৈরি করা অবিরত থাকবে যতক্ষণ না এপিআই তৈরির কোনও জুমলা উপায় নেই way

দাবি অস্বীকার: আমি https://github.com/techjoomla/com_api এর রক্ষণাবেক্ষণকারী


আপনার উত্তরের জন্য ধন্যবাদ, আপনি এটি বিকাশ চালিয়ে যাচ্ছেন তা জানতে পেরে দুর্দান্ত। Com_api কীভাবে কাজ করে তা আমি পছন্দ করি তবে আমি কেবল একটি এপিআই সরবরাহ করতে পুরো জুমলা সিএমএস চালানো এবং এড়াতে চেয়েছিলাম। আমি যদি প্রয়োজন মতো কাঠামোর কাজটি না করতে পারি তবে আমি অবশ্যই এটি ব্যবহার করে যাব।
জো পি

1

আমার দুই সেন্ট:

কোনও গ্রাহকের জন্য আমার স্মার্টফোন অ্যাপ্লিকেশন থেকে তার জুমলা সাইটের সামগ্রীগুলি অ্যাক্সেস করা দরকার। সামগ্রীগুলি কম_ কনটেন্টে স্থাপন করা হয়েছিল তাই প্রাথমিকভাবে আমি obRSS ফিড ব্যবহার করেছি। তারপরে আমি জেইডি তে জ্যাকব্যাকেন্ড খুঁজে পেয়েছি এবং চেষ্টা করেছি। এটি এখানে http://www.selfget.com/products/jbackend.html পাওয়া যায় কোডটি খুব পরিষ্কার মনে হচ্ছে এবং এটি RESTful অনুরোধ এবং JSON প্রতিক্রিয়াগুলিকে সমর্থন করে। অনলাইন ডকুমেন্টেশন সীমাবদ্ধ তবে প্রযুক্তিবিদদের পক্ষে যথেষ্ট পরিষ্কার। দুর্ভাগ্যক্রমে এই মুহুর্তে এটি কেবল কম_উজার এবং কম_ কনটেন্টকেই সমর্থন করে তবে আমার ক্ষেত্রে এটি ঠিক ছিল। এখন আমার এটি অন্য গ্রাহকের জন্য ব্যবহার করা উচিত যারা কে 2 সিসি ব্যবহার করেন। আমি কে 2 নিবন্ধ এবং বিভাগগুলি অ্যাক্সেসের জন্য একটি কাস্টম প্লাগইন তৈরির চেষ্টা করছি, তবে কমপক্ষে আমি সম্পূর্ণ অনুরোধ পরিচালনার কোডটি সংরক্ষণ করব। আমি বিকাশকারীকে একটি ইমেল পাঠিয়েছিলাম এবং তিনি আমাকে বলেছিলেন যে তিনি কে 2 এবং কুনেনা ফোরামের মতো অতিরিক্ত মডিউলগুলিতেও কাজ করছেন, এটি অত্যন্ত আশাব্যঞ্জক এক্সটেনশন।


1

নীচের সাইটটি কীভাবে একটি রেস্টলফুল জেএসএন এপিআই বানাতে হবে তার দিকনির্দেশগুলির জন্য একটি দুর্দান্ত উত্স বলে মনে হচ্ছে:

http://jsonapi.org/

এটির মূল্যের জন্য, আমি জুমলা ৩.৪.x এর জন্য একটি এপিআই পণ্য চালু করছি যা সিএপিআই http://getcapi.org নামে পরিচিত ।

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

আপনি অন্যান্য পোস্টগুলি থেকে এখানে অতিরিক্ত তথ্য পেতে পারেন:

/programming/26340885/rest-api-for-joomla-3-0/32706378#32706378

যদি আপনার কোন প্রশ্ন থাকে তাহলে আমার জানতে দিন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.