承接 inisiatif/common 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

inisiatif/common

最新稳定版本:3.0.0

Composer 安装命令:

composer require inisiatif/common

包简介

Common package using in Inisiatif Zakat Indonesia

README 文档

README

Common package yang digunakan di Inisiatif Zakat Indonesia.

Requirements

  • PHP 8.2, 8.3, atau 8.4
  • Laravel 10.x, 11.x, atau 12.x

Installation

composer require inisiatif/common

Configuration

Package ini akan otomatis register service provider melalui Laravel package discovery.

Publish Configuration (Optional)

php artisan vendor:publish --provider="Inisiatif\Package\Common\Providers\CommonServiceProvider"

Environment Variables

Variable Default Description
COMMON_BRANCH_TABLE_NAME branches Nama tabel untuk model Branch

Features

Models

Branch

Model untuk menyimpan data cabang/branch.

use Inisiatif\Package\Common\Models\Branch;

$branch = Branch::find($id);

Concerns (Traits)

UuidPrimaryKey

Trait untuk menggunakan UUID sebagai primary key.

use Inisiatif\Package\Common\Concerns\UuidPrimaryKey;

class MyModel extends Model
{
    use UuidPrimaryKey;
}

IntegerPrimaryKey

Trait untuk model dengan integer primary key.

HasBranch

Trait untuk model yang memiliki relasi ke Branch.

use Inisiatif\Package\Common\Concerns\HasBranch;

class MyModel extends Model
{
    use HasBranch;
}

TaggableCacheAware

Trait untuk repository yang membutuhkan cache dengan tagging.

EloquentAwareRepository

Trait untuk repository pattern dengan Eloquent.

Contracts (Interfaces)

Interface Description
ResourceInterface Marker interface untuk model/resource
ModelRepositoryInterface Interface untuk operasi repository model
EloquentAwareRepositoryInterface Interface untuk repository dengan Eloquent
TaggableCacheAwareInterface Interface untuk cache-aware repositories
HasBranchInterface Interface untuk model yang memiliki branch
Notable Interface untuk model yang dapat memiliki catatan

Abstract Classes

AbstractRepository

Base class untuk implementasi repository pattern.

use Inisiatif\Package\Common\Abstracts\AbstractRepository;
use Inisiatif\Package\Common\Contracts\ResourceInterface;

class UserRepository extends AbstractRepository
{
    protected $model = User::class;
}

// Model harus implement ResourceInterface
class User extends Model implements ResourceInterface
{
    use UuidPrimaryKey;
}

Exceptions

Exception Description
DomainException Base exception untuk domain errors
DomainActionException Exception untuk action yang tidak valid
DomainModelExistException Exception ketika model sudah ada
DomainModelNotExistException Exception ketika model tidak ditemukan

Migrations

Package ini menyediakan migration untuk tabel branches. Untuk menonaktifkan migration:

use Inisiatif\Package\Common\Common;

// Di AppServiceProvider boot method
Common::ignoreMigrations();

Development

Running Tests

composer test

Static Analysis

composer analyse

Code Formatting

composer format

License

Proprietary - Inisiatif Zakat Indonesia

统计信息

  • 总下载量: 8.94k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2023-06-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固