В yii часто выполняются проверки типа запроса, пришедшего от браузера.
Вот, например, здесь:
public function actionApprove()
{
if(Yii::app()->request->isPostRequest)
{
$comment=$this->loadModel();
$comment->approve();
$this->redirect(array('index'));
}
else
throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}
В данном примере мы попадаем на этот метод, когда браузер посылает на сайт такой вот запрос:
http://127.0.0.1/blog/index.php?r=Comment/index#
Причем это вот условие
if(Yii::app()->request->isPostRequest)
истинно, и выполняются операторы в скобках.
[color="#FF0000"]1-ый вопрос:
откуда браузер знает, что надо формировать именно POST-запрос [/color]
Далее.
В скобках мы видим такой оператор - $comment=$this->loadModel();
Смотрим
$this->loadModel():
public function loadModel()
{
if($this->_model===null)
{
if(isset($_GET['id']))
$this->_model=Comment::model()->findbyPk($_GET['id']);
if($this->_model===null)
throw new CHttpException(404,'The requested page does not exist.');
}
return $this->_model;
}
[color="#FF0000"]2-ой вопрос:
откуда здесь берется значение переменной $_GET[‘id’], коль скоро мы ее на сайт и не передавали ?[/color]
Понимаю, конечно, что такие вопросы могут показаться детскими, но таков уж мой уровень.
Если у кого есть время, разъясните, пожалуйста.