[Cakephp] Layout

Deskripsi :
        Layout merupakan salah satu fitur dari cakephp yang merupakan presentasi code yang membungkus content.

How to :

1. Untuk menggunakan layout , anda dapat menggunakan syntax $this->layout='name_layout';

2. Penulisan syntax dapat dilakukan di Controller (Penggunaan Global) maupun Action / Function (Lokal).

3. Lokasi layout berada di  /app/views/layouts/your_layout_name 

4. Untuk menampilkan content di layout gunakan $this->fetch('content');

5. Berikut adalah contoh penggunaan, saya anggap anda telah mempunyai sebuah view dari Action contohlayout(), untuk lebih memahami lihat code berikut di controller



Di contohController.php (/App/Controller/contohController.php) :

class contohController extends AppController
{
   ...........another code ...........
   ...........another code ...........

   public function contohlayout()
   {
         // jika ingin menggunakan layout sendiri
         $this->layout='mylayout';

         // jika tidak ingin menggunakan layout
         $this->layout='false';

         // pilih salah satu dari 2 diatas, karena ini contoh saya anggap kita pakai layout = 'mylayout'
   }
}



Di contohlayout.ctp (/App/view/contoh/contohlayout.ctp)

     - contoh merepresentasikan Controller yang kita gunakan.
     - contohlayout.ctp adalah file view yang akan diakses sesuai dengan nama action yang diakses.

Code :
   
<p>Hello World, i'am cakephp framework :D</p>


Di mylayout.ctp (/App/view/layouts/mylayout.ctp)


     - layouts merepresentasikan tempat lokasi / folder dari file layouts.
     - mylayout.ctp adalah file layout.


Code :
   
<html>
     <?php $this->fetch('content') ?>
     <p>Salam Kenal</p>
</html>


Penjelasan dari semua code :
     Ketika user mengakses : www.&*^%.com/contoh/contohlayout
     maka yang pertama dipanggil adalah Action contohlayout() , di dalam action ini layout / tampilan web di set ke file mylayout.ctp , sedangkan file view yang harusnya dipanggil contohlayout.ctp diganti dan direpresentasikan sebagai  $this->fetch('content'). maka ketika dieksekusi code di browsernya akan menjadi seperti ini.

Code :    

<html>
     <p>Hello World, i'am cakephp framework :D</p>
     <p>Salam Kenal</p>
</html>

hal ini akan sedikit berbeda jika kita menggunakan theme.


- End of Layout -


[Cakephp] Basic View Code

Deskripsi
       Untuk memudahkan dalam pembuatan view, silahkan copy paste source code dibawah ini.

How To

1. View dibuat berdasarkan pada Action / Function yang dibuat di suatu Controller.
    jika anda mempunyai Action : authentikasi pada Controller : login   
    atau dalam bentuk codenya seperti ini pada controller :
    
    class loginController extends AppController
    {
          ..................Another code..........................
          ..................Another code..........................

          public function authentikasi ()
          {
              // your code here 
          }
    }

   maka path pembuatan view :
   yourcakephpfolder/App/View/login/authentikasi.ctp
  
2. Ekstensi file bukan .php tapi .ctp

3. Satu Action / Function pada Controller = Satu View

4. Satu Controller bisa punya banyak Action / Function

5. Sekarang bagaimana isi dari view ? silahkan belajar ke www.w3schools.com pilih menu Html / Php / Javascript :D


-End of  Basic View Code -

[Cakephp] Basic Controller Code

Deskripsi :
       Untuk memudahkan dalam pembuatan controller, silahkan copy paste source code dibawah ini.

How To :

1. Buat controller di (your_cakephp/App/controller/[Create Your controller Here]).

2. Pemberian nama file bebas tetapi tetap diberi akhiran Controller.
    Selain itu nama tersebut akan digunakan pada pengetikan di URL, contohnya :
   
     - anda membuat file controller dengan nama loginController.php  maka contoh aksesnya nanti :
       
       Format rule URL :
       www.yourcakephpfolder.com/Controller/Action/Parameter_1/Parameter_2/.......
      
       Hasilnya Nanti :
       www.yourcakephpfolder.com/login

4. Buka file yang anda buat dan copy paste code dibawah ini, kemudian atur sesuai konfigurasi anda.


Code :


<?php

class loginController extends AppController
{
    var $uses = array('Model_1,Model_2');
    var $components = array('Session','RequestHandler');
    var $helpers = array ('Js','Html','Form');

    public function index ()
    {
         // action index otomatis dijalankan ketika controller dipanggil
    }

}
?>

*Note : $uses. $component, $helper bisa ditambah atau dikurangi sesuai keinginan anda.



- End of Basic Controller Code -



[Cakephp] Basic Model Code

Deskripsi
       Untuk memudahkan dalam pembuatan model, silahkan copy paste source code dibawah ini.

How To :

1. Buat model di (your_cakephp/App/Model/[Create Your Model Here]).

2. Pemberian nama bebas tetapi disarankan gunakan nama yang sama dengan tabel yang ingin digunakan.

3. Contoh nama file : MS_USER_LOGIN.php diambil dari tabel MS_USER_LOGIN

4. Buka file yang anda buat dan copy paste code dibawah ini, kemudian atur sesuai konfigurasi anda.


Code :

<?php

class MS_USER_LOGIN extends AppModel
{
    var $useDBConfig = 'default'; // bisa di edit sesuai dengan konfigurasi database
    var $name = 'MS_USER_LOGIN '; // harus sama dengan nama class dan nama file
    var $primaryKey = 'your_table_primarykey'; // primary key table
    var $useTable = 'your_table'; // nama tabel yang digunakan
}

?>

*Note : variable yang diberi marker merupakan variable yang digunakan oleh framework cakephp.


- End of Basic Model Code -




[Cakephp] Setup Datasource SQL Server 2005

Deskripsi
       Agar framework Cakephp dapat melakukan koneksi ke SQL Server 2005 or later.


How to 

1. Download datasource disini : Datasource Cakephp For SQL Server 2005

2. Extract dan copy folder Datasources ke : 
    your_cakephp_folder/App/Plugin/[Paste Disini]

3. Buka file bootstrap.php pada path : 
    your_cakephp_folder/App/Config/Bootstrap.php
    Kemudian tambahkan code di bawah ini pada line di paling bawah  :
    // Required to load plugin datasource from app\Plugin\Datasources\Model\Datasource\Database
    CakePlugin::load('Datasources');

4. Edit konfigurasi database anda (your_cakephp_folder/App/Config/database.php
    Berikut adalah sample contoh konfigurasinya :
    public $default = array(
'datasource' => 'Datasources.Database/Mssql',
'persistent' => false,
    'host' => 'MyHost',
'login' => 'MyUsername',
'password' => 'MyPassword',
    'database' => 'MyDatabase',
    'schemaName' => 'dbo',
'prefix' => '',
'port' => NULL
   );

5. Jika konfigurasi benar maka akan muncul tulisan pada welcome page cakephp : 
    ( Cake is able to connect  to the database )



- End of Setup Datasource SQL Server 2005 -

[Cakephp] Work Environment

             
Jika pertama kali baru menggunakan framework cakephp pasti akan bingung, dan hal itu merupakan sesuatu hal yang wajar karena setiap framework memiliki pengaturan sendiri. to the point let's see the picture. article original from mynotework.blogspot.com

Normal Package Cakephp
           
             Dalam pemakaian framework cakephp , direktori yang biasa saya gunakan adalah "app" dan "vendor", namun untuk direktory "vendor" hanya digunakan untuk aplikasi plugins dari vendor lain, contohnya TCPDF yang merupakan plugin untuk membuat file PDF. untuk pembuatan website tetap menggunakan direktory "app". now let's see inside directory "app". article original from mynotework.blogspot.com

App Directory Cakephp

Directory List yang biasa saya gunakan :
1. Config => untuk konfigurasi database dll.
2. Controller => untuk membuat controller.
3. Model => untuk membuat model.
4. view => untuk membuat view (tampilan web ke user).
5. webroot => untuk menyimpan file berupa image , css , javascript , dan file lain.



-End of short explanation-










[Cakephp] Short Fundamental

             
       What is Cakephp ? Cakephp adalah suatu framework yang mempermudah dalam mendevelopment suatu website, untuk bisa menggunakan framework user dituntut sudah memahami PHP. apa yang membedakan framework dengan pure code. kalau kita menggunakan framework, selain development web lebih cepat (banyak magic tool), untuk pengembangan website oleh programmer web lain akan lebih mudah karena sudah ada standarisasi dalam melakukan coding. beda halnya dengan pure coding yang justru akan membebani programmer web lain dan dituntut untuk mempelajari codingnya (mending kalau rapi codingnya, kalau berantakan ? ) , selain itu pula banyak perusahaan yang membutuhkan programmer web dengan keahlian menggunakan framework. original from mynotework.blogspot.com            

                 Cakephp menganut konsep MVC (Model View Controller), dimana setiap pemrosesan informasi  masing-masing dipisah. Model merepresentasikan data logic (berhubungan langsung ke database) , View merepresentasikan tampilan yang akan dilihat user, Controller merepresentasikan fungsi logis yang menghubungkan antara Model dan View. artikel ini original dari mynotework.blogspot.com  
     
                 Jadi pengertian gampangnya, ketika user merequest suatu view, request tersebut akan ditampung dan dicacah oleh controller. disini controller akan menentukan apakah view tersebut menggunakan data dalam database atau tidak (tentu menggunakan fungsi logis). jika menggunakan data dalam database , maka data diambil menggunakan model dan dihubungkan ke view baru kemudian view tersebut diberikan ke user. jika tidak menggunakan database (model), maka view langsung diberikan ke user. artikel ini original dari mynotework.blogspot.com  

                Segala pemrosesan yang berhubungan langsung ke database semuanya diatur oleh model termasuk filter, set primary key , dll. sedangkan controller mengatur alur request dari user, view dan model termasuk fungsi logis seperti membuat variable , melakukan query , dll. sedangkan view sendiri berfungsi hanya untuk menampilkan content (tidak disarankan membuat variable sendiri).


- End of Cakephp Short Fundamental -