Difference between revisions of "Absolute Basics of How a Component Functions/bn"

From Joomla! Documentation

(Updating to match new version of source page)
(Updating to match new version of source page)
Line 1: Line 1:
 
<noinclude><languages /></noinclude>
 
<noinclude><languages /></noinclude>
 +
<div class="mw-translate-fuzzy">
 
এই নিবন্ধটি জুমলা জন্য শুরু করা হয়েছে; এটি একটি জুমলা উপাদানটি ব্যাখ্যা করার জন্য ডিজাইন করা হয়েছে, এবং এটি কিভাবে কাজ করে। যখন একটি নির্দিষ্ট উপাদান উদাহরণ টিউটোরিয়াল উপকৃত হবে, এই নিবন্ধটি হ্যালো ওয়ার্ল্ড নামে একটি উদাহরণ উপাদান পড়ুন হবে
 
এই নিবন্ধটি জুমলা জন্য শুরু করা হয়েছে; এটি একটি জুমলা উপাদানটি ব্যাখ্যা করার জন্য ডিজাইন করা হয়েছে, এবং এটি কিভাবে কাজ করে। যখন একটি নির্দিষ্ট উপাদান উদাহরণ টিউটোরিয়াল উপকৃত হবে, এই নিবন্ধটি হ্যালো ওয়ার্ল্ড নামে একটি উদাহরণ উপাদান পড়ুন হবে
 
+
</div>
 
==একটি জুমলা! কম্পোনেন্ট কি?==
 
==একটি জুমলা! কম্পোনেন্ট কি?==
 
{{Chunk:Component/bn}}
 
{{Chunk:Component/bn}}
 
জুমলাতে! কাঠামো, উপাদানগুলি একটি ফ্ল্যাট মডেল (অনুরোধকৃত পৃষ্ঠার জন্য HTML কোড প্রদান করে) অথবা মডেল-ভিউ-কন্ট্রোলার (এখানে MVC হিসাবে উল্লেখ করা হয়) প্যাটার্ন ব্যবহার করে ডিজাইন করা যায়।
 
জুমলাতে! কাঠামো, উপাদানগুলি একটি ফ্ল্যাট মডেল (অনুরোধকৃত পৃষ্ঠার জন্য HTML কোড প্রদান করে) অথবা মডেল-ভিউ-কন্ট্রোলার (এখানে MVC হিসাবে উল্লেখ করা হয়) প্যাটার্ন ব্যবহার করে ডিজাইন করা যায়।
 
 
==MVC এর ভূমিকা==
 
==MVC এর ভূমিকা==
 +
<div class="mw-translate-fuzzy">
 
MVC একটি সফ্টওয়্যার ডিজাইন প্যাটার্ন যেটি এইভাবে কোড সংগঠিত করার জন্য ব্যবহার করা যেতে পারে যে ব্যবসায়িক লজিক এবং ডেটা উপস্থাপনাটি পৃথক। এই পদ্ধতির পিছনে প্রিভিউ হল যে ব্যবসায়িক লজিক এক বিভাগে গোষ্ঠীভুক্ত করা হয়, তাহলে ব্যবসার লজিকটি পুনরায় প্রকাশ না করেই তথ্যটি ঘিরে থাকা ইন্টারফেস এবং ইউজার মিথস্ক্রিয়াকে সংশোধন ও কাস্টমাইজ করা যায়। MVC মূলত একটি লজিক্যাল GUI আর্কিটেকচারে প্রথাগত ইনপুট, প্রক্রিয়াকরণ, আউটপুট ভূমিকা ম্যাপ করার জন্য উন্নত ছিল।
 
MVC একটি সফ্টওয়্যার ডিজাইন প্যাটার্ন যেটি এইভাবে কোড সংগঠিত করার জন্য ব্যবহার করা যেতে পারে যে ব্যবসায়িক লজিক এবং ডেটা উপস্থাপনাটি পৃথক। এই পদ্ধতির পিছনে প্রিভিউ হল যে ব্যবসায়িক লজিক এক বিভাগে গোষ্ঠীভুক্ত করা হয়, তাহলে ব্যবসার লজিকটি পুনরায় প্রকাশ না করেই তথ্যটি ঘিরে থাকা ইন্টারফেস এবং ইউজার মিথস্ক্রিয়াকে সংশোধন ও কাস্টমাইজ করা যায়। MVC মূলত একটি লজিক্যাল GUI আর্কিটেকচারে প্রথাগত ইনপুট, প্রক্রিয়াকরণ, আউটপুট ভূমিকা ম্যাপ করার জন্য উন্নত ছিল।
 
+
</div>
 
===মডেল===
 
===মডেল===
 
মডেলটি এমন অংশের অংশ যা অ্যাপ্লিকেশন এর ডেটা এনক্যাপসুল করে দেয়। এটি প্রায়ই রুটিনগুলিকে পরিচালনা করে এবং এই ডেটাকে অর্থপূর্ণভাবে ম্যানিপুল্যু প্রদান করে যা রুটিনগুলি ছাড়াও মডেল থেকে ডেটা পুনরুদ্ধার করে। সাধারণভাবে, অন্তর্নিহিত তথ্য অ্যাক্সেস কৌশলটি মডেলের মধ্যে encapsulated করা উচিত। এই পদ্ধতিতে, যদি এমন একটি সিস্টেম থেকে সরানো হয় যা একটি ডাটাবেস ব্যবহার করে এমন একটি সিস্টেমের তথ্য সংরক্ষণের জন্য একটি ফ্ল্যাট ফাইল ব্যবহার করে, তবে মডেলটি শুধুমাত্র একটি উপাদান যা পরিবর্তিত করা প্রয়োজন, ভিউ বা কন্ট্রোলার নয়।
 
মডেলটি এমন অংশের অংশ যা অ্যাপ্লিকেশন এর ডেটা এনক্যাপসুল করে দেয়। এটি প্রায়ই রুটিনগুলিকে পরিচালনা করে এবং এই ডেটাকে অর্থপূর্ণভাবে ম্যানিপুল্যু প্রদান করে যা রুটিনগুলি ছাড়াও মডেল থেকে ডেটা পুনরুদ্ধার করে। সাধারণভাবে, অন্তর্নিহিত তথ্য অ্যাক্সেস কৌশলটি মডেলের মধ্যে encapsulated করা উচিত। এই পদ্ধতিতে, যদি এমন একটি সিস্টেম থেকে সরানো হয় যা একটি ডাটাবেস ব্যবহার করে এমন একটি সিস্টেমের তথ্য সংরক্ষণের জন্য একটি ফ্ল্যাট ফাইল ব্যবহার করে, তবে মডেলটি শুধুমাত্র একটি উপাদান যা পরিবর্তিত করা প্রয়োজন, ভিউ বা কন্ট্রোলার নয়।
 
 
===দৃশ্য===
 
===দৃশ্য===
 
দৃশ্যটি কম্পোনেন্টের একটি অংশ যা মডেল থেকে ডাটা থেকে রুপরেখা পদ্ধতিতে রেন্ডার করা হয় যা ইন্টারঅ্যাকশনের জন্য উপযুক্ত। একটি ওয়েব ভিত্তিক অ্যাপ্লিকেশনের জন্য, ভিউ সাধারণত একটি HTML পৃষ্ঠা যা ব্যবহারকারীর কাছে ফিরিয়ে দেওয়া হয়। দৃশ্য মডেল থেকে তথ্য pulls (যা নিয়ামক থেকে এটি গৃহীত হয়) এবং একটি টেম্পলেট মধ্যে তথ্য ভোজন এবং ব্যবহারকারীর কাছে উপস্থাপন করা হয়। ভিউ ডেটা কোনও ভাবে সংশোধন করতে পারে না, এটি কেবল মডেল থেকে প্রাপ্ত ডেটা প্রদর্শন করে।
 
দৃশ্যটি কম্পোনেন্টের একটি অংশ যা মডেল থেকে ডাটা থেকে রুপরেখা পদ্ধতিতে রেন্ডার করা হয় যা ইন্টারঅ্যাকশনের জন্য উপযুক্ত। একটি ওয়েব ভিত্তিক অ্যাপ্লিকেশনের জন্য, ভিউ সাধারণত একটি HTML পৃষ্ঠা যা ব্যবহারকারীর কাছে ফিরিয়ে দেওয়া হয়। দৃশ্য মডেল থেকে তথ্য pulls (যা নিয়ামক থেকে এটি গৃহীত হয়) এবং একটি টেম্পলেট মধ্যে তথ্য ভোজন এবং ব্যবহারকারীর কাছে উপস্থাপন করা হয়। ভিউ ডেটা কোনও ভাবে সংশোধন করতে পারে না, এটি কেবল মডেল থেকে প্রাপ্ত ডেটা প্রদর্শন করে।
 
 
===নিয়ামক===
 
===নিয়ামক===
 
ব্যবহারকারী কর্মের সাড়া দেওয়ার জন্য নিয়ামক দায়ী। একটি ওয়েব অ্যাপ্লিকেশন ক্ষেত্রে, একটি ব্যবহারকারীর কর্ম সাধারণত একটি পৃষ্ঠা অনুরোধ। নিয়ামক ব্যবহারকারী দ্বারা কি অনুরোধ করা হচ্ছে তা নির্ধারন করবে এবং উপযুক্তভাবে ডেটা যথাযথভাবে ম্যানিপুল করার জন্য মডেলটি ট্রিগার করে এবং ভিউতে মডেলটি প্রেরণ করে উপযুক্তভাবে প্রতিক্রিয়া জানাবে। নিয়ামকটি মডেলের ডাটা প্রদর্শন করে না, এটি কেবলমাত্র মডেলগুলিকে ট্রিগার করে দেয় যা ডেটা সংশোধন করে, এবং তারপর মডেলটিকে দৃশ্যের মধ্যে প্রদর্শন করে যা ডেটা প্রদর্শন করে।
 
ব্যবহারকারী কর্মের সাড়া দেওয়ার জন্য নিয়ামক দায়ী। একটি ওয়েব অ্যাপ্লিকেশন ক্ষেত্রে, একটি ব্যবহারকারীর কর্ম সাধারণত একটি পৃষ্ঠা অনুরোধ। নিয়ামক ব্যবহারকারী দ্বারা কি অনুরোধ করা হচ্ছে তা নির্ধারন করবে এবং উপযুক্তভাবে ডেটা যথাযথভাবে ম্যানিপুল করার জন্য মডেলটি ট্রিগার করে এবং ভিউতে মডেলটি প্রেরণ করে উপযুক্তভাবে প্রতিক্রিয়া জানাবে। নিয়ামকটি মডেলের ডাটা প্রদর্শন করে না, এটি কেবলমাত্র মডেলগুলিকে ট্রিগার করে দেয় যা ডেটা সংশোধন করে, এবং তারপর মডেলটিকে দৃশ্যের মধ্যে প্রদর্শন করে যা ডেটা প্রদর্শন করে।
 
 
== জুমলা কম্পোনেন্ট ফ্রেমওয়ার্ক ব্যাখ্যা ==
 
== জুমলা কম্পোনেন্ট ফ্রেমওয়ার্ক ব্যাখ্যা ==
 
 
=== মডেল ===
 
=== মডেল ===
 
জুমলা কাঠামোর মধ্যে, মডেলগুলি ডেটা পরিচালনার জন্য দায়ী। একটি মডেলের জন্য লেখা প্রথম ফাংশনটি হল একটি ফাংশন। এটি কলারের কাছে তথ্য ফেরত দেয়। এই উদাহরণের জন্য, কলকারী HelloWorldViewHelloWorld ভিউ হবে। ডিফল্টভাবে, হ্যালোওয়ার্ড মোডেলহেলওয়াল্ড নামক মডেলটি site/models/helloworld.php তে বাস করছে এই দৃশ্যের সাথে যুক্ত মূল মডেল।
 
জুমলা কাঠামোর মধ্যে, মডেলগুলি ডেটা পরিচালনার জন্য দায়ী। একটি মডেলের জন্য লেখা প্রথম ফাংশনটি হল একটি ফাংশন। এটি কলারের কাছে তথ্য ফেরত দেয়। এই উদাহরণের জন্য, কলকারী HelloWorldViewHelloWorld ভিউ হবে। ডিফল্টভাবে, হ্যালোওয়ার্ড মোডেলহেলওয়াল্ড নামক মডেলটি site/models/helloworld.php তে বাস করছে এই দৃশ্যের সাথে যুক্ত মূল মডেল।
 
+
<div class="mw-translate-fuzzy">
 
তাই আসুন নামকরণের প্রচলনগুলির সাথে একটি উদাহরণ দিয়ে দেখুন, কারণ নামকরণের রীতি হচ্ছে প্রকৃত জাদু, যা সবকিছু করে তোলে:
 
তাই আসুন নামকরণের প্রচলনগুলির সাথে একটি উদাহরণ দিয়ে দেখুন, কারণ নামকরণের রীতি হচ্ছে প্রকৃত জাদু, যা সবকিছু করে তোলে:
 
+
</div>
 
''HelloWorldView'''HelloWorld''''' ''site/views/'''helloworld'''/view.html.php'' এ স্থায়ীভাবে বসবাস করে এবং ''HelloWorldModel'''HelloWorld''''' ক্লাস ব্যবহার করতে পারে। ফাইলের ''site/models/'''helloworld'''.php''
 
''HelloWorldView'''HelloWorld''''' ''site/views/'''helloworld'''/view.html.php'' এ স্থায়ীভাবে বসবাস করে এবং ''HelloWorldModel'''HelloWorld''''' ক্লাস ব্যবহার করতে পারে। ফাইলের ''site/models/'''helloworld'''.php''
 
+
<div class="mw-translate-fuzzy">
 
তাই আসুন আমরা অনুমান করি যে আমরা একটি কল্পিত দৃশ্য 'fluffy' ব্যবহার করতে চাই, আপনার থাকতে হবে:
 
তাই আসুন আমরা অনুমান করি যে আমরা একটি কল্পিত দৃশ্য 'fluffy' ব্যবহার করতে চাই, আপনার থাকতে হবে:
 
+
</div>
 
''HelloWorldView'''Fluffy''''' ক্লাসে ''site/views/'''fluffy'''/view.html.php'' থাকে। এই দৃশ্যটি ''HelloWorldModel'''Fluffy''''' ''site/models/'''fluffy'''.php'' ব্যবহার করবে। দ্রষ্টব্য: ভিউ এর প্রকৃত স্ক্রিন: ''site/views/'''fluffy'''/tmpl/default.php'' হিসেবে এই উদাহরণটি তৈরি করা প্রয়োজন।
 
''HelloWorldView'''Fluffy''''' ক্লাসে ''site/views/'''fluffy'''/view.html.php'' থাকে। এই দৃশ্যটি ''HelloWorldModel'''Fluffy''''' ''site/models/'''fluffy'''.php'' ব্যবহার করবে। দ্রষ্টব্য: ভিউ এর প্রকৃত স্ক্রিন: ''site/views/'''fluffy'''/tmpl/default.php'' হিসেবে এই উদাহরণটি তৈরি করা প্রয়োজন।
 
 
এই গাঢ় নিয়মাবলীগুলির মধ্যে কোনটি ভঙ্গ করলে ত্রুটিগুলি বা একটি ফাঁকা পৃষ্ঠা প্রদর্শিত হবে।
 
এই গাঢ় নিয়মাবলীগুলির মধ্যে কোনটি ভঙ্গ করলে ত্রুটিগুলি বা একটি ফাঁকা পৃষ্ঠা প্রদর্শিত হবে।
 
 
 
==একটি জুমলা ব্যবহার করা হচ্ছে! কম্পোনেন্ট==
 
==একটি জুমলা ব্যবহার করা হচ্ছে! কম্পোনেন্ট==
 
প্রথমে আমরা জুমলা অ্যাক্সেস করতে হবে! প্ল্যাটফর্ম, যা সর্বদা এন্ট্রি একক পয়েন্ট মাধ্যমে অ্যাক্সেস করা হয়। আপনার পছন্দের ওয়েব ব্রাউজার ব্যবহার করে নিচের URL টি নেভিগেট করুন:
 
প্রথমে আমরা জুমলা অ্যাক্সেস করতে হবে! প্ল্যাটফর্ম, যা সর্বদা এন্ট্রি একক পয়েন্ট মাধ্যমে অ্যাক্সেস করা হয়। আপনার পছন্দের ওয়েব ব্রাউজার ব্যবহার করে নিচের URL টি নেভিগেট করুন:
 
 
{| border=1
 
{| border=1
 
  | 1
 
  | 1
Line 46: Line 39:
 
  | <tt><yoursite>/joomla/administrator/index.php</tt>
 
  | <tt><yoursite>/joomla/administrator/index.php</tt>
 
  |}
 
  |}
 
 
ওহে বিশ্ব! উদাহরণ: <tt>localhost/joomla/index.php</tt>
 
ওহে বিশ্ব! উদাহরণ: <tt>localhost/joomla/index.php</tt>
 
 
আপনি কম্পোনেন্টের URL ব্যবহার করতে পারেন, অথবা [[#Menu| Menu]] কম্পোনেন্ট নেভিগেট করার জন্য। এই নিবন্ধে আমরা URL ব্যবহার করে আলোচনা করব।
 
আপনি কম্পোনেন্টের URL ব্যবহার করতে পারেন, অথবা [[#Menu| Menu]] কম্পোনেন্ট নেভিগেট করার জন্য। এই নিবন্ধে আমরা URL ব্যবহার করে আলোচনা করব।
 
 
{| border=1
 
{| border=1
 
  | 1
 
  | 1
Line 60: Line 50:
 
  | <tt><yoursite>/joomla/administrator/index.php?option=com_<component_name></tt>
 
  | <tt><yoursite>/joomla/administrator/index.php?option=com_<component_name></tt>
 
  |}
 
  |}
 
 
ওহে বিশ্ব! উদাহরণ: <tt>localhost/joomla/index.php?option=com_helloworld</tt>
 
ওহে বিশ্ব! উদাহরণ: <tt>localhost/joomla/index.php?option=com_helloworld</tt>
 
 
==MVC বেসিক ডিরেক্টরি গঠন==
 
==MVC বেসিক ডিরেক্টরি গঠন==
 
উপাদান আপনার জুমলা মধ্যে একটি ডিরেক্টরির মধ্যে সংরক্ষিত হয়! ইনস্টলেশন, বিশেষ করে:
 
উপাদান আপনার জুমলা মধ্যে একটি ডিরেক্টরির মধ্যে সংরক্ষিত হয়! ইনস্টলেশন, বিশেষ করে:
 
*<tt>htdocs/<path_to_joomla>/components/com_<component_name>/</tt> .
 
*<tt>htdocs/<path_to_joomla>/components/com_<component_name>/</tt> .
 
 
হ্যালো ওয়ার্ল্ড! উপাদান সংরক্ষণ করা হবে<tt>htdocs/<path_to_joomla>/components/com_helloworld/</tt>.  
 
হ্যালো ওয়ার্ল্ড! উপাদান সংরক্ষণ করা হবে<tt>htdocs/<path_to_joomla>/components/com_helloworld/</tt>.  
 
 
একটি মৌলিক উপাদান তার ডিরেক্টরির মধ্যে নিম্নলিখিত ফাইল ধারণ করবে
 
একটি মৌলিক উপাদান তার ডিরেক্টরির মধ্যে নিম্নলিখিত ফাইল ধারণ করবে
 +
<div class="mw-translate-fuzzy">
 
* একটি এইচটিএমএল ফাইল যা একটি পটভূমির রঙের সাথে একটি নিরাপত্তা ফাইল। <tt>index.html</tt>
 
* একটি এইচটিএমএল ফাইল যা একটি পটভূমির রঙের সাথে একটি নিরাপত্তা ফাইল। <tt>index.html</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* একটি পিএইচপি ফাইল যা কন্ট্রোলার নিজেই প্রতিনিধিত্ব করে: <tt>controller.php</tt>
 
* একটি পিএইচপি ফাইল যা কন্ট্রোলার নিজেই প্রতিনিধিত্ব করে: <tt>controller.php</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* একটি পিএইচপি ফাইল যা কন্ট্রোলার Class সংখ্যা লোড করে: <tt><component_name>.php</tt>
 
* একটি পিএইচপি ফাইল যা কন্ট্রোলার Class সংখ্যা লোড করে: <tt><component_name>.php</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* একটি পিএইচপি ফাইল যা মডেল নিজেই সংখ্যা প্রতিনিধিত্ব করে: <tt>models/<component_name>.php</tt>
 
* একটি পিএইচপি ফাইল যা মডেল নিজেই সংখ্যা প্রতিনিধিত্ব করে: <tt>models/<component_name>.php</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল: <tt>models/index.html</tt>
 
* পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল: <tt>models/index.html</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* পিএইচপি ডিফল্ট ভিউ ফাইল: <tt>views/<component_name>/tmpl/default.php</tt>
 
* পিএইচপি ডিফল্ট ভিউ ফাইল: <tt>views/<component_name>/tmpl/default.php</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* একটি মেনু আইটেম টাইপ সংখ্যা যোগ করার জন্য একটি XML ফাইল: <tt>views/<component_name>/tmpl/default.xml</tt>
 
* একটি মেনু আইটেম টাইপ সংখ্যা যোগ করার জন্য একটি XML ফাইল: <tt>views/<component_name>/tmpl/default.xml</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল <tt>views/<component_name>/tmpl/index.html</tt>
 
* পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল <tt>views/<component_name>/tmpl/index.html</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল: <tt>views/<component_name>/index.html</tt>
 
* পটভূমি নিয়ন্ত্রণ জন্য আরেকটি এইচটিএমএল ফাইল: <tt>views/<component_name>/index.html</tt>
 +
</div>
 +
<div class="mw-translate-fuzzy">
 
* দৃশ্য প্রদর্শনের জন্য একটি পিএইচপি ফাইল: <tt>views/<component_name>/view.html.php</tt>
 
* দৃশ্য প্রদর্শনের জন্য একটি পিএইচপি ফাইল: <tt>views/<component_name>/view.html.php</tt>
 
+
</div>
 
 
 
==JEXEC==
 
==JEXEC==
 
জুমলা শুরুতে নিম্নলিখিত লাইন সাধারণত পাওয়া যায়! পিএইচপি ফাইলগুলি:
 
জুমলা শুরুতে নিম্নলিখিত লাইন সাধারণত পাওয়া যায়! পিএইচপি ফাইলগুলি:
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
 
     defined('_JEXEC') or die('Restricted Access');
 
     defined('_JEXEC') or die('Restricted Access');
 
</source>
 
</source>
 
+
<div class="mw-translate-fuzzy">
 
এটি জুমলাতে একটি নিরাপদ এন্ট্রি পয়েন্টের জন্য সক্ষম! প্ল্যাটফর্ম। [[S:MyLanguage/JEXEC| JEXEC]] একটি বিস্তারিত ব্যাখ্যা রয়েছে।
 
এটি জুমলাতে একটি নিরাপদ এন্ট্রি পয়েন্টের জন্য সক্ষম! প্ল্যাটফর্ম। [[S:MyLanguage/JEXEC| JEXEC]] একটি বিস্তারিত ব্যাখ্যা রয়েছে।
 
+
</div>
 
==একটি MVC কম্পোনেন্ট ডিজাইন উপর টিউটোরিয়াল==
 
==একটি MVC কম্পোনেন্ট ডিজাইন উপর টিউটোরিয়াল==
 
আপনার নিজস্ব MVC কম্পোনেন্ট কিভাবে ডিজাইন করতে শিখতে, আপনার জুমলা জন্য টিউটোরিয়ালটি সম্পন্ন করুন! সংস্করণ।
 
আপনার নিজস্ব MVC কম্পোনেন্ট কিভাবে ডিজাইন করতে শিখতে, আপনার জুমলা জন্য টিউটোরিয়ালটি সম্পন্ন করুন! সংস্করণ।

Revision as of 20:00, 20 February 2022

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Nederlands (informeel)‎ • ‎eesti • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎українська • ‎فارسی • ‎हिन्दी • ‎অসমীয়া • ‎বাংলা • ‎中文(台灣)‎

এই নিবন্ধটি জুমলা জন্য শুরু করা হয়েছে; এটি একটি জুমলা উপাদানটি ব্যাখ্যা করার জন্য ডিজাইন করা হয়েছে, এবং এটি কিভাবে কাজ করে। যখন একটি নির্দিষ্ট উপাদান উদাহরণ টিউটোরিয়াল উপকৃত হবে, এই নিবন্ধটি হ্যালো ওয়ার্ল্ড নামে একটি উদাহরণ উপাদান পড়ুন হবে

একটি জুমলা! কম্পোনেন্ট কি?

Chunk:Component/bn জুমলাতে! কাঠামো, উপাদানগুলি একটি ফ্ল্যাট মডেল (অনুরোধকৃত পৃষ্ঠার জন্য 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 কম্পোনেন্ট কিভাবে ডিজাইন করতে শিখতে, আপনার জুমলা জন্য টিউটোরিয়ালটি সম্পন্ন করুন! সংস্করণ।