Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

15
Andrea Stevens Karnyoto (Yii Framework) [email protected] Catatan Belajar.. RedSpam // tanggal 20-12-2010 Membuat aplikasi web memang membutuhkan kesabaran tingkat tinggi apalagi kalau harus menggunakan php yang tanpa framework,. Tapi dengan bermunculannya banyak framework maka dapat memudahkan permasalahan-permasalahan coding.. kebetulan saya browsing tentang framework apa yang paling lengkap, mudah dan bagus maka jawabannya adalah yii framework.. tapi menurutku masih termasuk susah karena belum biasa dengan MVC hehehehe.. tapi walaupun belum jago saya akan membagi sedikit risetku tentang apa kira2 yang paling bikin kendala dalam Yii Framework, saya yakin teman2 yang baru belajar jg paling tidak mengalami kendala yang sama .. yang dibutuhkan disini adalah beberapa tools, yaitu apache, php, dan mysql nah klo mo yang langsung bisa pake xampp aja donload disini http://www.apachefriends.org/en/xampp-windows.html juga editornya saya pake eclipse helios yang khusus buat php aja( Eclipse for PHP Developers , 141 MB ), bisa di donload disini selamat mencoba deh, tutorial ini boleh di pake .. moga bermanfaat.. Cara membuat aplikasi baru menggunakan yii framework php Ketikkan pada command Php.exe yii\framework\yiic.php webapp testdrive Create a web application under “c....” [yes/no] Y

description

Membuat aplikasi web memang membutuhkan kesabaran tingkat tinggi apalagi kalau harus menggunakan php yang tanpa framework,. Tapi dengan bermunculannya banyak framework maka dapat memudahkan permasalahan-permasalahan coding.. kebetulan saya browsing tentang framework apa yang paling lengkap, mudah dan bagus maka jawabannya adalah yii framework.. tapi menurutku masih termasuk susah karena belum biasa dengan MVC hehehehe.. tapi walaupun belum jago saya akan membagi sedikit risetku tentang apa kira2 yang paling bikin kendala dalam Yii Framework, saya yakin teman2 yang baru belajar jg paling tidak mengalami kendala yang sama ..yang dibutuhkan disini adalah beberapa tools, yaitu apache, php, dan mysql nah klo mo yang langsung bisa pake xampp aja donload disinihttp://www.apachefriends.org/en/xampp-windows.htmljuga editornya saya pake eclipse helios yang khusus buat php aja( Eclipse for PHP Developers, 141 MB), bisa di donload disini selamat mencoba deh, tutorial ini boleh di pake .. moga bermanfaat.. Cara membuat aplikasi baru menggunakan yii framework phpKetikkan pada commandPhp.exe yii\framework\yiic.php webapp testdriveCreate a web application under “c....” [yes/no] Y

Transcript of Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Page 1: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

// tanggal 20-12-2010

Membuat aplikasi web memang membutuhkan kesabaran tingkat tinggi apalagi kalau harus

menggunakan php yang tanpa framework,. Tapi dengan bermunculannya banyak framework maka

dapat memudahkan permasalahan-permasalahan coding.. kebetulan saya browsing tentang framework

apa yang paling lengkap, mudah dan bagus maka jawabannya adalah yii framework.. tapi menurutku

masih termasuk susah karena belum biasa dengan MVC hehehehe..

tapi walaupun belum jago saya akan membagi sedikit risetku tentang apa kira2 yang paling bikin kendala

dalam Yii Framework, saya yakin teman2 yang baru belajar jg paling tidak mengalami kendala yang sama

..

yang dibutuhkan disini adalah beberapa tools, yaitu apache, php, dan mysql nah klo mo yang langsung

bisa pake xampp aja donload disini

http://www.apachefriends.org/en/xampp-windows.html

juga editornya saya pake eclipse helios yang khusus buat php aja(

Eclipse for PHP Developers, 141 MB

), bisa di donload disini

selamat mencoba deh, tutorial ini boleh di pake .. moga bermanfaat.. ☺

Cara membuat aplikasi baru menggunakan yii framework php

Ketikkan pada command

Php.exe yii\framework\yiic.php webapp testdrive

Create a web application under “c....” [yes/no] Y

Page 2: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

Setting Database

<?php //File: protected/config/main.php // uncomment the following to define a path alias // Yii::setPathOfAlias('local','path/to/local-folde r'); // This is the main Web application configuration. Any writable // CWebApplication properties can be configured her e. return array ( 'basePath' =>dirname ( __FILE__) . DIRECTORY_SEPARATOR. '..' , 'name' =>'PHP/MySQL Development' , 'defaultController' =>'post' , // preloading 'log' component 'preload' =>array ( 'log' ) , // autoloading model and component classes 'import' =>array ( 'application.models.*' , 'application.components.*' , ) , // application - level parameters that can be accessed

Page 3: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

// using Yii::app()->params['paramName'] 'params' =>require ( dirname ( __FILE__) . '/params.php' ) , // application components 'components' =>array ( 'log' =>array ( 'class' =>'CLogRouter' , 'routes' =>array ( array ( 'class' =>'CFileLogRoute' , 'levels' =>'error, warning' , ) , ) , ) , 'user' =>array ( // enable cookie-based authentication 'allowAutoLogin' =>true , // force 401 HTTP error if authentication needed 'loginUrl' =>null , ) , 'db' =>array ( 'class' =>'CDbConnection' , 'connectionString' =>'mysql:host=myDatabaseHost;dbname=myDatabasename' , 'username' => 'myUsername' , 'password' => 'myPassword' ) , 'urlManager' =>array ( 'urlFormat' =>'path' , 'rules' =>array ( 'tag/<tag>' =>'post/list' , 'posts' =>'post/list' , 'post/<id:\d+>' =>'post/show' , 'post/update/<id:\d+>' =>'post/update' , ) , ) , 'cache' =>array ( 'class' =>'system.caching.CDbCache' , ) , ) , ) ;

Ada error yang terjadi pada saat Yii dijalan kan yaitu pada file :

protected/views/layouts/main.php

tambahkan

date_default_timezone_set( 'UTC' );

pada

Copyright &copy; <?php date_default_timezone_set( 'UTC' );

Page 4: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

echo date( 'Y' ); ?> by My Company. <br /> All Rights Reserved. <br />

Pada file

protected/config/main.php

aktifkan giarray dengan menhilangkakan tanda /* */ nya.

'modules' =>array( // uncomment the following to enable the Gii tool /* 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'Enter Your Password Here', ), */ ),

Dan masuk di http://localhost/testdrive/

Serta di http://localhost/testdrive/index.php?r=gii

Untuk membuat conroller dan lain lain

B

Page 5: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

Buat kontroller dengan nama greeting lalu pada file ini buat seperti ini

/Test Drive/protected/views/greeting/index.php

<?php $this-> breadcrumbs =array( 'Greeting' , ); ?> <h1><?php echo "Hello World" ?></ h1> Maka hasilnya akan seperti ini :

Page 6: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

Nah sekarang kita akan coba mengirim data dari controller ke view

Contohnya seperti dibawah ini :

Pada file /Test Drive/protected/controllers/GreetingController.php

Tambahkan seperti dibawah ini :

public $pesan = "Pesan Ini Saja" ; public function actionIndex() { $this->render( 'index' , array( 'content' =>$this-> pesan )); }

Dan pada /Test Drive/protected/views/greeting/index.php

<?php $this-> breadcrumbs =array( 'Greeting' , ); ?> <h1><?php echo $content; ?></ h1> Atau bisa ditulis seperti dibawah ini :

<?php $this-> breadcrumbs =array( 'Greeting' , ); ?> <h1><?php echo $this-> pesan ; ?></ h1>

// tanggal 21-12-2010

Bagaimana cara membuat database dan bagaimana menghubungkannya dengan yi framewok

Page 7: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

Sekarang masuk pada gii module

Caranya

http://localhost/testdrive/index.php?r=gii

Buat model generatornya dulu dengan cara klik model generator

Pilih preview lalu pilih generate

Page 8: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

Setelah itu buat crud generatornya

Pilih preview lalu pilih generate

Nah sekarang boleh liat hasilnya dengan cara

http://localhost/testdrive/index.php?r=siswa

nah untuk menambahkan bahwa field tersebut dibutuhkan atau harus diisi maka tambahkan pada file

Page 9: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

/protected/models/Orang.php

Atau file baris para rules() seperti ini

array( 'nama, tanggal' , 'required' ),

jadi kira kira hasilnya seperti ini

public function rules() { // NOTE: you should only define rules for those att ributes that // will receive user inputs. return array( array( 'nama, tanggal' , 'required' ), array( 'nama' , 'length' , 'max' =>100), array( 'tanggal' , 'safe' ), // The following rule is used by search(). // Please remove those attributes that should not b e searched. array( 'Id, nama, tanggal' , 'safe' , 'on' =>'search' ), );

Coba lagi dan jika fieldnya ga disini tapilannya seperti ini

Dan untuk membuat labelnya berubah sesuai dengan yang kita inginkan maka dapat ditambahkan

seperti dibawah ini :

public function attributeLabels() { return array( 'Id' => 'Nomor' ,

Page 10: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

'nama' => 'Nama Pengguna' , 'tanggal' => 'Tanggal Lahir' , );

Maka hasilnya dapat dilihat seperti dibawah ini :

Jika ingin membuat agar sebuah field tidak dapat dicari pada manage input box search maka kita tinggal

menghilangkan baris program seperti dibawah ini

public function search() { // Warning: Please modify the following code to rem ove attributes that // should not be searched. $criteria= new CDbCriteria; $criteria->compare( 'Id' , $this-> Id ); $criteria->compare( 'nama' , $this-> nama, true); // $criteria->compare('tanggal',$this->tanggal,tru e); return new CActiveDataProvider(get_class( $this), array( 'criteria' =>$criteria, )); }

Page 11: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

Tanggal 22-12-2010

Memasukkan extensi input tanggal :

Masukkan file EHtmlDateSelect.php pada folder /Test Drive/protected/extensions lalu

Untuk menyisipkan field tertentu tinggal mengetik program seperti dibawah ini pada file

/protected/views/orang/_form.php

<?php echo $form->textField($model, 'tanggal' ?> Dengan yang ini <?php date_default_timezone_set( 'UTC' ); $this->widget( 'application.extensions.EHtmlDateSelect' , array( 'time' => $model-> tanggal , 'field_array' => 'ItemDate' , 'prefix' =>'' , 'field_order' =>'DMY' , 'end_year' =>'+2' , ) ); ?>

Sehingga jadinya seperti ini

Page 12: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

<div class ="row" > <?php echo $form->labelEx($model, 'tanggal' ); ?> <?php date_default_timezone_set( 'UTC' ); $this->widget( 'application.extensions.EHtmlDateSelect' , array( 'time' => $model-> tanggal , 'field_array' => 'ItemDate' , 'prefix' =>'' , 'field_order' =>'DMY' , 'end_year' =>'+2' , ) ); ?> <?php echo $form->error($model, 'tanggal' ); ?> </ div >

Dan pada file /protected/models/Orang.php

Tambahkan satu fungsi untuk menginput sebuah variabel

public $tgllahir ; public function simpan($tgl) { $this-> tgllahir = $tgl; } protected function beforeSave() { $this-> tanggal = $this-> tgllahir [ 'Year' ]. '-' . $this->tgllahir [ 'Month' ]. '-' . $this-> tgllahir [ 'Day' ] ; return true; } Serta ubah bagian public function rules() : Mejadi public function rules() { // NOTE: you should only define rules for those att ributes that // will receive user inputs. return array( array( 'nama' , 'required' ), array( 'nama' , 'length' , 'max' =>100), array( 'nama, tanggal' , 'safe' , 'on' =>'search' ), ); }

Page 13: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

Serta dalam file /protected/controllers/OrangController.php sisipkan baris program yang berwarna

merah ..

public function actionUpdate($id) { $model= $this->loadModel($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if( isset($_POST[ 'Orang' ])) { $model-> attributes =$_POST['Orang' ]; $model->simpan($_POST[ 'ItemDate' ]); if($model->save()) $this->redirect( array( 'view' , 'id' =>$model-> Id )); } $this->render( 'update' , array( 'model' =>$model, )); } Dan public function actionCreate() { $model= new Orang; // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if( isset($_POST[ 'Orang' ])) { $model-> attributes =$_POST['Orang' ]; $model->simpan($_POST[ 'ItemDate' ]); if($model->save()) $this->redirect( array( 'view' , 'id' =>$model-> Id )); } $this->render( 'create' , array( 'model' =>$model, )); }

Hasil akhirnya tampak seperti ini :

Page 14: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam

Klo tampak edit nya seperti ini

Page 15: Cara Membuat Aplikasi Baru Menggunakan Yii Framework Php

Andrea Stevens Karnyoto (Yii Framework) [email protected]

Catatan Belajar.. RedSpam