Belajar Hello Word

mungkin hal yang pertama yang kita pelajari ketika kita mengenal suatu bahasa pemrograman adalah membuat program "Hello word"

disini ane baru sekali mengenal framework yii … disini ane hanya mau coba berbagi untuk agan2 yang mungkin baru mengenal framework ini seperti ane… tapi ane yakin disini tempatnya para masta… mohon maaf yah jika memang postingan ane kurang bermutu.

ok kita mulai aja …

step 1 :pertama buat component di "localhost/namaFolderYii/protected/component/" disimpan dengan nama HelloWord.php

lalu letakkan codingan seperti dibawah ini.


<?php

class HelloWord extends CApplicationComponent

{

    public function init()

    {

       // apa aja boleh;

    }


    public function myblabla() {

	return "hello word";

    }


}

?>



save file tersebut.

step 2 : pada tahap selanjutnya buka file "/config/main.php"

tambahkan listing ini


	'components'=>array(

		......

                ......

		'hello'=>array(

		    'class'=>'HelloWord',

		 ),

		......

                ......



setelah itu save file tersebut.

step 3 : lalu panggil fungsi helloword yang telah kita buat sebelumnya dengan cara menambahkan codingan dibawah ini pada file view yang akan kita gunakan (contoh disini /view/site/index.php)


?php echo CHtml::encode(Yii::app()->hello->myblabla());

?>

simpan perubahan tersebut

step 4 : lihat perubahan dengan menjalankan http://localhost/namaFolderYii/index.php

mungkin tutorial ini adalah hal yang sangat sederhana untuk dipelajari, namun halnya ane disini mencoba untuk menjadi anggota yang bermanfaat… :D :rolleyes: untuk banyak perhatiaannya ane ucapin terima kasih

ref : http://www.yiiframework.com/forum/index.php?/topic/13280-how-to-create-hello-world-component/page__p__65108__hl__hello#entry65108

terimakasih

wah membantu sekali tulisannya, tengkyu :rolleyes:

jadi setiap kali kita bikin fungsi sendiri yang sering dipake, enaknya ditaruh di komponen. gitu ya gan?

yup gan… menurut ane sih seperti itu… coz jadi mudah untuk proses penggunaanya… di setiap view…

::)

nanya lagi gan ;D

spt di urlManager itu kan spt ini ya




'components'=>array(

	....................

	'urlManager'=>array(

    	'urlFormat'=>'path',

    	'rules'=array(.....blabla....)

	)

)



nah urlFormat dan rules disitu itu sebagai apa ya gan?

kalo dicontoh juragan.




'hello'=>array(

    'class'=>'HelloWord',

    ),




satu lagi yah…;D,

kalo nama component itu sebetulnya hanya sebuah nama yg kita daftarkan saja di config/main.php (maksudnya belum tertulis sebelumnya di salah satu code yg kita buat) atau nyomot dari mana?

(1)itu nama variabel gan. coba lihat contoh ini:




<?php

class HelloWord extends CApplicationComponent

{

    public $greeting; // deklarasi variabel public.

    public function init()

    {

       // apa aja boleh;

    }


    public function myblabla() {

	return "hello word";

    }

}

?>


'hello'=>array(

    'class'=>'HelloWord',

    'greeting' => 'Hello juga',

    ),



(2)coba aja agan ubah namanya kemudian lihat efeknya:)

mungkin ane sedikit mencoba menjawab gan… bener kata temen kita (@__agus) gan … fungsinya halnya sebagai variable yang nantinya bakal dipanggil dari mana aja…

klo contoh yang diberikan masta @__agus mungkin bisa ane lengkapi seperti codigan dibawah ini…

code HelloWord.php :


<?php

class HelloWord extends CApplicationComponent

{

    public $greeting='nilai default nya'; //ditambahin deklarasi varibel gan


    public function init()

    {

       // apa aja boleh;

    }


    public function myblabla() {

	return "hello word";

    }


}

?>

nah selanjutnya main.php


		

                 .....

                 'hello'=>array(

		    'class'=>'HelloWord',

		    'greeting' => 'hello juga dah',

		 ),

                 ....



trus views/site/index.php tambahin line source-code:




<?php

echo CHtml::encode(Yii::app()->hello->greeting);

?>

lihat perubahanya gan… artinya variabel ‘greeting’ yang dideklarasikan di class HelloWord.php bisa di overwrite isinya di deklarasi main.php

nah klo agan mau coba lagi silahkan comment line ‘greeting’ => ‘hello juga dah’, pada main.php… n liat perubahanya…

yang intinya sih gan ane cuman melihat deklarasi di main itu sebagai deklarasi baik itu commponent untuk di globalkan nantinya.

nah klo




'components'=>array

	....................

	'urlManager'=>array(

    	'urlFormat'=>'path',

        'rules'=array(.....blabla....)

	)

)



itu sedikit ane tau buat membuat aturan penggunaan URL kita… contoh kita tidak mau menampilkan index.php pada alamat url kita… bisa kita setting d situ… coba aja agan tambahin code ini




'components'=>array(

	....................

	'urlManager'=>array(

    	'urlFormat'=>'path',

   	'showScriptName' => false, // tambahin ini gan

     	'rules'=array(.....blabla....)

	)

)



trus agan buat file .htaccess di /folrderAplikasiYiiAgan/ dan tambahin source code ini gan…





Options +FollowSymLinks


IndexIgnore */*


RewriteEngine on


# if a directory or a file exists, use it directly


RewriteCond %{REQUEST_FILENAME} !-f


RewriteCond %{REQUEST_FILENAME} !-d


# otherwise forward it to index.php


RewriteRule . index.php

refresh halaman url aplikasi yii agan… dan lihat perubahannya … url pasti ada yang berkurang berupa ‘index.php’ yang hilang…

mungkin hanya sedikit gan penjelasannya… mohon dibantu teman2 yang lain untuk menjawabya…

OK, ane paham sekarang gan.

sekarang semua fungsi yg aneh2 bisa kepake lagi(more custom dah) :lol:

tengkyu ya…

agan… sory merepotkan… kok ane uda coba tutor di atas… waktu di jalankan keluar Property “CWebApplication.hello” is not defined. yap?? ada yg bisa jelasin?? ane lg cb belajar yii neeh :D

mohon attach file /protected/config/main.php nya gan.

pastikan ‘application.components.*’, pada parameter ‘import’ sudah diset.




return array(

...

'import'=>array(

		'application.models.*',

		'application.components.*',

),

....

}

skrg mala keluar Unable to resolve the request "site". makin bingung dah == maap merepotkan

padahal ane uda ada

protected/components/HelloWord.php

protected/config/main.php

protected/views/site/index.php

ini isi dari main.phpnya


<?php


return array(


        'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',

        'name'=>'My Web Application',


	'import'=>array(

		'application.models.*',

		'application.components.*',

	),


        'components'=>array(

            'hello'=>array(

                'class'=>'HelloWord',

            ),

         ),

);


?>

sisanya sama kyk apa yg dikasi sama rianday

ada file

protected/controllers/SiteController.php gak?

thx gan… uda bisa td di kasi SiteController… sorry merepotkan :D

waw udah di ketemu solusinya yah… maaf kemarin2 belum sempet nengokin… makasih teman2 yg udah bantu :D

Lha…SiteController.php nya diapain?

maap ane masih blon paham, maklum newbie… masalah ane mirip ama yg diatas