Download the PHP package emsifa/laci without Composer

On this page you can find all versions of the php package emsifa/laci. 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 laci

LaciDB - Flat File JSON DBMS

Build Status License

Overview

LaciDB adalah flat file DBMS dengan format penyimpanan berupa JSON. Karena format JSON, LaciDB bersifat schemaless seperti halnya NoSQL lainnya. Sebuah record dapat memiliki kolom yang berbeda-beda.

Dalam LaciDB tidak ada istilah table, yang ada adalah collection. Collection pada LaciDB mewakili sebuah file yang menyimpan banyak records (dalam format JSON).

Nama 'Laci' sendiri diambil karena fungsi dan prosesnya seperti laci pada meja/lemari. Laci pada meja/lemari umumnya tidak membutuhkan kunci (autentikasi), cukup buka > ambil sesuatu dan|atau taruh sesuatu > tutup. Pada LaciDB pun seperti itu, setiap query akan membuka file > eksekusi query (select|insert|update|delete) > file ditutup. Laci juga seperti yang kita ketahui adalah tempat untuk menaruh barang-barang kecil. Bukan barang-barang besar seperti gudang atau lemari.

Untuk itu LaciDB bukan untuk:

LaciDB dibuat untuk:

Cara Kerja

Cara kerja LaciDB pada dasarnya hanyalah mengalirkan array hasil json_decode kedalam 'pipa-pipa' yang berfungsi sebagai filtering, mapping, sorting, limiting sampai akhirnya hasilnya akan di eksekusi untuk diambil nilainya, diubah nilainya atau dibuang (baca: dihapus).

Berikut penjelasan terkait prosesnya:

Filtering

Untuk melakukan filtering kamu dapat menggunakan method where dan orWhere. Ke2 method tersebut dapat menerima parameter Closure atau beberapa parameter key, operator, value.

Mapping

Mapping digunakan untuk membentuk nilai yang baru pada setiap record yang telah difilter.

Berikut beberapa method untuk mapping record:

map(Closure $mapper)

Untuk mapping records pada collection yang telah difilter.

select(array $columns)

Mapping records untuk mengambil kolom-kolom tertentu saja.

withOne(Collection|Query $relation, $key, $otherKey, $operator, $thisKey)

Untuk mengambil relasi 1:1.

withMany(Collection|Query $relation, $key, $otherKey, $operator, $thisKey)

Untuk mengambil relasi 1:n.

Sorting

Sorting digunakan untuk mengurutkan data yang telah difilter dan dimapping. Untuk melakukan sorting kamu dapat menggunakan method sortBy($key, $ascending). Parameter $key dapat berupa string key/kolom yang ingin diurutkan atau Closure jika ingin mengurutkan berdasarkan nilai yang dikomputasi terlebih dahulu.

Limiting/Taking

Setelah data selesai difilter, dimapping, dan disorting, kamu dapat memotong dan mengambil sebagian data dengan method skip($offset) atau take($limit, $offset).

Executing

Setelah difilter, dimapping, disorting, dan disisihkan, langkah selanjutnya adalah ekseskusi hasilnya.

Berikut beberapa method untuk executing:

get(array $columns = null)

Mengambil kumpulan records pada collection. Jika ingin mengambil kolom tertentu definisikan kolom kedalam array $columns.

first(array $columns = null)

Mengambil (sebuah) record pada collection. Jika ingin mengambil kolom tertentu definisikan kolom kedalam array $columns.

count()

Mengambil banyak data dari collection.

sum($key)

Mengambil total key tertentu pada collection.

avg($key)

Mengambil rata-rata key tertentu pada collection.

min($key)

Mengambil nilai terendah dari key tertentu pada collection.

max($key)

Mengambil nilai tertinggi dari key tertentu pada collection.

lists($key, $resultKey = null)

Mengumpulkan dan mengambil key tertentu kedalam array pada collection.

insert(array $data)

Insert data baru kedalam collection.

inserts(array $listData)

Insert beberapa data baru sekaligus kedalam collection. Note: insert dan inserts tidak dapat dilakukan setelah query di filter atau di mapping.

update(array $newData)

Mengupdate data pada records didalam collection yang difilter dan dimapping.

save()

Sama seperti update. Hanya saja save akan menyimpan record berdasarkan hasil mapping, bukan berdasarkan $newData seperti pada update.

delete()

Menghapus data pada collection yang difilter dan dimapping.

truncate()

Menghapus seluruh data. Tidak membutuhkan filtering dan mapping terlebih dahulu.

Contoh

Inisialisasi

Insert Data

$user akan berupa array seperti ini:

'_id' adalah uniqid()

Find Single Record By ID

Find One

Select All

Update

Return value is count affected records

Delete

Return value is count affected records

Multiple Inserts

Find Where

Operator can be '=', '<', '<=', '>', '>=', 'in', 'not in', 'between', 'match'.

Mengambil Kolom/Key Tertentu

Alias Kolom/Key

Mapping

Sorting

Limit & Offset

Join

Map & Save

Transaction

Macro Query

Macro query memungkinkan kita menambahkan method baru kedalam instance Emsifa\Laci\Collection sehingga dapat kita gunakan berulang-ulang secara lebih fluent.

Sebagai contoh kita ingin mengambil data user yang aktif, jika dengan cara biasa kita dapat melakukan query seperti ini:

Cara seperti diatas jika digunakan berulang-ulang, terkadang kita lupa mengenali user aktif itu yang nilai active-nya 1, atau true, atau 'yes', atau 'YES', atau 'yes', atau 'y', atau 'Y', atau 'Ya', atau 'ya', dsb?

Jadi untuk mempermudahnya, kita dapat menggunakan macro sebagai berikut:

Sehingga kita dapat mengambil user aktif dengan cara seperti ini:

Tampak lebih praktis bukan?


All versions of laci with dependencies

PHP Build Version
Package Version
No informations.
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 emsifa/laci contains the following files

Loading the files please wait ....