আমরা বাংলা ভাষায় লারাভেল নিয়ে ধাপে ধাপে টিউটোরিয়াল আকারে এখন থেকে এই “বাংলা লারাভেল” সাইটের মাধ্যমে জানবো। বিশেষ করে যারা লারাভেল সম্পর্কে নিজের মাতৃভাষায় বাংলায় জানতে চান তাদের জন্য আমাদের এই ক্ষুদ্র প্রয়াস। লারাভেল একটি ওপেন সোর্স পিএইচপি ফ্রেমওয়ার্ক। এটি কার্যকারিতার সমৃদ্ধ সেটও অফার করে যা PHP ফ্রেমওয়ার্কের মৌলিক বৈশিষ্ট্য যেমন কোডলগ্নিটার, Yii এবং রুবি অন রেলের মতো অন্যান্য প্রোগ্রামিং ভাষাগুলিকে অন্তর্ভুক্ত করে। আমাদের এই লারাভেল টিউটোরিয়ালটি প্যাকেজটিতে লারাভেল এর সমস্ত বিষয় অন্তর্ভুক্ত করার চেষ্টা করা হবে। যেমন: লরাভেল পরিচিতি, লারাভেলের ইতিহাস, ইনস্টলেশন, লারাভেল রুট, লারাভেল কন্ট্রোলার, লারাভেল ভিউ ইত্যাদি। যাতে করে আপনি এই বিষয়ে একদম প্রথম থেকে ধাপে ধাপে শিখতে পারেন।

লারাভেল কি?

Laravel হল একটি PHP ফ্রেমওয়ার্ক যা MVC আর্কিটেকচার ব্যবহার করে।

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

আসুন প্রথমে MVC আর্কিটেকচারটি বুঝি।

MVC নীচে দেখানো তিনটি অক্ষরে বিভক্ত:

  • M: 'M' মানে মডেল । একটি মডেল হল একটি ক্লাস যা একটি ডাটাবেস নিয়ে কাজ করে। উদাহরণস্বরূপ, যদি আমাদের একটি অ্যাপ্লিকেশনে ব্যবহারকারী থাকে তবে আমাদের কাছে ব্যবহারকারীর মডেল থাকবে যা ব্যবহারকারীদের টেবিলটি জিজ্ঞাসা করার জন্য একটি ডাটাবেসের সাথে ডিল করে যদি আমাদের কাছে ব্যবহারকারীর মডেল থাকে তবে আমাদের একটি ব্যবহারকারীর টেবিলও থাকবে। আমরা উদাহরণ থেকে উপসংহারে পৌঁছেছি যে মডেলটিতে সেই নির্দিষ্ট মডেলের জন্য একটি টেবিল থাকবে।
  • V: 'V' এর অর্থ হল View । একটি ভিউ হল একটি ক্লাস যা একটি HTML নিয়ে কাজ করে। ব্রাউজারে অ্যাপ্লিকেশনটিতে আমরা যা দেখতে পারি তা হল দৃশ্য বা উপস্থাপনা।
  • C: 'C' এর অর্থ কন্ট্রোলার । একজন নিয়ন্ত্রক হল মধ্য-মানুষ যে মডেল এবং দৃশ্য উভয়ের সাথেই কাজ করে। কন্ট্রোলার হল সেই ক্লাস যা মডেল থেকে ডেটা পুনরুদ্ধার করে এবং ভিউ ক্লাসে ডেটা পাঠায়।

লারাভেল একটি ওপেন সোর্স পিএইচপি ফ্রেমওয়ার্ক। এটি কার্যকারিতার সমৃদ্ধ সেটও অফার করে যা PHP ফ্রেমওয়ার্কের মৌলিক বৈশিষ্ট্য যেমন কোডলগ্নিটার, Yii এবং রুবি অন রেলের মতো অন্যান্য প্রোগ্রামিং ভাষাগুলিকে অন্তর্ভুক্ত করে।

লারাভেলের সুবিধা:

লারাভেল এর বেশকিছু সুবিধা রয়েছে নিচে সেগুলো নিয়ে আলোকপাত করা হলো।

  • অনুমোদন এবং প্রমাণীকরণ সিস্টেম তৈরি করা: ওয়েব অ্যাপ্লিকেশনের প্রতিটি মালিক নিশ্চিত করে যে অননুমোদিত ব্যবহারকারীরা সুরক্ষিত বা অর্থপ্রদানের সংস্থানগুলিতে অ্যাক্সেস না করে। এটি প্রমাণীকরণ বাস্তবায়নের একটি সহজ উপায় প্রদান করে। এটি অনুমোদনের যুক্তি সংগঠিত করার একটি সহজ উপায় এবং সংস্থানগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করে।
  • টুলের সাথে ইন্টিগ্রেশন: Laravel অনেক টুলের সাথে ইন্টিগ্রেটেড যা একটি দ্রুত অ্যাপ তৈরি করে। এটি শুধুমাত্র অ্যাপটি তৈরি করার জন্য নয়, একটি দ্রুত অ্যাপ তৈরি করাও প্রয়োজন। ক্যাশিং ব্যাক এন্ডের সাথে ইন্টিগ্রেশন একটি ওয়েব অ্যাপের কর্মক্ষমতা উন্নত করার অন্যতম প্রধান পদক্ষেপ। Laravel কিছু জনপ্রিয় ক্যাশে ব্যাক এন্ড যেমন Redis , এবং Memcached এর সাথে একীভূত ।
  • মেইল সার্ভিস ইন্টিগ্রেশন: লারাভেল মেল সার্ভিসের সাথে একীভূত। এই পরিষেবাটি ব্যবহারকারীর ইমেলে বিজ্ঞপ্তি পাঠাতে ব্যবহৃত হয়। এটি একটি পরিষ্কার এবং সহজ API প্রদান করে যা আপনাকে আপনার পছন্দের স্থানীয় বা ক্লাউড-ভিত্তিক পরিষেবার মাধ্যমে দ্রুত ইমেল পাঠাতে দেয়।
  • ব্যতিক্রম এবং কনফিগারেশন ত্রুটি পরিচালনা: করা ব্যতিক্রম এবং কনফিগারেশন ত্রুটিগুলি হ্যান্ডলিং অ্যাপের ব্যবহারযোগ্যতার প্রধান কারণ। সফ্টওয়্যার অ্যাপটি যে পদ্ধতিতে ত্রুটিগুলি পরিচালনা করে তা ব্যবহারকারীর সন্তুষ্টি এবং অ্যাপের ব্যবহারযোগ্যতার উপর বিশাল প্রভাব ফেলে। সংস্থাটি তাদের গ্রাহকদের হারাতে চায় না, তাই তাদের জন্য, লারাভেল সেরা পছন্দ। লারাভেলে, নতুন লারাভেল প্রকল্পে ত্রুটি এবং ব্যতিক্রম হ্যান্ডলিং কনফিগার করা হয়েছে।
  • অটোমেশন টেস্টিং কাজ: সফ্টওয়্যারটি কোনও ত্রুটি, বাগ এবং ক্র্যাশ ছাড়াই চলে তা নিশ্চিত করার জন্য একটি পণ্য পরীক্ষা করা খুবই গুরুত্বপূর্ণ৷ আমরা জানি যে ম্যানুয়াল পরীক্ষার তুলনায় অটোমেশন টেস্টিং কম সময়সাপেক্ষ, তাই ম্যানুয়াল পরীক্ষার চেয়ে অটোমেশন টেস্টিং পছন্দ করা হয়। Laravel মন টেস্টিং সঙ্গে উন্নত করা হয়.
  • প্রেজেন্টেশন কোড থেকে বিজনেস লজিক কোড আলাদা করা: ব্যবসায়িক লজিক কোড এবং প্রেজেন্টেশন কোডের মধ্যে বিচ্ছেদ HTML লেআউট ডিজাইনারদের ডেভেলপারদের সাথে ইন্টারঅ্যাক্ট না করেই চেহারা পরিবর্তন করতে দেয়। ব্যবসায়িক লজিক কোড এবং উপস্থাপনা কোডের মধ্যে বিচ্ছেদ প্রদান করা হলে বিকাশকারীরা একটি বাগ দ্রুত সমাধান করতে পারে। আমরা জানি যে লারাভেল এমভিসি আর্কিটেকচার অনুসরণ করে , তাই বিচ্ছেদ ইতিমধ্যেই সম্পন্ন হয়েছে।
  • সবচেয়ে সাধারণ প্রযুক্তিগত দুর্বলতা ঠিক করা: নিরাপত্তা দুর্বলতা ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের সবচেয়ে গুরুত্বপূর্ণ উদাহরণ। একটি আমেরিকান সংস্থা, অর্থাত্, OWASP ফাউন্ডেশন, এসকিউএল ইনজেকশন, ক্রস-সাইট অনুরোধ জালিয়াতি, ক্রস-সাইট স্ক্রিপ্টিং ইত্যাদির মতো সবচেয়ে গুরুত্বপূর্ণ সুরক্ষা দুর্বলতাগুলিকে সংজ্ঞায়িত করে৷ বিকাশকারীদের এই দুর্বলতাগুলি বিবেচনা করতে হবে এবং ডেলিভারির আগে সেগুলি ঠিক করতে হবে৷ লারাভেল হল একটি সুরক্ষিত কাঠামো কারণ এটি সমস্ত নিরাপত্তা দুর্বলতার বিরুদ্ধে ওয়েব অ্যাপ্লিকেশনকে রক্ষা করে।
  • সময়সূচী কাজের কনফিগারেশন এবং পরিচালনা: ওয়েব অ্যাপের কিছু টাস্ক শিডিউলিং পদ্ধতির প্রয়োজন হয় যাতে সময়মতো কাজগুলি সম্পাদন করা যায়, উদাহরণস্বরূপ, কখন গ্রাহকদের ইমেল পাঠাতে হবে বা কখন দিনের শেষে ডাটাবেস টেবিলগুলি পরিষ্কার করতে হবে। কাজগুলি নির্ধারণ করার জন্য, বিকাশকারীদের প্রথমে প্রতিটি কাজের জন্য ক্রোন এন্ট্রি তৈরি করতে হবে, কিন্তু লারাভেল কমান্ড শিডিয়ুলার একটি কমান্ড সময়সূচী নির্ধারণ করে যার জন্য সার্ভারে একটি একক এন্ট্রি প্রয়োজন।

লারাভেলের বৈশিষ্ট্য

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

লারাভেলকে একটি সু-সংজ্ঞায়িত টুলবক্স প্রদান করা হয়েছে যা ডেভেলপারদের কম কোড লিখতে দেয় যার ফলে ত্রুটি হওয়ার সম্ভাবনা কম থাকে।

লারাভেলের বৈশিষ্ট্যগুলি নিম্নরূপ:

প্রমাণীকরণ:

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

উদ্ভাবনী টেমপ্লেট ইঞ্জিন:

লারাভেল একটি উদ্ভাবনী টেমপ্লেট ইঞ্জিন সরবরাহ করে যা বিকাশকারীদের গতিশীল ওয়েবসাইট তৈরি করতে দেয়। লারাভেলে উপলব্ধ উইজেটগুলি একটি অ্যাপ্লিকেশনের জন্য শক্ত কাঠামো তৈরি করতে ব্যবহার করা যেতে পারে।

কার্যকরী ORM:

Laravel সহজ PHP সক্রিয় রেকর্ড বাস্তবায়ন সহ একটি অন্তর্নির্মিত ORM রয়েছে। একটি কার্যকরী ওআরএম ডেভেলপারদের কোনো SQL কোড না লিখেই সাধারণ পিএইচপি সিনট্যাক্স ব্যবহার করে ডাটাবেস টেবিল অনুসন্ধান করতে দেয়। এটি ডেভেলপার এবং ডাটাবেস টেবিলের মধ্যে তাদের সংশ্লিষ্ট মডেলের সাথে প্রতিটি টেবিল দিয়ে সহজ একীকরণ প্রদান করে।

MVC আর্কিটেকচার সাপোর্ট:

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

নিরাপদ মাইগ্রেশন সিস্টেম:

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

অনন্য ইউনিট-পরীক্ষা:

লারাভেল একটি অনন্য ইউনিট-পরীক্ষা প্রদান করে। Laravel ফ্রেমওয়ার্ক পরিবর্তনগুলি ওয়েব অ্যাপের ক্ষতি করে কিনা তা পরীক্ষা করার জন্য বেশ কয়েকটি পরীক্ষার ক্ষেত্রে চালাতে পারে। লারাভেলে, বিকাশকারীরা তাদের নিজস্ব কোডে পরীক্ষার কেসগুলিও লিখতে পারে।

অক্ষত নিরাপত্তা:

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

লাইব্রেরি এবং মডুলার:

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

কারিগর:

লারাভেল ফ্রেমওয়ার্ক আর্টিসান নামে পরিচিত একটি কমান্ড-লাইনের জন্য একটি অন্তর্নির্মিত সরঞ্জাম সরবরাহ করে যা পুনরাবৃত্তিমূলক প্রোগ্রামিং কাজগুলি সম্পাদন করে যা পিএইচপি বিকাশকারীদের ম্যানুয়ালি সম্পাদন করার অনুমতি দেয় না। এই কারিগরদের কঙ্কাল কোড, ডাটাবেস কাঠামো এবং তাদের স্থানান্তর তৈরি করতেও ব্যবহার করা যেতে পারে, তাই এটি সিস্টেমের ডাটাবেস পরিচালনা করা সহজ করে তোলে। এটি কমান্ড লাইনের মাধ্যমে MVC ফাইলগুলিও তৈরি করে। কারিগর ডেভেলপারদের তাদের নিজস্ব কমান্ড তৈরি করার অনুমতি দেয়।

পূর্বশর্ত

লারাভেল শেখার আগে, আপনার পিএইচপি সম্পর্কে প্রাথমিক ধারণা থাকা উচিত বা থাকতে হবে।

তো আরকি আজকে এখানে শেষ করলাম। লারাভেল এর উপর আমাদের পরবর্তী টিউটোরিয়ালগুলো পেতে আমাদের সাথে থাকুন এবং ধাপে ধাপে প্রতিটি টিউটোরিয়াল বা পোস্ট ফলো করুন।

আপনাদের সুবিধার্থে আমি আমার টিপস এন্ড ট্রিকসগুলি ভিডিও আকারে শেয়ার করার জন্য একটি ইউটিউব চ্যানেল তৈরি করেছি। আশা করি চ্যানেলটি Subscribe করবেন।

সৌজন্যে : বাংলাদেশের জনপ্রিয় এবং বর্তমান সময়ের বাংলা ভাষায় সকল গুরুত্বপূর্ণ বিষয়ক টিউটোরিয়াল সাইট - www.TutorialBD71.blogspot.com নিত্যনতুন বিভিন্ন বিষয়ে টিউটোরিয়াল পেতে সাইটটিতে সবসময় ভিজিট করুন।

Leave a Comment