PDA

View Full Version : آیا این برنامه ای که نوشتم بر مبنای MVC هست؟



R_Rajaee_Rad
شنبه 14 اردیبهشت 1392, 07:41 صبح
سلام
من مبانی تئوری مدل MVC رو تقریبا بلدم..اما شدیدا در عمل منطق اش رو متوجه نمیشیم برای همین با کمک چندتا آموزش ویدیویی تونستم با فریمورک Codeigniter یه تیکه برنامه کوچیک بسازم که به بانک متصل میشه و اطلاعات جدول student رو نمایش میده.هر کدوم از این فایل ها رو توی پوشه های model-view-controll
/localhost/CI/application ساختم
میخوام بدون این برنامه بر مبنای مدل mvc هست یا نه؟

لایه کنترل


<?php
class Site extends CI_Controller{
function index(){
$this->load->model('site_model');
$data['records']=$this->site_model->getAll();
$this->load->view('home',$data);
}

}
?>


لایه View


<div id="container">
<p> My View Has Loaded </p>
<?php
foreach ($records as $row)
{
echo $row->sname."<br/>";
}
?>
</div>


لایه مدل



<?php
Class site_model extends CI_Model{
function getAll() {

$sql=$this->db->get('student');
if ($sql->num_rows()>0 ) {
foreach($sql->result() as $row)
{
$data[]=$row;
}
return $data;
}
}
}
?>

majidrezaei2007
شنبه 14 اردیبهشت 1392, 09:08 صبح
آره دقیقا همینیه که نوشتی
مدل برای کار با بانک
ویو برای نمایش
کنترلر هم برای ارتباط مدل و ویو

R_Rajaee_Rad
شنبه 14 اردیبهشت 1392, 10:17 صبح
آره دقیقا همینیه که نوشتی
مدل برای کار با بانک
ویو برای نمایش
کنترلر هم برای ارتباط مدل و ویو
ممنون از پاسختون
1 سوال ابتدایی دارم
توی قسمت کنترل چرا باید همیشه یه تابع با نام index تعریف کنیم؟

plague
یک شنبه 15 اردیبهشت 1392, 02:54 صبح
وقتی کنترلر رو فراخانی میکنی اگه مشخص نکنی که کدوم تابعش استفاده بشه این ایندکسه اجرا میشه ... میتونی به اسم خوده کنترلر هم بزاری بجای ایندکس

توی مدلت چرا نتایج رو پیمایش کردی و ریختی توی آرایه ؟ بیخودی 2 بار پیمایش میشن نتایج یکبار توی مدل یکبار هم توی ویو

R_Rajaee_Rad
یک شنبه 15 اردیبهشت 1392, 13:57 عصر
وقتی کنترلر رو فراخانی میکنی اگه مشخص نکنی که کدوم تابعش استفاده بشه این ایندکسه اجرا میشه ... میتونی به اسم خوده کنترلر هم بزاری بجای ایندکس

توی مدلت چرا نتایج رو پیمایش کردی و ریختی توی آرایه ؟ بیخودی 2 بار پیمایش میشن نتایج یکبار توی مدل یکبار هم توی ویو

ممنون

این لایه مدل چه جوریه؟


<?php
class data_Model extends CI_Model{
function getAll() {
$this->db->select();
$this->db->from('student');
$sql=$this->db->get();
foreach ($sql->result() as $rows) {
$data[]=$rows;

}
return $data;
}
}


کنترل

<?php
class data_Controll extends CI_Controller{
function index(){
$this->load->model('data_Model');
$data['rows']=$this->data_Model->getAll();
$this->load->view('data_View',$data) ;
}
}

plague
یک شنبه 15 اردیبهشت 1392, 17:31 عصر
من این قسمت رو میگم که زایده


foreach ($sql->result() as $rows) {
$data[]=$rows;

}