forked from panada/panada
portege/Panada
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Panada Light and simple PHP 5 base Framework. Version 0.1 Juni 2010 Copyright (C) 2010 Iskandar Soesman (iskandarsoesman at gmaildotcom) License: http://www.opensource.org/licenses/bsd-license.php PANDUAN INSTALLASI DAN PENGGUNAAN ================================= Download source file di: http://github.com/k4ndar/Panada Exctract file dan copy-kan ke dalam webserver. Konfigurasi ----------- File konfigurasi terletak di: application/config.php Isikan lokasi url applikasi pada parameter base_url, Misalnya http://localhost/panada/index.php/ atau http://www.mysite.com/index.php/ Jika tidak ingin menampilkan 'index.php', tambahkan file .htaccess di root applikasi yang isinya: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] Lengkapi semua parameter untuk database. Username, host, password, dan nama database. Controller ---------- Untuk membuat controller buat sebuah file baru di dalam folder application/controller/ dan beri nama sesuai dengan yang diinginkan, misalnya home.php. Buat sebuah class baru di dalam file ini di mana class tersebut menjadi child dari class Panada, berikut adalah contohnya: class controller_home extends Panada { function __construct(){ parent::__construct(); } function index(){ echo 'Ini adalah controller home.'; } } Yang harus diperhatikan adalah prefix nama class menunjukan lokasi folder class tersebut. Hal ini juga berlaku pada class untuk library, maka prefix-nya adalah "library_" dan class untuk model dengan prefix "model_" Sebuah controller setidak-tidaknya harus memiliki method __construct dan index. Jika controller ini dikases tanpa argumen apapun, maka method yang akan diakses adalah index. Untuk me-load library ataupun model di dalam controller, berikut adalah contohnya: class controller_home extends Panada { function __construct(){ parent::__construct(); // Load model $this->users = new model_users(); // Load library $this->session = new library_session(); } function index(){ print_r( $this->users->users() ); } } Model ----- Buat file baru dan letakan di dalam folder application/model/, misalnya users.php. Buat class users di dalam file ini dengan diawali prefix "model_", contohnya: class model_users { function __construct(){ } } Sebuah class model setidaknya harus memiliki method __construct yang bertugas me-load library atau class lainnya yang nantinya akan dibutuhkan. Load Library di dalam Model Yang paling sering dilakukan adalah me-load library database di dalam sebuah class model. Untuk melakukan ini berikut adalah contohnya: class model_users { function __construct(){ $this->db = new library_db(); } } berikutnya, properti "$this->db" bisa digunakan di semua method yang ada di dalam class tersebut. Berikut adalah contoh untuk mendapatkan 5 record dari database: class model_users { function __construct(){ $this->db = new library_db(); } function users(){ $result = $this->db->results("SELECT * FROM table_name ORDER BY id LIMIT 5"); } } NOTE: Selain dengan cara ini, ada dua cara lainnya untuk me-load class baik itu library ataupun model: 1. Defenisikan class yang akan diload secara otomatis pada parameter auto_loader yang ada di dalam file config.php, contohnya adalah: $CONFIG['auto_loader'] = array('library_db', 'model_users'); Library ataupun model bisa sekaligus dideklarasikan secara bersamaan. 2. Sebuah class juga bisa dideklarasikan pada method constructor dari class controller. Misalnya me-load library db di dalam controller home: class controller_home extends Panada { function __construct(){ parent::__construct(); $this->db = new library_db(); $this->users = new model_users(); } function index(){ echo 'Ini adalah controller home.'; } } Apabila sebuah class suda dideklarasikan, baik itu pada auto_loader atau di dalam model ataupun di dalam controller, maka tidak perlu lagi dideklarasikan pada class lainnya. instance dari class tersebut secara otomatis sudah bisa langsung digunakan pada class lain. Database -------- == Simple query == - Single Record - ----------------- Untuk mendapatkan sebuah record, berikut contoh query-nya: $data = $this->db->row("SELECT * FROM table_name WHERE id = 1"); Output dari fungsi ini adalah object, sehingga untk memanggil value record dengan cara: echo $data->field_1; Untuk mendapatkan tipe data array tambahkan parameter 'array' setelah argumen query: $data = $this->db->row("SELECT * FROM table_name WHERE id = 1", 'array'); dan untuk mendapatkan isi record-nya: echo $data['field_1']; - Multiple Records - -------------------- Untuk mendapatkan multiple record cara query-nya adalah: $data = $this->db->results("SELECT * FROM table_name"); foreach ($data as $data) { echo $data->field_1; echo $data->field_2; } Atau dengan tipe data array: $data = $this->db->results("SELECT * FROM table_name", 'array'); foreach ($data as $data) { echo $data['field_1']; echo $data['field_2']; } - Insert Data - --------------- Berikut adalah contoh untuk melakukan insert: $this->db->query("INSERT INTO table_name (field_1, field_2) VALUES ('budi', 'budi@budi.com')"); - Single Variable - Untuk mendapatkan single variable/field, bisa dilakukan dengan cara berikut: $data = $this->db->get_var("SELECT COUNT(*) FROM table_name"); echo $data; == Faster Query == Selain cara di atas, modifikasi database juga bisa dilakukan dengan cara yang lebih cepat. Untuk mendapatkan single record dengan cara: $data = $this->db->get_row('table_name', array('id' => 1, 'email' => 'kandar'), array('id', 'email') ); echo $data->email; Untuk mendapatkan multiple record dengan cara: $data = $this->db->get_results('table_name', array('id' => 1, 'email' => 'budi@budi.com'), array('field_1', 'field_2')); foreach ($data as $data) { echo $data->field_1; echo $data->field_2; } Untuk menambahkan data baru dengan cara: $query = $this->db->insert('table_name', array('name' => 'jhon', 'email' => 'jhon@smith.com')); Untuk meng-update record dengan cara: $query = $this->db->update('table_name', array('name' => 'jhon gmail', 'email' => 'jhon@gmail.com'), array('id' => 6)); Untuk menghapus record dengan cara: $query = $this->db->delete('table_name', array('id' => '6')); KONTRIBUSI ========== Anda bisa melakukan banyak hal untuk berkontribusi, diantaranya: * Tester Contributor Install dan test Panada pada komputer Anda dan informasikan bug ataupun apa saja yang Anda alami ketika menggunakan applikasi ini. Kirimkan info Anda ke k4ndar at yahoodotcom (akan lebih bagus jika dilengkapi screenshoot). * Petch Contributor Ingin memperbaiki bug yang Anda temukan? atau memperbaiki algoritma sehingga membuat Panada menjadi lebih baik? Fork source code Panada di http://github.com/k4ndar/Panada * Library Contributor Cara yang sama juga bisa Anda gunakan untuk men-submit library buatan Anda. * Other Contributor Apapun bisa Anda melakukan apapun untuk menjadikan Panada lebih baik dengan cara Anda sendiri. Selamat menikmati Panada!
About
Panada PHP Framework: A very simple PHP 5 base Framework
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- PHP 100.0%