Hali!
Nagyjából lépésről-lépésre:
- ha rendesen hoztál létre webalkalmazást (értsd: konzolban "yiic webapp név") akkor a configban (protected/config/main.php) állítsd be az adatbázis kapcsolatodat - mysql esetén elég a
/*
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=testdrive',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),
*/
részből kivenni a kommentet és átírni a dbname-t, username-t és password-öt - felette lévő sqlite-os adatbázis kapcsolatot kommenteld, vagy töröld ki - lényeg, hogy csak egy ‘db’ legyen a components array-ben.
-
hogy ne kelljen mindent kézzel csinálni a yii tartalmaz egy generátort is - ez a gii - ezt a fenti main.php-ben kell engedélyezni: modules részben a ‘gii’ körül vedd ki a kommentet és írj be valami jelszót
-
mentés után a böngészőben hozd be a gii-t: www.domained.hu/webappod/index.php?r=gii - majd írd be a jelszót
-
Controller generatorban add meg a controller id-jét: "bemutatkozas" majd Preview és generate - "try it now"-ra kattintva rögtön meg is tudod nézni, vagy a www.domained.hu/webappod/index.php?r=bemutatkozas -ra mész. A controllert itt találod: protected/controllers/BemutatkozasController.php a létrehozott view-t pedig a protected/views/bemutatkozas/index.php-ben.
A controllerben szokás az adatot lekérni a modellen keresztül majd átadni a view-nak a render() hívásában.
Yii-ben többféleképpen tudsz az adatbázisból adatot lekérni: Active Record, DAO vagy Query Builder - ezekről bővebben a guide-ban tudsz olvasni (guide:database) - nem látok bele az adatbázisodba, így majd kiválasztod a neked legjobban megfelelőt. Active Record esetén a gii-vel ki lehet generálni a modelt - Model generatorra kell kattintani és meg kell adni a táblanevet.
- szóval az BemutatkozasController-ben az actionIndex()-ben lekéred az adatot majd átadod:
class BemutatkozasController extends Controller
{
public function actionIndex()
{
// pár példa:
// Active Record
// $model = Page::model()->findByPk(1);
// $szoveg = $model->szoveg;
// vagy
// DAO
// $szoveg = Yii::app()->db->createCommand("SELECT szoveg FROM tábla WHERE id = :id")->queryScalar(array(":id" => 1));
// vagy
// Query Builder
// $szoveg = Yii::app()->db->createCommand()->select("szoveg")->from("tábla")->where("id = :id", array(':id' => 1))->queryScalar();
// ezt kommenteld majd ki
$szoveg = "Ez a szöveg jön majd adatbázisból";
$this->render('index', array(
'szoveg' => $szoveg
));
}
}
és a view-ban (protected/views/bemutatkozas/index.php) kiíratod:
<?php echo $szoveg ?>
- majd berakod a menübe (alapból a protected/views/layouts/main.php-ben van):
array('label'=>'Bemutatkozás', 'url'=>array('/bemutatkozas/index')),
Tipp: érdemes elmerülni a guideban, tutorialokban és könyvekben, megnézni a 4 részes videósorozatot - illetve jobban megnézni, hogy mi a MVC.
(ui: a fenti createCommand-os lekéréseket jobb lenne egy külön (model) osztályba rakni - nem akartam ezzel bonyolítani a példát)