জেন্ড ফ্রেমওয়ার্ক ডেটাবেস টিউটোরিয়াল

এই টিউটোরিয়ালে কিভাবে ডেটাবেস থেকে ডেটা তুলে এনে ব্রাউজারে দেখানো যায় সেটা দেখাব।ডেটাবেস থেকে ডেটা আনতে প্রথমে ডেটাবেসের সাথে কানেকশন করতে হবে।এখানে এই কানেকশন tutorial/application/configs/application.ini এই ফাইল দিয়ে করব।
এজন্য এই ফাইলটি খুলে নিচের লাইনগুলি [production] সেকশনের এর নিচে লিখুন ([staging:production] এর উপরে)

1.resources.db.adapter = PDO_MYSQL
2.resources.db.params.host = localhost
3.resources.db.params.username = root
4.resources.db.params.password = 1234
5.resources.db.params.dbname = zendb
PDO_MYSQL হচ্ছে মাইএসকিউয়েল এর একটা এক্সটেনশন C:\xampp\php\php.ini ফাইলে php_pdo.dll লাইনটি আনকমেন্ট করলে এটি কাজ করবে।বাকিসব তো বোঝাই যাচ্ছে ইউজার নাম,পাসওয়ার্ড,ডেটাবেস এর নাম ইত্যাদি দিয়েছি।

এবার zendb নামে একটা ডেটাবেস তৈরী করুন যেখানে tutorial নামে একটা টেবিল থাকবে।এই টেবিলে id,name,email,comment নামের এই ৪ টি ফিল্ড তৈরী করে ইচ্ছে মত কিছু ডেটা ইনসা্র্ট করুন।

এখন নিচের কমান্ডটি রান করান
zf create db-table Tutorial tutorial

এই কমান্ড দ্বারা models/DbTable/Tutorial.php ফাইলটি তৈরী হবে এবং ফাইলে দেখুন Application_Model_DbTable_Tutorial নামে একটি ক্লাস তৈরী হয়েছে যেটা Zend_Db_Table_Abstract ক্লাসকে extend করেছে।আর একটা প্রোপার্টিজ তৈরী হয়েছে protected $_name = 'tutorial'; এর দ্বারা Zend_Db_Table ক্লাসটি বুঝে নেয় যে tutorial নামে একটা টেবিল আছে ডেটাবেসে।ব্যাস আপাতত এখানে কাজ শেষ এবার ইনসার্টকৃত ডেটাগুলি তুরে এনে দেখার জন্য আগের টিউটোরিয়ালে তৈরী indexAction এর ভিতরের কোডটুকুর পর নিচের কোড লিখুন।
1.$text = new Application_Model_DbTable_Tutorial();
2.$this->view->var = $text->fetchAll();
ব্যাখ্যা: এখানে Application_Model_DbTable_Tutorial এই ক্লাসকে instantiate করে এর একটি মেথড fetchAll() এ একসেস নিয়েছি এবং তা var নামক ভেরিয়েবলে assign করেছি।সবশেষে index.phtml ফাইলের কোডটুকু আপডেট করুন এভাবে
01.<?php
02.echo $this->escape($this->test);
03.?>
04.<table align="center" cellspacing="10">
05.<tr>
06.<th>Name</th>
07.<th>Email</th>
08.<th>Comment</th>
09.</tr>
10.<?php foreach ($this->var as $list): ?>
11.<tr>
12.<td><?php echo $this->escape($list->name); ?></td>
13.<td><?php echo $this->escape($list->email); ?></td>
14.<td><?php echo $this->escape($list->comment); ?></td>
15.</tr>
16.<?php endforeach; ?>
17.</table>
18.<a href="/<?php echo $this->url(array("controller" => "index", "action" => "login")) ?>">Login</a>
(href এর পর / (স্লাশ চিহ্ন) কোডের কোন অংশ নয়)
এবার http://localhost/tutorial/public লিখে এন্টার দিলে নিচের মত আসবে।

৩টি মন্তব্য:

Blogger দ্বারা পরিচালিত.