cake php learn

কেক পিএইচপি (পিএইচপি ফ্রেম ওয়ার্ক) - ১
কদিন ধরে ভাবসিলাম নিয়মিত লিখব এবং কনো একটা বিষয়ের উপর ধারাবাহিক লিখব, যাই হউক বেছে নিলাম পিএইচপি ফ্রেম ওয়ার্ক কেক পিএইচপি। যারা পিএইচপি দিয়ে ওয়েব ডেভোলপড করেন তারা নিশ্চয় এতদিনে কনো না কনো ফ্রেম ওয়ার্ক ইউস করে থাকবেন, আবার না করলে যে কনো সমস্য তাও নয়। তবে একথা স্যত্তি যে র কডিং থেকে আপনি যদি ফ্রেম ওয়ার্ক ইউস করেন তবে আপনি খুব আল্পো দিনেই পুরনাংগো একটা সাইট দার করাতে পারবেন।এ পযন্তো পিএইচপি এর উপরে অনেক ফ্রেম ওয়ার্ক হয়েসে, যারা আরো জানতে চান তারা এই খানে ক্লিক করে জানতে পারবেন।তবে আমার মতে সব ফ্রেম ওয়ার্ক ঘাটাঘাটি না করে যে কনো একটা ভাল মতো আয়ত্তে আনতে পারলে হবে, এবং পরে দেখা যাবে সব গুলিই একিরকম।CakePhp এই সাইট থেকে আপনি খুব সহজে ডাউনলোড করে নিতে পারবেন। যদিও এই সাইট এ নিয়মিত হলে আপনি এমনি CakePhp শিখে ফেলবেন। সাইটটিতে অনেক হেল্পফুল ইনফর্মেশন পাবেন।প্রথমেই বলে রাখি CakePhp হলো একটি MVC Framework. MVC stands for Model-View-Controller. যেটা পুরাটাই Class Base. ও হা CakePhp শেখার আগে কিসু Class Basic ধারোনা থকতে হবে। না থাক্লেও যে খুব একটা অসুবিধা হবে তা না, তবে টার্ম গুলা বুঝতে অসুবিধা হতে পারে।About MVC -Model-View-Controller is a software design pattern that helps you logically separate your code, make it more reusable, maintainable, and generally better. Model View Controller was first described by the author group Gang of Four. Dean Helman wrote (an extract from Objective Toolkit Pro white paper):"The MVC paradigm is a way of breaking an application, or even just a piece of an application's interface, into three parts: the model, the view, and the controller. MVC was originally developed to map the traditional input, processing, output roles into the GUI realm.Input -> Processing -> OutputController -> Model -> View"The user input, the modeling of the external world, and the visual feedback to the user are separated and handled by model, view port and controller objects. The controller interprets mouse and keyboard inputs from the user and maps these user actions into commands that are sent to the model and/or view port to effect the appropriate change. The model manages one or more data elements, responds to queries about its state, and responds to instructions to change state. The view port manages a rectangular area of the display and is responsible for presenting data to the user through a combination of graphics and text."In Cake terms, the Model represents a particular database table/record, and it's relationships to other tables and records. Models also contain data validation rules, which are applied when model data is inserted or updated. The View represents Cake's view files, which are regular HTML files embedded with PHP code. Cake's Controller handles requests from the server. It takes user input (URL and POST data), applies business logic, uses Models to read and write data to and from databases and other sources, and lastly, sends output data to the appropriate view file.To make it as easy as possible to organize your application, Cake uses this pattern not only to manage how objects interact within your application, but also how files are stored, which is detailed next.আমার মনেহয় আপ্নারা এতখনে ধরতে পেরেছন MVC ফ্রেম কি ?আজকে আর লিখব না, কারন যখন লিখছি তখন ঘরিতে রাত ৩ টা বাজে, কাল অফিস আছে, আগামীকাল লিখব পরবর্তি পার্ট।
কেক পিএইচপি (পিএইচপি ফ্রেম ওয়ার্ক) - ২
পার্ট-১আগের পার্ট এ MVC -নিয়ে আলচনা করেছিলাম, আমার মনেহয় পাঠকেরা বুঝতে পেরেছেন। আজকে প্রথেমেই কিছু Software এর নাম বলব , পারলে এগুলো ডাউনলোড করে নিবেন, ১। PsPad - এটি একটি নোটপ্যাড, যেটা আপনি ব্যবহার করে সহজে কোড করতে পারবেম।২। DBDesign - এটি একটি ডাটাবেস ডিজাইন সফটওয়্যার, যেখানে আপনি আপনার প্রজেক্ট এর ডাটাবেস ডিজাইন করে সহজে MySql - এ তুলে দিতে পারবেন। এছারাও এটা দিএ টেবিল, টেবিল ফিল্ড আগুলো বানাতে পারবেন। আরো একটা বিষয় আছে - ডিবিডিজাইন দিয়া সরাসরি কেক অথবা সিম্ফনি ফ্রেম ওয়রক এ মডেল বানানো যাই।৩। XAMPP - এর সম্পরকে কিছু বলার নাই, আমার মনেহয় সবার এইটা জানে এইটা কি জিনিষ।আমার মনেহয় সফটওয়্যার তিনটি আপনি পেয়ে গেসেন। এখন ইন্সটল করে নিন। আমরা এই লেখার মাধমে একটি সিম্পল ব্লগ সাইট বানাবো। তবে হা , কাজ সুরু করার আগে C:\xampp\apache\conf - এই ফল্ডারে গিয়ে httpd.conf ফাইল টা open করুন, এখানে - #LoadModule rewrite_module modules/mod_rewrite.so - এই লাইন টা খুজে সামনে থেকে # সিম্বল টি তুলে দিন। এর পর xampp এর Control Panel এ গিয়ে xampp এর Apache - এক বার Restart করুন। যে কনো ব্রাউসার অপেন করে http://localhost/ লিখে দেখুন xampp ঠিক আসে কিনা।যদি কেউ অন্য ড্রাইভ এ XAMPP ইন্সটল করে থাকেন তবে শেই ড্রাইভ লোকেশন এ যেতে হবে। আমি এখানে C:\ Drive এর কথা উল্লেখ করেছি।ও আপ্নারা তো cakePHP download করেছেন । এখন cakePHP টাকে আনযিপ করে C:\xampp\htdocs\ এর ভিতর রাখুন । আপাতত আমাদেভ সব ব্যসিক ইন্সটল শেষ, যদি কনো প্রব্লেম হয় আমাকে কমেন্ত করে জানাতে পারেন। আমরা যে cakePHP ফোল্ডার টিকে htdocs এর মধ্যে রেখেসি সেখানেই ফ্রেম ওয়রক এর ফাইল গুলা থাকবে, আর এখান থেকে আমারা কেক এর Class use করব।আরো কিছু জানা প্রয়োজন - Array concept, Basic HTML, Basic PHP, and Basic Sql Query.এখন htdocs ফোল্ডার এ একটি Folder Make করুন নাম দিন Blog.আমার মনে হয় এখন আমরা Ready to use CakePhp.

কেকপিএইচপি - ৩

আগের পর্বে আমরা আলচনা করেছিলাম, কিভাবে কেক এর জন্য অ্যাপাচি কে কনফিগার করে নিতে হয়। আজকে আমি একটি ওয়েবসাইট বানানোর পুর্ববত্রী বিসয় গুলো নিয়ে বলব।১। ডাটবেস ডিজাইন (কেক এর ক্ষেত্রে মনে রাখবেন আপনার ডাটাবেসটি যতটা সম্ভব রিলেশনাল রাখার জন্য, তাহলে কেক এর ইন্টারনাল সুবিধা পাওয়া যাই, পরে আরো বলব, সরাসরি মাইএস্কিউল এ রিলেশনাল ডাটাবেস তৈরী করা ঝামেলা হয়, এ জন্য ডিবিডিজাইন সফটওয়্যার টি দিয়ে সহজে করতে পারবেন।)২। ফ্রন্টইন্ড (ফ্রন্ট ইন্ড বলতে যা বঝায় তা হলো আপনার ওয়েবসাইটের পাব্লিক চেহারা, ইউসার রা যেভাবে আপনার সাইটটি দেখবে এবং ইউস করবে)৩। ব্যাকইন্ড অথবা অ্যাডমিন প্যানেল - মনে রাখবেন যে কনো সাইটের একটি অ্যাডমিন সাইড থাকা অত্যান্ত জরুরী, কারণ সাইটটির ব্যবস্থাপনার জন্য এটা রাখা হয়। ধরুন আপনার সাইটের কনো ইউসার কে আপনি ব্লক করে দিতে চান, কি করবেন ? কডিং এ পরিববত্তন আনবেন ? নাকি ডাটাবেস থেকে তাকে ডিলিট করে দিবেন ? এগুলোর কিছুই লাগবেনা, আপনি আপনার সাইটের অ্যাডমিন প্যনেল এ গিয়ে সেই ইউজার এর অ্যাক্টিভনেস কে ফল্‌স করে দিবেন, তাহলে সে আর আপনার সাইট ইউস করতে পারবে না। এই ধরনের কিছু ব্যবস্থাপনা নিয়ে অ্যাডমিন সাইড তৈরী করা হয়।৪। টেম্পলেট ডিজাইন এবং হেডার, ফুটার, লেফট্‌ সাইড, রাইট সাইড নির্বাচন।মোটামুটি ভাবে এই কয়টার ব্যপার এর উপড় প্রাথমিক নজর দিতে হবে।আজকে এই পর্যন্ত। অফ টপিক ঃ প্রথম আলোর ব্লগ কি ফায়ার ফক্স এ সমস্যা করতেছে ? ফ্রন্ট পেজের রাইট মেনু গুলো নিচে নেমে গেছে। আই,ই তে ঠিক আছে।
কেক পিএইচপি পর্ব - ৪

আগের পর্বে ওয়েব সাইট তৈরীর পুর্ববত্রী বিসয় গুলো নিয়ে আলোচনা করেছিলাম। আজকে দেখব কিভাবে কেক এর জন্য ডাটাবেস তৈরী করে নিতে হয়। কেক এর জন্য ডেটাবেস তৈরির কিছু শর্ত আছে - ১। টেবিল এর নাম দিতে হবে ইংরেজী ওয়ার্ড এর প্লুরাল ফরমেটে যেমন, students, blogs, comments, categories, customer_products, customer_categories, customer_payment_infos, etc.না শুধু শেষে s যুক্ত করলে হবে না, আপনি যদি category এর শেষে s যুক্ত করেদেন তাহলে হবে না, আপানাকে category এর প্লুরাল ফরম লিখতে হবে তার মানে টেবিলের নাম হবে categories। ২। চারটা ফিল্ড সবসময় ঠিক রাখবেন যে কনো টেবিল বানানর জন্য, id (type - integer, PK ), created (type - datetime), modified (type - datetime), active (type - bool)। খেয়াল রাখবেন বানান গুলা যেন ঠিক থাকে এবং ডেটাটাইপ গুলা।
আগের পর্বে আমরা ডেটাবেস এর টেবিল বানানোর উপর কিছু নিয়ম- এর কথা বলেসিলাম। আজকে আমরা দেখবো কিভাবে ডিবি ডিজাইন দিয়ে ডাটাবেস বানাতে হয়।১। টেবিল তৈরী - আমরা আগেই বলেছিলাম আমরা একটা ছোট ব্লগ সাইট বানাবো। ধরুন আমাদের সাইট ব্লগ পস্ট করা যাবে আর কমেন্ট দেয়া যাবে সেই ব্লগ এর উপর।সুতরাং এই কাজের জন্য আমাদের ২টি টেবিল হলে যথেষ্ট। আমরা ২টা টেবিল বানালাম , একটা ব্লগস এবং কমেন্টস।আমারা বলেছিলাম প্রত্যক টি ব্লগ এর জন্য আলাদা আলদা কমেন্ট দেয়া যাবে, তাই আমাদের কমেন্ট টেবিল এ ব্লগ টেবিল এর PK-(ID) কে কমেন্ট টেবিল এর Foreign key বানাতে হবে।এবার phpmyadmin দিয়ে একটা ডেটাবেস তৈরি করুন নাম দিন myblog. এর পর আবার ডিবিডিজাইন অপেন করুন। উপরে ডেটাবেস ট্যাব সিলেক্ট করুন। Database -> Connect to Database দিন। box open হবে, বাম পাশ থেকে localhost select করে myblog খুজে বের করুন। এর পর myblog কে টেনে ধরে ডান পাশের সাদা বক্স এ নিয়ে আসুন এর পর সাদা বক্স থেকে myblog সিলেক্ট করলে নিচে connect button এ ক্লিক করুন, এভাবে আমরা ডিবিডিজাইন দিয়ে Mysql এ আমাদের ডেটাবেস myblog এর সাথে কানেক্ট করলাম।এরপর আবার Database->Synchronisation [ Database TAB ] click করুন । বক্স আসবে ওখান থেকে myblog select করে কানেক্ট দিন, আরেকটি বক্স আশবে, পরের বক্স থেকে Execute button click করুন। ব্যাস টেবিল গুলো ডাটাবেস এ উঠে যাবে, এবার আপনি phpmyadmin দিয়ে check করে নিতে পারেন ।

0 comments:

Post a Comment