Yii Senza Usare Gii

Ciao a tutti,

sono nuovo di Yii, da un paio di settimane sto tentando di utilizzarlo facendo un sacco di test… ma mi trovo davanti problemi che mi sembrano insormontabili.

Ovunque leggo di usare Gii e Crud ma…

Oltre alle prove con MySql vorrei iniziare a interfacciarmi con i db che normalmente utilizzo: DB2 ma soprattutto Oracle che dopo vari test ho capito non funzionare con Gii

Siccome non esiste un modulo PDO per Oracle ben testato

quello esistente (PDO_OCI) è sperimentale : http: www.php .net/manual/it/ref.pdo-oci.php

io uso questa configurazione su config/main.php :

‘dbOracle’=>array(

'class'=>'ext.oci8Pdo.OciDbConnection',


'connectionString' => '....',


'username' => 'xxxx',


    'password' => 'xxxx',)

ora anche se riesco ad estrarre dati inserendo in una action di un controller comandi del tipo:

$dbOra = Yii::app()->dbOracle;

$sql = "SELECT ecc…";

$command = $dbOra->createCommand($sql);

$dataReader = $command->query();

foreach($dataReader as $key=>$row) {

}

non riesco a capire come utilizzare a pieno Yii, per esempio creando una vista con all’interno un

CHtml::activeInputField oppure un

CHtml::activeDropDownList

che utilizza i dati del mio database, visto che questi metodi richiedono tutti l’utilizzo di un model che NON so come generare senza Gii e senza usare CActiveRecord

Qualcuno può aiutarmi ?!?

Ma tu perchè non vuoi generare il model con Gii?

Beh per un paio di motivi:

  1. da quello che ho capito di Yii, credo che sia un vantaggio non da poco generare Model e Crud con Gii per poi fare le modifiche che mi servono

  2. non ho ancora capito bene come funziona CActiveRecord, credo che non funzioni con Oracle, se non con altre implementazioni che non sono in grado in questo momento di eseguire…

…le classi che formano i Model estendono CActiveRecord (smentiscimi se sbaglio) e quindi faccio difficoltà ad implementarle manualmente visto che non riesco a far funzionare CActiveRecord con ORACLE.

Sono riuscito ad estrarre dati solo tramite CDbConnection ma sembra un modo molto più "manuale" di gestire i dati…

Quindi tu crei tutti i model a mano ?

hai dato un’occhiata a questo wiki?

http://www.yiiframework.com/wiki/99/using-yii-with-oracle-through-pdo/

da quello che c’è scritto qui non dovrebbe essere un problema.

Perdonami ma, non ho mica capito se usi Gii si o no.

non lo uso, ma vorrei farlo. Il problema è che non funziona con il database Oracle.

Si grazie lo avevo fatto, quello che mi hai indicato utilizza PDO_OCI che è proprio quello che non voglio usare perché non è stabile e pochissimo usata.

Per il momento ho risolto utilizzando questa estensione: ext.oci8Pdo.OciDbConnection

con la quale riesco ad utilizzare ‘gii’ creando model e crud.