2
私はYii2フレームワークを使用してアプリケーションを作成しています。ここでOOPとMVCプリンシパル(PHP)によると正しいですか?
は私のコントローラからのアクションです:
public function actionView($id)
{
$model = $this->findModel($id);
$pictures = new Pictures();
$upload = new UploadForm();
$views = new Views();
$contacts = $model->getContacts($model->user_id);
$contact = $model->contact($model->user_id);
$buttons = [
'update' => '',
'delete' => '',
];
$gallery = '_gallery';
$value = '';
if (!Yii::$app->user->isGuest) {
$isInBookmarks = Bookmark::find()->where([
'user_id' => Yii::$app->user->identity->getId(), 'advert_id' => $id
])->all();
if (!empty($isInBookmarks)) {
$value = 'Delete ' . 'from bookmarks';
} else {
$value = 'Add to bookmarks';
}
if ($model->user_id == Yii::$app->user->identity->getId()) {
$buttons['update'] = Html::a('Update advert', ['update', 'id' => $model->id], [
'class' => 'btn btn-primary'
]);
$buttons['delete'] = Html::a('Delete advert', ['delete', 'id' => $model->id], [
'class' => 'btn btn-danger',
'data' => [
'confirm' => 'Are you sure you want to delete this advert?',
'method' => 'post',
],
]);
if (isset($_POST['delete_pic'])) {
$model->deletePic();
}
$gallery = '_my-gallery';
}
}
$views->countViews($_GET['id']);
return $this->render('view', [
'model' => $model,
'contacts' =>$contacts,
'contact' =>$contact,
'value' => $value,
'buttons' => $buttons,
'pictures' => $pictures,
'gallery' => $gallery,
'upload' => $upload,
'views' => $views,
]);
}
そしてここでは、私の見解コードです:
<div class="date-update">
Last update: <?= date(Yii::$app->params['dateFormat'], $model->updated_at) ?>
</div>
<?= $this->render($gallery, [
'pictures' => $pictures,
'model' => $model,
'upload' => $upload,
]) ?>
はそれが
$pictures = new Pictures();
と
$upload = new UploadForm();
を作成するために正しいです
をコントローラで使用し、それらを2回ビューファイルに送信すると、それらを使用するか、ビューファイルに正しく作成する必要がありますか? OOPとMVCプリンシパルによれば、何が正しいでしょうか?
[コードレビュー](http://codereview.stackexchange.com)の質問です。 – dbf