Yii Framework Forum: Ho fatto bene? - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Ho fatto bene? Rate Topic: -----

#1 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 18 January 2011 - 11:04 AM

Dovevo realizzare una pagina semplice semplice che mostrasse l'elenco delle macchine usate presenti in archivio così ho pensato di fare in questo modo. Vorrei sapere se per voi è concettualmente corretto.

<?php $this->pageTitle=Yii::app()->name; ?>
<?php $this->breadcrumbs = array("Cerca auto usate"); ?>
<?php $model = Automobili::model()->findAll(new CDbCriteria(array(
  'select' => '*',
  'condition' => 'stato=:stato',
  'params' => array(':stato' => 'usato'),
))); ?>
<?php foreach($model as $k => $v): ?>
  <?php $this->renderPartial('view',array(
    'model'=>$model[$k],
  )); ?>
<?php endforeach; ?>

0

#2 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 18 January 2011 - 11:16 AM

Colgo l'occasione per chiedere un altro consiglio:

Ho modificato un template, ma ho anche lasciato dentro al template le queries. SBAGLIATO!!! Ora mi ritrovo con un template aggiornato e l'altro tutto statico. Cattivo sensorario!

Ragioniamo: io potrei creare dei miei piccoli pezzettini di layout dove all'interno faccio le mie query. Ma questo non è MVC. Per rispettare il pattern, devo forse creare tanti piccoli controller actionBlablabla() e solo eventualmente i relativi template dentro protected/views/ ...?

Sono sicuro che con il tempo la risposta verrà da se.
0

#3 User is offline   Maurizio Domba Cerin 

  • Yii - Yesss It Is !!!
  • Yii
  • Group: Yii Dev Team
  • Posts: 4,338
  • Joined: 12-October 09
  • Location:Croatia

Posted 18 January 2011 - 02:55 PM

Se non vuoi fare tanti metodi nel controller, le query le puoi mettere dentro al model... tralaltro e li il loro posto

per esempio nel model Automobili agiungi una metod getAll() che puoi poi chiamare con Automobili::model()->getAll() oppure Automobili::model()->all
public function getAll()
{
   return $this->model()->findAll(new CDbCriteria(array(
      'select' => '*',
      'condition' => 'stato=:stato',
      'params' => array(':stato' => 'usato'),
   )));
}

e poi nella view usi
<?php $model=Automobili::model()->all ?>

Find more about me.... btw. Do you know your WAN IP?
1

#4 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 19 January 2011 - 04:15 AM

Prova a dare un occhiata a questo articolo, ti dara' delle dritte su come seguire piu' fedelmente il paradigma MVC.
0

#5 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 19 January 2011 - 04:53 AM

Letto, anche il tuo commento zaccaria =). Vedo di sistemare un po' di codice in giro ...
0

#6 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 21 January 2011 - 01:57 AM

Il fatto e' che tanti parlano in termini molto astratti tipo "business logic" e "application level", ma non e' molto chiaro cosa deve stare dove.

Ragionando in termini di query - $_POST - html e' tutto piu' facile.
1

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users