একটি কম্পোনেন্ট কার্যাবলী সম্পূর্ণ বাস্তবসম্মত
From Joomla! Documentation
এই নিবন্ধটি জুমলা জন্য শুরু করা হয়েছে; এটি একটি জুমলা উপাদানটি ব্যাখ্যা করার জন্য ডিজাইন করা হয়েছে, এবং এটি কিভাবে কাজ করে। যখন একটি নির্দিষ্ট উপাদান উদাহরণ টিউটোরিয়াল উপকৃত হবে, এই নিবন্ধটি হ্যালো ওয়ার্ল্ড নামে একটি উদাহরণ উপাদান পড়ুন হবে
একটি জুমলা! কম্পোনেন্ট কি?
A component is a kind of Joomla! extension. Components are the main functional units of Joomla!; they can be seen as mini-applications. An easy analogy would be that Joomla! is the operating system and the components are desktop applications. Created by a component, content is usually displayed in the center of the main content area of a template (depending on the template).
Most components have two main parts: an administrator part and a site part. The site part is what is used to render pages of your site when they are requested by your site visitors during normal site operation. The administrator part provides an interface to configure and manage different aspects of the component and is accessible through the Joomla! administrator application.
Joomla! comes with a number of core components, like the content management system, contact forms and Web Links.
See also: Module, Plugin, Template
জুমলাতে! কাঠামো, উপাদানগুলি একটি ফ্ল্যাট মডেল (অনুরোধকৃত পৃষ্ঠার জন্য HTML কোড প্রদান করে) অথবা মডেল-ভিউ-কন্ট্রোলার (এখানে MVC হিসাবে উল্লেখ করা হয়) প্যাটার্ন ব্যবহার করে ডিজাইন করা যায়।
MVC এর ভূমিকা
MVC একটি সফ্টওয়্যার ডিজাইন প্যাটার্ন যেটি এইভাবে কোড সংগঠিত করার জন্য ব্যবহার করা যেতে পারে যে ব্যবসায়িক লজিক এবং ডেটা উপস্থাপনাটি পৃথক। এই পদ্ধতির পিছনে প্রিভিউ হল যে ব্যবসায়িক লজিক এক বিভাগে গোষ্ঠীভুক্ত করা হয়, তাহলে ব্যবসার লজিকটি পুনরায় প্রকাশ না করেই তথ্যটি ঘিরে থাকা ইন্টারফেস এবং ইউজার মিথস্ক্রিয়াকে সংশোধন ও কাস্টমাইজ করা যায়। MVC মূলত একটি লজিক্যাল GUI আর্কিটেকচারে প্রথাগত ইনপুট, প্রক্রিয়াকরণ, আউটপুট ভূমিকা ম্যাপ করার জন্য উন্নত ছিল।
মডেল
মডেলটি এমন অংশের অংশ যা অ্যাপ্লিকেশন এর ডেটা এনক্যাপসুল করে দেয়। এটি প্রায়ই রুটিনগুলিকে পরিচালনা করে এবং এই ডেটাকে অর্থপূর্ণভাবে ম্যানিপুল্যু প্রদান করে যা রুটিনগুলি ছাড়াও মডেল থেকে ডেটা পুনরুদ্ধার করে। সাধারণভাবে, অন্তর্নিহিত তথ্য অ্যাক্সেস কৌশলটি মডেলের মধ্যে encapsulated করা উচিত। এই পদ্ধতিতে, যদি এমন একটি সিস্টেম থেকে সরানো হয় যা একটি ডাটাবেস ব্যবহার করে এমন একটি সিস্টেমের তথ্য সংরক্ষণের জন্য একটি ফ্ল্যাট ফাইল ব্যবহার করে, তবে মডেলটি শুধুমাত্র একটি উপাদান যা পরিবর্তিত করা প্রয়োজন, ভিউ বা কন্ট্রোলার নয়।
দৃশ্য
দৃশ্যটি কম্পোনেন্টের একটি অংশ যা মডেল থেকে ডাটা থেকে রুপরেখা পদ্ধতিতে রেন্ডার করা হয় যা ইন্টারঅ্যাকশনের জন্য উপযুক্ত। একটি ওয়েব ভিত্তিক অ্যাপ্লিকেশনের জন্য, ভিউ সাধারণত একটি HTML পৃষ্ঠা যা ব্যবহারকারীর কাছে ফিরিয়ে দেওয়া হয়। দৃশ্য মডেল থেকে তথ্য pulls (যা নিয়ামক থেকে এটি গৃহীত হয়) এবং একটি টেম্পলেট মধ্যে তথ্য ভোজন এবং ব্যবহারকারীর কাছে উপস্থাপন করা হয়। ভিউ ডেটা কোনও ভাবে সংশোধন করতে পারে না, এটি কেবল মডেল থেকে প্রাপ্ত ডেটা প্রদর্শন করে।
নিয়ামক
ব্যবহারকারী কর্মের সাড়া দেওয়ার জন্য নিয়ামক দায়ী। একটি ওয়েব অ্যাপ্লিকেশন ক্ষেত্রে, একটি ব্যবহারকারীর কর্ম সাধারণত একটি পৃষ্ঠা অনুরোধ। নিয়ামক ব্যবহারকারী দ্বারা কি অনুরোধ করা হচ্ছে তা নির্ধারন করবে এবং উপযুক্তভাবে ডেটা যথাযথভাবে ম্যানিপুল করার জন্য মডেলটি ট্রিগার করে এবং ভিউতে মডেলটি প্রেরণ করে উপযুক্তভাবে প্রতিক্রিয়া জানাবে। নিয়ামকটি মডেলের ডাটা প্রদর্শন করে না, এটি কেবলমাত্র মডেলগুলিকে ট্রিগার করে দেয় যা ডেটা সংশোধন করে, এবং তারপর মডেলটিকে দৃশ্যের মধ্যে প্রদর্শন করে যা ডেটা প্রদর্শন করে।
জুমলা কম্পোনেন্ট ফ্রেমওয়ার্ক ব্যাখ্যা
মডেল
জুমলা কাঠামোর মধ্যে, মডেলগুলি ডেটা পরিচালনার জন্য দায়ী। একটি মডেলের জন্য লেখা প্রথম ফাংশনটি হল একটি ফাংশন। এটি কলারের কাছে তথ্য ফেরত দেয়। এই উদাহরণের জন্য, কলকারী HelloWorldViewHelloWorld ভিউ হবে। ডিফল্টভাবে, হ্যালোওয়ার্ড মোডেলহেলওয়াল্ড নামক মডেলটি site/models/helloworld.php তে বাস করছে এই দৃশ্যের সাথে যুক্ত মূল মডেল।
তাই আসুন নামকরণের প্রচলনগুলির সাথে একটি উদাহরণ দিয়ে দেখুন, কারণ নামকরণের রীতি হচ্ছে প্রকৃত জাদু, যা সবকিছু করে তোলে:
HelloWorldViewHelloWorld site/views/helloworld/view.html.php এ স্থায়ীভাবে বসবাস করে এবং HelloWorldModelHelloWorld ক্লাস ব্যবহার করতে পারে। ফাইলের site/models/helloworld.php
তাই আসুন আমরা অনুমান করি যে আমরা একটি কল্পিত দৃশ্য 'fluffy' ব্যবহার করতে চাই, আপনার থাকতে হবে:
HelloWorldViewFluffy ক্লাসে site/views/fluffy/view.html.php থাকে। এই দৃশ্যটি HelloWorldModelFluffy site/models/fluffy.php ব্যবহার করবে। দ্রষ্টব্য: ভিউ এর প্রকৃত স্ক্রিন: site/views/fluffy/tmpl/default.php হিসেবে এই উদাহরণটি তৈরি করা প্রয়োজন। এই গাঢ় নিয়মাবলীগুলির মধ্যে কোনটি ভঙ্গ করলে ত্রুটিগুলি বা একটি ফাঁকা পৃষ্ঠা প্রদর্শিত হবে।
একটি জুমলা ব্যবহার করা হচ্ছে! কম্পোনেন্ট
প্রথমে আমরা জুমলা অ্যাক্সেস করতে হবে! প্ল্যাটফর্ম, যা সর্বদা এন্ট্রি একক পয়েন্ট মাধ্যমে অ্যাক্সেস করা হয়। আপনার পছন্দের ওয়েব ব্রাউজার ব্যবহার করে নিচের URL টি নেভিগেট করুন:
1 | ব্যবহারকারী অ্যাক্সেস | <yoursite>/joomla/index.php |
2 | প্রশাসক অ্যাক্সেস | <yoursite>/joomla/administrator/index.php |
ওহে বিশ্ব! উদাহরণ: localhost/joomla/index.php আপনি কম্পোনেন্টের URL ব্যবহার করতে পারেন, অথবা Menu কম্পোনেন্ট নেভিগেট করার জন্য। এই নিবন্ধে আমরা URL ব্যবহার করে আলোচনা করব।
1 | ব্যবহারকারী অ্যাক্সেস | <yoursite>/joomla/index.php?option=com_<component_name> |
2 | প্রশাসক অ্যাক্সেস | <yoursite>/joomla/administrator/index.php?option=com_<component_name> |
ওহে বিশ্ব! উদাহরণ: localhost/joomla/index.php?option=com_helloworld
MVC বেসিক ডিরেক্টরি গঠন
উপাদান আপনার জুমলা মধ্যে একটি ডিরেক্টরির মধ্যে সংরক্ষিত হয়! ইনস্টলেশন, বিশেষ করে:
- htdocs/<path_to_joomla>/components/com_<component_name>/ .
হ্যালো ওয়ার্ল্ড! উপাদান সংরক্ষণ করা হবেhtdocs/<path_to_joomla>/components/com_helloworld/.
একটি মৌলিক উপাদান তার ডিরেক্টরির মধ্যে নিম্নলিখিত ফাইল ধারণ করবে
- একটি এইচটিএমএল ফাইল যা একটি পটভূমির রঙের সাথে একটি নিরাপত্তা ফাইল। index.html
- একটি পিএইচপি ফাইল যা কন্ট্রোলার নিজেই প্রতিনিধিত্ব করে: controller.php
- একটি পিএইচপি ফাইল যা কন্ট্রোলার Class সংখ্যা লোড করে: <component_name>.php
- একটি পিএইচপি ফাইল যা মডেল নিজেই সংখ্যা প্রতিনিধিত্ব করে: models/<component_name>.php
- পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল: models/index.html
- পিএইচপি ডিফল্ট ভিউ ফাইল: views/<component_name>/tmpl/default.php
- একটি মেনু আইটেম টাইপ সংখ্যা যোগ করার জন্য একটি XML ফাইল: views/<component_name>/tmpl/default.xml
- পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল views/<component_name>/tmpl/index.html
- পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল: views/<component_name>/index.html
- দৃশ্য প্রদর্শনের জন্য একটি পিএইচপি ফাইল: views/<component_name>/view.html.php
JEXEC
জুমলা শুরুতে নিম্নলিখিত লাইন সাধারণত পাওয়া যায়! পিএইচপি ফাইলগুলি:
<?php
defined('_JEXEC') or die('Restricted Access');
এটি জুমলাতে একটি নিরাপদ এন্ট্রি পয়েন্টের জন্য সক্ষম! প্ল্যাটফর্ম। JEXEC একটি বিস্তারিত ব্যাখ্যা রয়েছে।
একটি MVC কম্পোনেন্ট ডিজাইন উপর টিউটোরিয়াল
আপনার নিজস্ব MVC কম্পোনেন্ট কিভাবে ডিজাইন করতে শিখতে, আপনার জুমলা জন্য টিউটোরিয়ালটি সম্পন্ন করুন! সংস্করণ।