Yii Framework Forum: autoload di yii - Yii Framework Forum

Jump to content

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

autoload di yii Rate Topic: -----

#1 User is offline   cocobi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 45
  • Joined: 14-January 11

Posted 14 April 2011 - 08:56 PM

dear forum yiiers,

Bagaimana membuat autoload class / constructor di YII. Tujuannya adalah mengambil data yang sebelumnya sudah diload.

Ane ada kasus, ane mau buat report di YII dalam bentuk grafis dan excell dari grid yang sudah ditampilkan. Biar lebih efisien (komunikasi dengan database menjadi minimal), biasanya data yang diambil waktu menampilkan grid ane simpan dalam array dan di jadikan autoload.

Kalau di CodeIgniter kita bisa menggunakan function __construct() di controller. Ane coba implementasikan function __construct() di controller YII ga bisa jalan.

ada yang taukah dari temen2 milis bagaimana setting nilai dan load nilai yang bisa digunakan pada tiap controller?

makasih yii-ers.
0

#2 User is offline   petra 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 20-June 10

Posted 14 April 2011 - 09:02 PM

pake method `init()`?
0

#3 User is offline   cocobi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 45
  • Joined: 14-January 11

Posted 15 April 2011 - 01:23 AM

View Postpetra, on 14 April 2011 - 09:02 PM, said:

pake method `init()`?



makasih mas masukannya.... :) ane akan coba-coba dulu. Berarti fungsi init itu untuk autoload ya mas... dan bisa ambil nilai properti dari parent yang sudah di set valuenya oleh salah satu controller yang menampilkan grid.

:)
0

#4 User is offline   petra 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 20-June 10

Posted 15 April 2011 - 03:37 AM

init itu semacam hook sih, dan lebih bersih karena method __construct di controller itu kadang sering dipake macam2 :P

di CController sendiri ada beberapa hook yang bisa dipake
beforeAction
afterAction
beforeRender
afterRender
0

#5 User is offline   cocobi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 45
  • Joined: 14-January 11

Posted 18 April 2011 - 02:00 AM

View Postpetra, on 15 April 2011 - 03:37 AM, said:

init itu semacam hook sih, dan lebih bersih karena method __construct di controller itu kadang sering dipake macam2 :P

di CController sendiri ada beberapa hook yang bisa dipake
beforeAction
afterAction
beforeRender
afterRender



Gan mau tanya cara penggunaannya nih.

misalnya :

NilaiContoller extends CController
{

public function actionAmbilDataMahasiswa() {

$model = new Mahasiswa;

if(isset($_POST['Mahasiswa']))
{
$model->attributes=$_POST['Mahasiswa'];
$model->getNilaiMahasiswa($model->kelas); //fungsi ini mendapatkan nama mahasiswa dan nilainya
}

$this->render('nilai_mahasiswa',array('model'=>$model));
}
}

pertanyaannya, dimana dan bagaimana caranya agar saya bisa simpan data itu untuk dipanggil lagi ketika saya ingin membuat report? karena sebaiknya saya tidak perlu lagi melakukan query yang sama ke database. Jikalau data itu tersimpan (mungkin semacam autoload class atau menggunakan init())

makasih yii-ers.
0

#6 User is offline   petra 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 20-June 10

Posted 18 April 2011 - 02:46 AM

masih gak ngerti maksudnya, dan kenapa gak mau query ke database?

kalo emang gak mau query terus2an hal yang sama ya bisa disimpan di session atau di cache..

NilaiController extends CController {
   private $_mahasiswa;

   public function init(){
      //load dari session atau cache
   }

   public function actionAmbilDataMahasiswa(){
      //bla bla bla
      //save ke session atau cache
      //
   }

   public function actionSebuahAksi(){
      if ($this->_mahasiswa != NULL){
          //do something
      }
   }


}


kayak gitu bukan sih?
0

#7 User is offline   cocobi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 45
  • Joined: 14-January 11

Posted 18 April 2011 - 02:58 AM

View Postpetra, on 18 April 2011 - 02:46 AM, said:

masih gak ngerti maksudnya, dan kenapa gak mau query ke database?

kalo emang gak mau query terus2an hal yang sama ya bisa disimpan di session atau di cache..

NilaiController extends CController {
   private $_mahasiswa;

   public function init(){
      //load dari session atau cache
   }

   public function actionAmbilDataMahasiswa(){
      //bla bla bla
      //save ke session atau cache
      //
   }

   public function actionSebuahAksi(){
      if ($this->_mahasiswa != NULL){
          //do something
      }
   }


}


kayak gitu bukan sih?


iya gan, itu maksud ane, makasih untuk quick responnya..hahay. *kayaknya mulai cerah*
kalau ane ga mau query lagi, karena untuk meminimalkan koneksi ke database gan. Kalau kita ambil sekali, terus close koneksi. Dan data yang diambil itu kita simpan untuk di gunakan secara berulang2(salah satunya report) akan lebih bagus setau ane, daripada kita query lagi ke database setiap melakukan aksi. apalagi kalau usernya banyak... hehe (bisa mengurangi kinerja server database). Tapi kalau agan punya solusi lain, ane akan sangat senang. :)
0

#8 User is offline   petra 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 20-June 10

Posted 18 April 2011 - 08:46 AM

Ya, salah satu tujuan penggunaan cache itu adalah untuk menyimpan data agar bisa data tersebut bisa diakses lebih cepat jika dibutuhkan kembali. Biasanya data yang dicache itu adalah data yang jumlahnya gak terlalu besar dan juga jarang berubah.
Biasanya yg sering dicache itu profil User (id, username, first name, last name)..

pola umumnya sih

if (in_cache($cacheid)){
   $var = get_from_cache($cacheid);
} else {
   $var = get_from_database();
   store_to_cache($var, $cacheid);
}


gitu2 aja sih,,,

http://www.yiiframew...en/caching.data
0

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