2017 © Pedro Peláez
 

library mvc

External MVC Libraries for Kecik Framework

image

kecik/mvc

External MVC Libraries for Kecik Framework

  • Wednesday, November 16, 2016
  • by dnaextrim
  • Repository
  • 2 Watchers
  • 2 Stars
  • 198 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Kecik MVC

Merupakan pustaka/library yang dibuat khusus Framework Kecik, pustaka/library ini dibuat sebagai MVC external yg akan secara otomatis menggantikan fungsi dari MVC internal yang hanya men-generate perintah SQL, tapi pustaka ini akan menjalankan fungsi Model sebagaimana mestinya., (*1)

Cara Installasi

file composer.json, (*2)

{
    "require": {
        "kecik/kecik": "1.1.*@dev",
        "kecik/dic": "1.0.*@dev",
        "kecik/database": "1.0.*@dev",
        "kecik/mvc": "1.0.*@dev"
    }
}

Jalankan perintah, (*3)

composer install

Cara Menggunakannya

Untuk kebutuhan assets anda bisa download di http://getbootstrap.com/ untuk Bootstrap., (*4)

buat struktur direktori seperti ini:, (*5)

+--app
|  +-- controllers
|  +-- models
|  +-- views
+-- assets
|   +-- css
|   +-- js
|   +-- images
+-- templates

Simpan file bootstrap.min.css dan bootstrap-theme.min.css kedalam direktori assets/css/, lalu buat file starter-template.css dengan isi file sebagai berikut:, (*6)

body {
  padding-top: 50px;
}
.starter-template {
  padding: 40px 15px;
  text-align: center;
}

Lalu simpan juga kedalam direktori assets/css., (*7)

Lalu buat file composer.json dengan isi berikut ini:, (*8)

{
    "require": {
        "kecik/kecik": "1.0.*@dev",
        "kecik/dic": "1.0.*@dev",
        "kecik/database": "1.0.*@dev",
        "kecik/mvc": "1.0.*@dev"
    }
}

Jalankan perintah, (*9)

composer install

Untuk Database pada contoh ini menggunakan database mysql. Selanjutnya buat database dengan nama database kecik, lalu jalankan perintah sql berikut ini:, (*10)

CREATE TABLE IF NOT EXISTS `user` (
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `fullname` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `user` (`username`, `password`, `fullname`, `email`) VALUES
('admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'dna.extrim@gmail.com'),
('kecik', '9981b95fcb28eddb5a4dcab5fbe71061', 'Kecik User', 'kecik@blabla.com');

Selanjutnya buat file index.php dengan isi sebagai berikut:, (*11)

 'assets',
    //** Path of MVC
    'path.mvc'      => 'app',
    //** Path of Template
    'path.template' => 'templates',
    
    //** Load Libraries
    'libraries' => [
        //-- DIC Library
        'DIC' => ['enable' => TRUE],
        //-- Database Library
        'Database' => [
            'enable' => TRUE,
            'config' => [
                'driver' => 'mysqli',
                'hostname' => 'localhost',
                'username' => 'root',
                'password' => '',
                'dbname' => 'kecik'
            ]
        ],
        //-- MVC Library
        'MVC' => ['enable' => TRUE]
    ]
    //-- End Libraries
];

$app = new Kecik\Kecik($config);

    //** Assets
    //-- CSS Assets
    $app->assets->css->add('bootstrap.min');
    $app->assets->css->add('bootstrap-theme.min');
    $app->assets->css->add('starter-template');
    //-- END CSS Assets
    //-- END Assets

    //** Connect to Database
    $app->db->connect();

    //** DIC Container
    //-- User Controller
    $app->container['userController'] = function($container) {
        return new Controller\User();
    };
    //-- END
    
    //** Index
    $app->get('/', function() {
        return $this->container['userController']->index();
    })->template('bootstrap_template');
    
    //** User List
    $app->get('user', function() {
        return $this->container['userController']->read();
    })->template('bootstrap_template');

    //** FORM
    //-- FORM Add
    $app->get('add', function() {
        return $this->container['userController']->form();
    })->template('bootstrap_template');
    //-- FORM Update
    $app->get('edit/:username', function($username) {
        return $this->container['userController']->form($username);
    })->template('bootstrap_template');
    //-- END FORM

    //** Action INSERT, UPDATE, AND DELETE
    //-- INSERT
    $app->post('insert', function() {
        return $this->container['userController']->insert();
    });
    //-- UPDATE
    $app->post('update/:username', function($username) {
        return $this->container['userController']->update($username);
    });
    //-- DELETE
    $app->get('delete/:username', function($username) {
        return $this->container['userController']->delete($username);
    });
    //-- END Action

$app->run();
```

Untuk template ketikan code berikut ini, nama file adalah **`templates/bootstrap_template.php`**:

```html
  
  
    
    
        Contoh MVC
        
        
        Simple Template

        
        
        
        @css
    
    
        

    
@response
@js ``` Selanjutnya buat file controller, dengan nama file **`user.php`** pada direktori **`app/controllers/`** dengan isi file sebagai berikut: ```php view('index'); } public function read() { return $this->view('read'); } public function form($id='') { if ($id=='') $url = $this->url->linkto('insert'); else $url = $this->url->linkto('update/'.$id); return $this->view('form', ['id'=>$id, 'url'=>$url]); } public function insert() { $request = $this->request; $user = new \Model\User(); $user->username = $request->post('username'); $user->password = md5($request->post('password')); $user->fullname = ucwords($request->post('fullname')); $user->email = $request->post('email'); $user->save(); $this->url->redirect('user'); } public function update($id) { $request = $this->request; $user = new \Model\User(['username'=>$id]); $user->username = $request->post('username'); $user->password = md5($request->post('password')); $user->fullname = ucwords($request->post('fullname')); $user->email = $request->post('email'); $user->save(); $this->url->redirect('user'); } public function delete($id) { $request = $this->request; $user = new \Model\User(['username' => $id]); $user->delete(); $this->url->redirect('user'); } } ``` Selanjutnya buat file model dengan nama file **`user.php`** dan simpan pada direktori **`app/models/`** dengan isi file sebagai berikut: ```php

Framework Kecik

Merupakan framework dengan satu file system yang sangat sederhana, jadi ini bukan merupakan sebuah framework yang kompleks, tapi anda dapat membangun dan mengembangkan framework ini untuk menjadi sebuah framework yang kompleks. Framework ini mendukung MVC sederhana dimana anda masih harus mengcustom beberapa code untuk mendapatkan MVC yang kompleks, untuk Model hanya sebatas men-generate perintah SQL untuk INSERT, UPDATE dan DELETE saja, jadi untuk code pengeksekusian SQL nya tersebut silakan dibuat sendiri dengan bebas mau menggunakan library database manapun. Framework ini juga mendukung Composer, jadi bisa memudahkan anda untuk menambahkan sebuah library dari composer. , (*12)

EXAMPLE/CONTOH MVC

``` Lalu buat file view untuk read dengan nama file **`read.php`** dan disimpan pada direktori **`app/views/`** dengan isi file sebagai berikut: ```html
NO USERNAME EMAIL ACTION username; ?> email; ?> UPDATE DELETE

Lalu buat view untuk form dengan nama file form.php dan di simpan pada direktori app/views dengan isi file sebagai berikut:, (*13)

 [
        ['username', '=', $id]
      ]
    ]);
    foreach ($rows as $data) {
      $username = $data->username;
      $fullname = $data->fullname;
      $email = $data->email;
    }
  }
?>
<br />


The Versions

16/11 2016

dev-develop

dev-develop

External MVC Libraries for Kecik Framework

  Sources   Download

MIT

The Requires

 

by Dony Wahyu Isp

framework mvc kecik

10/12 2015

dev-master

9999999-dev

External MVC Libraries for Kecik Framework

  Sources   Download

MIT

The Requires

 

by Dony Wahyu Isp

framework mvc kecik

10/12 2015

1.0.3

1.0.3.0

External MVC Libraries for Kecik Framework

  Sources   Download

MIT

The Requires

 

by Dony Wahyu Isp

framework mvc kecik