PHPackages                             superframework/superframework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. superframework/superframework

ActiveProject[Framework](/categories/framework)

superframework/superframework
=============================

The super fastest framework ever for scalable project

v4.1.0(2mo ago)151962MITPHPPHP ^8.0

Since Oct 10Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/crudbooster/superframework)[ Packagist](https://packagist.org/packages/superframework/superframework)[ RSS](/packages/superframework-superframework/feed)WikiDiscussions v4.0 Synced 1w ago

READMEChangelog (10)Dependencies (5)Versions (26)Used By (0)

Super Framework
===============

[](#super-framework)

The lightweight and fastest PHP framework from the creator of CRUDBooster

Why Super Framework?
====================

[](#why-super-framework)

Kita mengadopsi beberapa pola pada framework laravel dan sekaligus merangkum apa saja yang paling essensial (terutama bagi kami) dalam development web. Sehingga kami dapat memaksimalkan performa kecepatan dari framework ini.

Daftar Isi
==========

[](#daftar-isi)

- [Instalasi](#instalasi)
- [Memulai](#memulai)
    - [Konfigurasi Environment](#konfigurasi-environment-env)
    - [Struktur Folder](#struktur-folder)
- [Controller &amp; Routing](#controller--routing)
    - [Membuat Controller](#membuat-controller)
    - [Routing](#routing)
        - [Routing Class](#routing-class)
        - [Routing Method](#routing-method)
        - [Routing Argument](#routing-dengan-argument)
- [CLI](#cli-super)
- [File System](#file-system)
- [Session](#session)
- [Cache](#cache)
- [Request](#request)
- [Response](#response)
- [Validation](#validation)
- [Database ORM / Query Builder](#database-orm)
- [Helper](#helper)
- [Collection](#collection)
- [Firebase Cloud Message](#firebase-cloud-message-fcm)
- [MRS Pattern](#model-repository-service)
- [Cron Job / Scheduler](#cron-job--scheduler)
- [Useful Libraries](#useful-libraries)
- [Contact](#contact)

Instalasi
=========

[](#instalasi)

### Syarat Kebutuhan Sistem

[](#syarat-kebutuhan-sistem)

Sebelum melakukan instalasi pastikan sistem Anda sudah memenuhi persyaratan berikut ini:

- php 7.3 &gt;= | 7.4 &gt;=
- Web server Apache / Nginx
- MySQL / MariaDB / Postgre / SQL Server / SQLite
- Composer
- PDO

### Opsional, namun direkomendasikan :

[](#opsional-namun-direkomendasikan-)

- php Zend OPCache Extension

### Perintah Instalasi

[](#perintah-instalasi)

Buka terminal / command prompt pada folder yang telah Anda siapkan, dan jalankan perintah berikut:

```
$ composer create-project superframework/superframework my_new_super
```

Jika kamu mengalami kegagalan instalasi karena issue `platform checking` php version tidak sesuai padahal php kamu sudah kompatibel. Kamu bisa tambahkan parameter `--ignore-platform-reqs`

```
$ composer create-project superframework/superframework my_new_super --ignore-platform-reqs
```

[\[↑ Kembali ke daftar isi ↑\]](#daftar-isi)

Memulai
=======

[](#memulai)

Konfigurasi Environment (.env)
------------------------------

[](#konfigurasi-environment-env)

Silahkan copy file `.env.example` menjadi `.env`. Apabila OS Anda tidak dapat melakukannya, Anda dapat menggunakan perintah :

```
$ cp .env.example .env
```

Kemudian atur file .env tersebut.

```
# Bagian ini Anda dapat menggantinya dengan nama proyek
APP_NAME="PHP Super Framework"

# Bagian ini dapat diganti dengan mysql, pgsql, sqlsrv, sqlite
DB_CONNECTION=mysql

# DB_HOST biarkan localhost
DB_HOST=localhost

# DB_PORT sesuaikan dengan port servis database Anda, untuk mySQL defaultnya adalah 3306
DB_PORT=3306

# DB_DATABASE isi dengan nama database proyek Anda
DB_DATABASE=super

# DB_USERNAME isi dengan user database
DB_USERNAME=root

# DB_PASSWORD isi dengan password database
DB_PASSWORD=

# Apabila Anda ingin error ditampilkan pada browser, maka isi nilai berikut dengan true
DISPLAY_ERRORS=false

# Apabila Anda ingin merekam setiap kejadian error pada siste,
# maka isi nilai berikut dengan true. Maka nanti ketika terjadi error tersimpan pada folder /logs
LOGGING_ERRORS=false
```

[\[↑ Kembali ke daftar isi ↑\]](#daftar-isi)

Struktur Folder
---------------

[](#struktur-folder)

Sebelum Anda lanjut membuat aplikasi dengan framework ini, Anda perlu mengerti terlebih dahulu struktur folder pada framework SuperFramework ini.

```
/app
    /Helpers
    /Lang
    /Migrations
    /Models
    /Modules
/bootstrap
/configs
/logs
/public
/tasks
/vendor
```

[\[↑ Kembali ke daftar isi ↑\]](#daftar-isi)

### /app

[](#app)

Folder `app` berisi bisnis logika pada aplikasi Anda. Disini akan berisi semua file controller, helper, model, dan lain-lain.

### /bootstrap

[](#bootstrap)

Folder `bootstrap` berisi file cache yang digenerasi oleh sistem. Secara praktik Anda tidak perlu menambah / mengurangi apapun yang telah digenerasi pada folder ini.

### /configs

[](#configs)

Folder `configs` berisi file pengaturan dasar pada aplikasi. Anda dapat menyesuaikan beberapa pengaturan disini, namun beberapa sudah diarahkan ke file `.env`

### /logs

[](#logs)

Folder `logs` berisi file `.log` hasil rekaman kejadian - kejadian pada sistem aplikasi Anda, seperti error dan debug.

### /public

[](#public)

Folder `public` ini digunakan untuk file yang dijalankan pertama kali oleh aplikasi. Berisi file `index.php` serta tempat Anda mengisinya dengan file-file asset css/js.

### /tasks

[](#tasks)

Folder `tasks` ini berisi file schedule yang akan dijalankan pada cronjob. Anda dapat menduplikasi file task yang ada, dan menyesuaikan sesuai kebutuhan cron job yang baru.

### /vendor

[](#vendor)

Folder `vendor` ini berisi berbagai macam library yang dibutuhkan pada sistem framework ini. Anda tidak perlu mengubah / menambahnya secara manual, karena sudah dikontrol dan dimanajemen oleh Composer.

[\[↑ Kembali ke daftar isi ↑\]](#daftar-isi)

Controller &amp; Routing
========================

[](#controller--routing)

Membuat Controller
------------------

[](#membuat-controller)

Buka tool editor favorit Anda, dan buat file pada

```
app/Modules/Main/Controllers/TestController.php
```

Kemudian isikan file controller tersebut dengan format sebagai berikut :

```
