PDA

View Full Version : سوال: کلاس view در mvc



css-man
شنبه 07 اردیبهشت 1392, 21:27 عصر
دوستان این یه کلاس view هست

اساتید اگر یه لطفی بکن و این چند خط رو یه توضیحی بدن که دقیقا چی کار میکنه ممنون میشم




<?php

class View
{
protected $_file;
protected $_data = array();

public function __construct($file)
{
$this->_file = $file;
}

public function set($key, $value)
{
$this->_data[$key] = $value;
}

public function get($key)
{
return $this->_data[$key];
}

public function output()
{
if (!file_exists($this->_file))
{
throw new Exception("Template " . $this->_file . " doesn't exist.");
}

extract($this->_data);
ob_start();
include($this->_file);
$output = ob_get_contents();
ob_end_clean();
echo $output;
}
}

MRmoon
شنبه 07 اردیبهشت 1392, 21:43 عصر
اینو خودت نوشتی ؟

چون فک کنم set و get باید اینجوری باشن : __get و __set

خوب نگا فتانکشن ست اینکارو میکنه:

$class->x = 'xx'

شما عملا یه متغیر جدید میسازی اما اون اینجوری میشه :


$class->_data['x']='xx'

بعد get هم برعکس این.
متغییر رو بر میگردونه.

تو تابع output میاد چکه میکنه اگغ فایل موجود نبود ارور بده :

if (!file_exists($this->_file))
{
throw new Exception("Template " . $this->_file . " doesn't exist.");
}
بقیش هم مال لود هست.

css-man
شنبه 07 اردیبهشت 1392, 21:49 عصر
مرسی از لطفت
میشه بگی این بخش چی کار میکنه اولین باره به چشمم میخوره



throw new Exception

MRmoon
شنبه 07 اردیبهشت 1392, 21:51 عصر
کلاس Exception مال کنترل ارور ها هست.

این وارد میشه به کلاس Exeption