Download the PHP package xinix-technology/bono-metronic-template without Composer

On this page you can find all versions of the php package xinix-technology/bono-metronic-template. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package bono-metronic-template

Bono Metronic

Bono Metronic adalah sebuah kerangka kerja untuk bahasa pemrograman PHP yang hadir dengan terintergrasi Premium Bootstrap Template Admin, yakni Metronic versi 7. Dikembangkan oleh Xinix Technology dengan tujuan mempercepat proses pembuatan maupun pengembangan aplikasi berbasis web.

Mengapa Harus Bono ?


Beberapa alasan mengapa anda harus menggunakan bono:

System Requirement


Adapun kebutuhan-kebutuhan yang harus dipenuhi untuk dapat menggunakan Bono Metronic dengan optimal antara lain:

Instalasi


Untuk instalasi Bono Metronic, buka terminal dan jalankan perintah berikut ini pada terminal:

Konfigurasi Awal untuk Database


Adapun konfigurasi yang harus dilakukan setelah mengikuti langkah instalasi:

  1. Buat sebuah database di phpMyAdmin
  2. import file yang ada di folder
  3. buka file yang berada pada direktori
  4. Sesuaikan bagian berikut dengan kredensial phpMyAdmin anda

Menjalankan Bono Metronic


Untuk menjalankan aplikasi Bono Metronic, cukup akses pada browser anda. Jika berhasil, maka anda akan menjumpai halaman login. Bono Metronic sudah memiliki user yang terdaftar dan bisa digunakan untuk kebutuhan development. Untuk kredensial login, bisa menggunakan

Aturan Pembuatan Table Bono Metronic


Dalam pembuatan table dalam database, ada beberapa field yang wajib dibuat yang nantinya akan diisi secara otomatis oleh Bono Metronic, adapun field yang wajib dibuat pada setiap table antara lain sebagai berikut:

Nama Field Tipe Data Deskripsi
status INT menampung status dari data
_created_by VARCHAR Menyimpan ID user yang membuat data
_updated_by VARCHAR Menyimpan ID user yang merubah/mengupdate data
_created_time DATETIME Menyimpan informasi tanggal & waktu saat data dibuat
_updated_time DATETIME Menyimpan informasi tanggal & waktu saat data dirubah

Collections


Collections merepresentasikan table (entity) pada database, sementara di dalam collections mengembalikan array yang berisi schema. File Collections terletak pada direktori .

# Membuat Collections

Seperti yang dijelaskan sebelumnya. Collections merupakan representasi dari table. Misal pada database, anda memiliki table "product" dan anda ingin membuat collections untuk itu, caranya adalah sebagai berikut:

  1. Buka direktori
  2. Buat file baru dengan nama
  3. Isi file tersebut seperti dibawah ini:

# Mendaftarkan Collections Pada Config

Semua collections yang sudah dibuat harus didaftarkan terlebih dahulu pada file yang berada pada direktori agar dapat diakses alamat URI nya. Caranya adalah dengan menambahkan pada bagian berikut:

secara default, collections akan menggunakan AppController sebagai Controller default nya. Setelah mendaftarkan Collections nya, kita bisa mengakses alamat localhost/bono-metronic/www/index.php/collection

Schema


Schema erat kaitannya dengan Collections. Schema merepresentasikan field / data yang ada di dalam table pada database (terkecuali status, _created_by, _updated_by, _created_time, dan _updated_time). Bono Metronic V7 sudah menyediakan berbagai macam schema yang siap pakai guna mempercepat proses pengembangan. Schema meng-generate field HTML yang digunakan untuk kebutuhan SCRUD (Search, Create, Read, Update, dan Delete) pada collections yang bersangkutan. File komponen schema sendiri terletak pada direktori src\App\Schema

Adapun schema yang tersedia pada Bono Metronic V7 Antara lain sebagai berikut:

# Thumbnail

Schema Thumbnail digunakan untuk meng-handling input data yang bertipe gambar. Thumbnail menggunakan namespace App\Schema\Thumbnail

Penjelasan : 'photo' merupakan nama field yang ada di dalam database. sementara 'Gambar' merupakan alias yang digunakan sebagai label yang nantinya akan ditampilkan ke user. 'list-column' di set bernilai true, berarti field tersebut ditampilkan di dalam tabel. Sementara itu 'bucket' dan 'storage' artinya data gambar tersebut akan disimpan di direktori


# NormString

Schema NormString digunakan untuk meng-handling input data yang bertipe string. NormString menggunakan namespace App\Schema\NormString

Penjelasan : 'name' merupakan nama field yang ada di dalam database.'list-column' di set bernilai true, berarti field tersebut ditampilkan di dalam tabel


# InputMask

Schema InputMask digunakan untuk meng-handling input data yang bertipe integer dan memiliki pola tertentu, seperti nomor NIK ataupun nomor NPWP. InputMask menggunakan namespace App\Schema\InputMask

Penjelasan : 'ktp' merupakan nama field yang ada di dalam database.'list-column' di set bernilai true, berarti field tersebut ditampilkan di dalam tabel. set_mask dan '99-9999-99_99.999' artinya kita set input integer menjadi pola tersebut


# FileUpload

Schema FileUpload digunakan untuk meng-handling input data yang bertipe file (berkas), seperti format .pdf, .docx, .txt dan masih yang lainnya. FileUpload menggunakan namespace App\Schema\FileUpload

Penjelasan : 'file' merupakan nama field yang ada di dalam database. 'list-column' di set bernilai true, berarti field tersebut ditampilkan di dalam tabel. Sementara itu 'bucket' dan 'storage1' artinya data gambar tersebut akan disimpan di direktori


# Reference

Schema Reference digunakan untuk meng-handling input data yang bertipe select dan hanya single option. Reference menggunakan namespace App\Schema\Reference

Penjelasan : 'dropdown' merupakan nama field yang ada di dalam database. to(array('a' => 'testing1','b' => 'test2')) berarti mengisikan opsi apa saja yang akan tampil ketika tombol dropdown di click. 'a' merupakan key nya dan 'testing1' merupakan value nya


# SelectTwoReference

Schema SelectTwoReference digunakan untuk meng-handling input data yang bertipe select dan hanya single option. Perbedaanya dengan Reference adalah schema SelectTwoReference memiliki "inline-search" yang membuat pencarian data dropdown lebih mudah. SelectTwoReference menggunakan namespace App\Schema\SelectTwoReference

Penjelasan : 'select' merupakan nama field yang ada di dalam database. to(array('a' => 'testing1','b' => 'test2')) berarti mengisikan opsi apa saja yang akan tampil ketika tombol dropdown di click. 'a' merupakan key nya dan 'testing1' merupakan value nya


# MultiReference

Schema MultiReference digunakan untuk meng-handling input data yang bertipe select dan dapat menampung multi option. MultiReference menggunakan namespace App\Schema\MultiReference

Penjelasan : 'role' merupakan nama field yang ada di dalam database. to('Role') berarti data select tersebut diambil dari collections / table Role


# SearchReference

Schema SearchReference digunakan untuk meng-handling input data yang bertipe select. Kelebihan dari SearchReference adalah Schema SearchReference dapat menampilkan data lebih lengkap dan memiliki "inline search". SearchReference menggunakan namespace App\Schema\SearchReference

Penjelasan : 'user' merupakan nama field yang ada di dalam database. to('User','first_name) berarti data select tersebut diambil dari collections / table User dan yang ditampilkan pada field input adalah data 'first_name' nya. Sementara untuk set('field',array('email','first_name') adalah informasi yang nantinya ditampilkan secara detail pada saat tombol search di click, yakni data "email" dan "first_name" dari User


# DatePicker

Schema DatePicker digunakan untuk meng-handling input data berupa tanggal. DatePicker menggunakan namespace App\Schema\DatePicker

Penjelasan : 'testdate' merupakan nama field yang ada di dalam database. setformatdate('dd-mm-yyyy') digunakan untuk membuat format tanggal yang akan ditampilkan di simpan. Untuk format data tanggal, bisa menggunakan format dd-mm-yyyy atau dd/mm/yyyy sesuai kebutuhan


# SysparamReference

Schema SysparamReference digunakan untuk meng-handling input data berupa select. SysparamReference digunakan untuk membuat pilihan yang opsinya hanya sedikit tanpa membuat modul baru dan memiliki fitur grouping. Salah satu contoh datanya adalah data Gender. SysparamReference menggunakan namespace App\Schema\SysparamReference. Untuk membuat data opsi Sysparam tersendiri, dapat mengunjungi URL

Penjelasan : 'sysparam' merupakan nama field yang ada di dalam database. setGroups('gender') yakni data Sysparam diambil dan di group berdasarkan data sysParams Gender


Controller


Bono Metronic V7 memiliki sebuah default controller yakni AppController.php yang terletak pada direktori src\App\Controller. Pengaturan tersebut dapat dilihat pada file config.php pada direktori /config. Berkas AppController.php berisi fungsi-fungsi yang diantaranya sudah mencakup berbagai kebutuhan yang menyangkut operasi SCRUD (Search, Create, Read, Update, dan Delete). Sebenarnya, AppController.php sendiri merupakan turunan dari NormController.php yang letaknya ada di vendor/xinix-technology namun AppController.php sudah di modifikasi sesuai kebutuhan.

Custom Controller


Bono Metronic V7 memberikan keleluasaan untuk membuat custom controller kepada pengguna. Misalkan ingin membuat sebuah controller untuk entity Category, caranya dengan membuat file CategoryController.php pada direktori src/App/Controller. File CategoryController.php ini harus extends ke AppController. dan untuk menggunakan CategoryController alih alih menggunakan controller default, kita bisa mengubahnya pada config.php pada bagian berikut ini:

NORM


Bono Metronic menggunakan NORM yakni sebuah mekanisme untuk merubah data di dalam table database menjadi sebuah object. NORM sendiri memiliki beberapa criteria antara lain find dan findOne yang akan dijelaskan lebih jelas dibawah ini

# find()

find() merupakan criteria dalam Norm Bono Metronic yang dimana berfungsi untuk mengambil semua data yang ada di dalam table. Sintaks dari find() sendiri antara lain sebagai berikut


# find($id)

find($id) merupakan criteria dalam Norm Bono Metronic yang dimana berfungsi untuk mengambil satu data berdasarkan ID yang dikirimkan dari parameter. Sintaks dari find($id) sendiri antara lain sebagai berikut


# find(array('field' => criteria))

find(array('field' => criteria)) merupakan criteria dalam Norm Bono Metronic yang dimana berfungsi untuk mengambil banyak data berdasarkan kriteria field yang dikirimkan dari parameter. Sintaks dari find(array('field' => criteria)) sendiri antara lain sebagai berikut

contoh sederhananya adalah ketika kita ingin mengambil data dalam table employee yang memiliki company_id sama dengan 3, maka sintaks nya akan seperti ini


# findOne(array('field' => criteria))

findOne(array('field' => criteria)) merupakan criteria dalam Norm Bono Metronic yang dimana berfungsi untuk mengambil data pertama yang ditemukan berdasarkan kriteria field yang dikirimkan dari parameter dan hanya mengembalikan satu data yang paling pertama ditemukan. Sintaks dari findOne(array('field' => criteria)) sendiri antara lain sebagai berikut

contoh sederhananya adalah ketika kita ingin mengambil data dalam table employee yang memiliki company_id sama dengan 3, maka sintaks nya akan seperti ini


# Criteria Operator

Dalam pengoperasian NORM sendiri ada beberapa Operator yang dapat menambah fungsionalitas guna mencari data di dalam database. Berikut merupakan Criteria Operator yang dapat dimanfaatkan dalam NORM field Nama Operator Symbol Representative Deskripsi
field!like LIKE Mencari data dengan string tertentu
field!lte <= Mencari data kurang dari sama dengan criteria tertentu
field!lt < Mencari data kurang dari criteria tertentu
field!gte >= Mencari data lebih dari sama dengan criteria tertentu
field!gt > Mencari data lebih dari criteria tertentu
field!ne != Mencari data yang tidak sama dengan criteria tertentu
field!startwith value% Mencari data dengan awalan criteria tertentu
field!endwith %value Mencari data dengan akhiran criteria tertentu
field!in Mencari value dari field sama dengan value dengan array tertentu
field!nin Mencari value dari field tidak sama dengan value dengan array tertentu
field!isnull Mencari value dari field yang sama dengan null

Provider


Provider merupakan sebuah bagian di Bono Metronic V7 yang berfungsi untuk mengembalikan sebuah data (response) dari database dalam bentuk JSON sehingga nantinya data berformat JSON tersebut dapat dikelola untuk kebutuhan tertentu, salah satunya untuk API.

Provider sendiri berada pada direktori src\App\Observer dan secara default, Bono Metronic V7 memiliki 3 (tiga) provider bawaan antara lain:

secara umum, isi dari Provider adalah sebagai berikut:

Penjelasan :

  • Provider sendiri memiliki namespace yakni App\Provider
  • Provider memiliki satu method wajib, yakni initialize() yang isinya merupakan inisialisasi dari app

Method initialize() nantinya akan diisi dengan routing untuk mengembalikan data berupa JSON.

# Mengisi Method Initialize

Kita bisa mengisi method initialize dengan routing yang mengembalikan response dalam bentuk JSON. Misalkan ingin mengambil data dari table product untuk ditampilkan dalam bentuk JSON, maka kita bisa membuat routing seperti berikut ini:

Penjelasan:

  • Pertama kita definisikan terlebih dahulu HTTP Method nya, kita menggunakan GET dan URI nya adalah /product_api
  • Kemudian untuk parameter kedua, kita membuat sebuah anonymous function yang isinya mengambil semua data di table product dengan Norm
  • Lalu kembalikan respon nya

Untuk mengakses URL dari routing yang sudah dibuat, cukup dengan mengakses URL berikut localhost/bono-metronic/www/index.php/product_api.json

Custom Provider


Bono Metronic V7 memberikan keleluasaan kepada pengguna untuk membuat custom provider sendiri. Misal ingin membuat Provider khusus untuk Product, maka caranya adalah dengan membuat ProductProvider.php pada direktori src/App/Provider kemudian ProductProvider.php tersebut di "daftarkan" pada file config.php

Kemudian ProductProvider.php tersebut kita extends dengan AppProvider. Contoh dari ProductProvider.php adalah sebagai berikut:

Observer


Observer merupakan sebuah fitur dalam Bono Metronic yang akan dijalankan ketika sebuah data akan dimasukkan atau telah dimasukkan ke dalam database. File Observer sendiri terletak di direktori src/App/Observer. Ada beberapa method yang umumnya dipakai dalam sebuah observer, yakni:

Custom Observer


Untuk membuat Custom Observer, cukup dengan membuat file observer baru di direktori src/App/Observer. Misal ingin membuat sebuah Observer untuk collections Product, maka nama file nya adalah ProductObserver.php dengan namespace App\Observer. Untuk menggunakannya di dalam collections yang bersangkutan, bisa dengan dideklarasikan seperti ini

Middleware


Middleware merupakan sebuah fitur pada Bono Metronic yang memiliki mekanisme untuk mem-filter atau mengawasi berbagai macam aktivitas atau request ke dalam aplikasi. Direktori Middleware pada Bono Metronic terletak di src\App\Middleware. Middleware akan memerika semua proses setelah baris $this->next->call() dari bawah hingga atas. Secara default, Bono Metronic membawa dua Middleware bawaan yang terdapat pada direktori tersebut yakni AuditTrailMiddleware dan MetronicNotification. Berikut Merupakan penjelasan singkat mengenai dua Middleware tersebut:

# AudiTrailMiddleware

Penjelasan : Secara garis besar, AuditTrailMiddleware berfungsi sebagai logging atau mengaudit semua aktivitas user pada saat masuk (mengirim request) ke dalam suatu halaman. Data tersebut diambil mulai dari ID User, URI dari halaman yang diakses, Method yang digunakan, data, IP Address bahkan User Agen (Browser) yang digunakan. Kemudian data tersebut di masukkan ke dalam tabel audit_trail di dalam database. Middleware ini meng extends Middleware milik Slim yang dimana kita harus meng-override function call

# MetronicNotification

Penjelasan : Secara garis besar, NotificationMiddleware bertanggung jawab atas notifikasi yang muncul ketika pengguna memasukkan data baik yang sukses maupun yang tidak. . Middleware ini meng extends NotificationMiddleware dan dimana NotificationMiddleware juga meng extends milik Slim. Disini kita meng-override function show miliki NotificationMiddleware

Custom Middleware


Untuk membuat Custom Middleware, kita cukup membuat file baru pada direktori src/App/Middleware dengan nama misalkan TestMiddleware.php yang memiliki namespace App\Middleware untuk kemudian membuat sebuah class yang meng-extends ke \Slim\Middleware dan wajib meng-override function call().

Setelah membuat file Custom Middleware, file tersebut harus didaftar pada file config.php sepert ini:

Filter


Filter merupakan mekanisme di Bono Metronic dimana berfungsi untuk memfilter atau memvalidasi sebuah HTTP Request yang masuk atau lebih sederhananya sebuah data yang nantinya akan dimasukkan ke dalam database.

# Macam-Macam Filter

Adapun filter yang sering digunakan dalam Bono Metronic antara lain sebagai berikut

Nama Filter Deskripsi
required membuat sebuah data wajib untuk diisi dan tidak boleh kosong
trim menghilangkan karakter berupa whitespace
unique:Table,field Membuat sebuah data menjadi unik pada tabel dan field tertentu
confirmed Biasa digunakan untuk password, memastikan bahwa data yang diinput match
salt Mengubah sebuah data menjadi bentuk terenkripsi

# Tata Cara Penggunaan Filter

Filter erat kaitannya dengan Collections yang dimana pada collections berisi deklarasi schema data apa saja yang akan masuk ke dalam database. Untuk penggunaan filter sendiri adalah dengan cara di "chaining" dan setiap filter dipisahkan dengan character pipe "|" seperti berikut ini:

Register Custom Filter


Selain filter yang disebutkan di atas, Bono Metronic juga dapat membuat Filter secara Custom. Untuk membuat dan Me-Register Custom Filter baru cukup dengan mendaftarkannya pada AppProvider.php tepatnya di dalam function initialize() . Contoh sederhana dalam Register Custom Filter adalah sebagai berikut:

Untuk menggunakan custom_filter yang baru saja kita buat, cukup perlakukan seperti filter lain pada umumnya di collections seperti ini:


All versions of bono-metronic-template with dependencies

PHP Build Version
Package Version
Requires reekoheek/norm-fdb Version dev-master
xinix-technology/bono Version 1.0.*
xinix-technology/norm Version 1.8.*
xinix-technology/migrate Version ~0.1.0
xinix-technology/bono-auth Version 1.0.3
xinix-technology/bono-blade Version ~1.0.0
xinix-technology/metronic-theme Version ~8.0.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package xinix-technology/bono-metronic-template contains the following files

Loading the files please wait ....