Yii ফ্রেমওয়ার্ক সম্পর্কে কিছু কথাঃ
“Yii” হল একটা ওপেন সোর্স অবজেক্ট ওরিয়েন্টেড উচ্চ ক্ষমতা সম্পন্ন পিএইচপি ফ্রেমওয়ার্ক যেটা দ্রুত ওয়েব অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। Yii এর উচ্চারন হল “Yee” অথবা [ji:] (চাইনিজ ভাষায়) আর এটার অর্থ “সিম্পল এ্যান্ড এভোলুশনারি” (চাইনিজ ভাষায়)। এটার অর্থ “ইয়েস ইট ইস” (ইংরেজীতে)।
“Yii” ফ্রেমওয়ার্ক এর ফিচার্সঃ
১. মডেল ভিউ কন্ট্রোলার ডিজাইন প্যাটার্ন।
২. ডাটাবেজ এক্সেস অবজেক্ট, কুয়েরি বিল্ডার, এক্টিভ রেকর্ড, ডিবি মাইগ্রেশন।
৩. ফর্ম ইনপুট এ্যান্ড ভেলিডেশন।
৪. এজাক্স এনাবল্ড উইগেট।
৫. অ্যাথেন্টিকেশন এ্যান্ড অ্যাথোরাইজেশন।
৬. স্কিনিং এ্যান্ড থিমিং।
৭. ওয়েব সার্ভিসেস।
৮. ইন্টারন্যাশনালাইজেশন এ্যান্ড লোকালাইজেশন।
৯. লেয়ার্ড ক্যাচিং স্কিম।
১০. এরর হ্যান্ডেলিং এ্যান্ড লগিং।
১১. সিকুউরিটি।
১২. ইউনিট এ্যান্ড ফাংশনালিটি টেস্টিং।
১৩. অ্যাটোমেটিক কোড জেনারেশন।
১৪. ফ্রেন্ডলি উইথ থার্ড পার্টি কোড।
১৫. ডিটেইল্ড ডকুমেন্টেশন।
১৬. এক্সটেনশন লাইব্রেরী।
আমি ব্যাক্তিগতভাবে যে কারনে “Yii” ফ্রেমওয়ার্ক এ কাজ করতে পছন্দ করিঃ
১. ক্রুড জেনারেটর (এটা আপনাদেরকে মডেল, ভিউ, কন্ট্রোলার তৈরি করতে সাহায্য করবে)।
২. বিল্ড-ইন টুইটার বুটস্ট্রাপ।
৩. ফর্ম ভেলিডেশন সার্ভার ও ক্লায়েন্ট উভয় দিকে বিল্ড-ইন ভাবে করে থাকে (ফর্ম হেল্পার এর মাধ্যমে)।
৪. বিল্ড-ইন রোল বেসড একসেস কন্ট্রোল (এটার সাহায্যে ইউজার এর রোল, গ্রুব ও পলিছি নির্ধারণ করতে পারবেন)।
৫. ডাটাবেস এক্টিভ রেকর্ড (অবজেক্ট রিলেশনাল ম্যাপার)।
৬. স্টেবিলিটিঃ এখানে স্টেবিলিটি বলতে এটার ভার্সনকে বুঝানো হয়েছে। অন্যান্য ফ্রেমওয়ার্ক এর মত এটি দ্রুত পরিবর্তিত হয়না। যেমনঃ ২ থেকে ৩ কিংবা ৪ থেকে ৫, যাতে করে আপনাকে আপনার প্রজেক্ট নিয়ে চিন্তিত থাকতে হবেনা সুধু মাইনর কিছু পরিবর্তন করলেই আপনি ভার্সন আপগ্রেড করতে পারবেন।
এবং আরও অনেক ফিচার।
এতক্ষণ আমি আপনাদেরকে সুধু “Yii” সম্পর্কে বললাম। এখন আমি আপনাদেরকে Yii2 সম্পর্কে সামান্য ধারণা দিতে চাচ্ছি। আমি জানি আমাদের মধ্যে অনেকেই “Yii” ব্যাবহার করেছি।
“Yii2” হল “Yii1” এর রি-রাইট করা। এটি রান করতে পিএইচপি নুন্যতম ৫.৪ লাগে। “Yii2” পিএইচপি নুন্যতম ৫.৪ সাপোর্ট করার জন্য পিএইচপির মোটামুটি সকল প্রকার নতুন ফিচার ব্যাবহার করা হয়েছে। “Yii1” পিএইচপি পুরানো ভার্সন ব্যাবহার করত আর এজন্য নতুন ওয়েব টেকনোলোজি থেকে অনেক পিছিয়ে ছিল। এক কথায় বলা যায় পিএইচপি অন্যান্য ফ্রেমওয়ার্ক সিম্ফোনী, লারাভেল এর নতুন ভার্সন থেকে এটা পিছিয়ে ছিল। আর বর্তমান টেকনোলোজির সাথে খাপ খাইয়ে চলার জন্যই “Yii2” ডেভেলপ করা হয়। আর “Yii2” তে এখন কম্পোজার থেকে শুরু করে, ডাটাবেস মাইগ্রেশন, স্কিমা তৈরি, নেমস্পেস এর সঠিক ব্যাবহার, পিএইচপির ফুল অবজেক্ট অরিয়েন্টেট এর ব্যাবহার করা হয়েছে।
আপনারা কম্পোজার ব্যাবহার করে খুব সহজেই এইটা ইন্সটল করে নিতে পারবেন।
এর জন্য নিচের কমান্ডটা লিখতে হবে আপনার প্রজেক্টের ডিরেক্টোরিতে গিয়ে টার্মিনাল কিংবা কমান্ড প্রম্পড থেকে।
composer global require "fxp/composer-asset-plugin:1.0.0"
[বিঃদ্রঃ উপরের কমান্ডটি কম্পোজার এ্যাসেট প্লাগিন ইনস্টল করার জন্য]
composer create-project yiisoft/yii2-app-basic basic 2.0.3
অথবা
composer create-project yiisoft/yii2-app-advanced advanced 2.0.3
[বিঃদ্রঃ আপনার মেশিনে পিএইচপি আর কম্পোজার ঠিকঠাক মত কনফিগার করা থাকলে এইভাবে লিখলেই হবে ]
composer create-project yiisoft/yii2-app-basic basic 2.0.3
১ম (বেসিক) টি হল ফ্রন্ট এন্ড টেমপ্লেট বেসড অ্যাপ্লিকেশন তৈরি করার জন্য আর ২য় (আডভান্সড) টি হল ফ্রন্ট এন্ড + ব্যাক এন্ড টেমপ্লেট বেসড অ্যাপ্লিকেশন তৈরি করার জন্য।
২য় টি ব্যাবহার করলে আপনাকে নতুন করে ইউজার লগিন ও রেজিস্ট্রেশন নিয়ে কাজ করতে হবে না সুধু আপনার পছন্দমত পরিবর্তন করে নিলেই হবে ।
আপনারা নিজে নিজে ক্রুড জেনারেটর ট্রাই করে দেখবেন। এটা আপনাদের ডেভেলপ সময় অনেক বাচিয়ে দিবে কারণ এটা বেসিস এইসটিএমএল ভিউ সহ সব কিছু আপনার জন্য রেডি করে রাখবে সুধু আপনার পছন্দমত একটু পরিবর্তন করে নিলেই হবে। “Yii2” কিংবা “Yii” তে জেনারেটর ব্যাবহার করার জন্য “Gii” নামক টুলটি
ব্যাবহার করতে হবে এই লিংক থেকে এটি সম্পর্কে ধারনা পাবেন।
সময় সল্পতার কারনে আমি আপনাদেরকে পুর বিষয়ে টিউটোরিয়ালের মাধ্যমে দেখাইতে পারলামনা।
নিচে কিছু লিংক দিয়ে দিলাম ওইখান থেকে দেখে নিবেন আশা করি আপনাদের ভাল লাগবে এই ফ্রেমওয়ার্কটি ইনশাল্লাহ।।
http://www.yiiframework.com/doc-2.0/guide-index.html
http://stuff.cebe.cc/yii2-guide.pdf
http://www.yiiframework.com/doc-2.0/guide-start-gii.html
http://www.yiiframework.com/doc-2.0/guide-security-authorization.html