Skip to content

anggagewor/php-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧰 PHP Tools

Kumpulan tool CLI pribadi yang dibuat untuk bantu development PHP, Laravel, dan ekosistemnya. Directory ini bisa lo clone/maintain di luar project Laravel utama biar tetap terorganisir.


📁 Struktur Folder

php-tools/
├── bin/console            # Entry point CLI (Symfony Console)
├── composer.json          # Autoload & dependency management
├── phpstan.neon           # Config PHPStan custom
├── stubs/command.stub     # Template command generator
├── src/Commands/          # Semua custom command disimpan di sini
└── vendor/                # Composer dependencies

⚙️ Setup

composer install

Atau kalau baru inisialisasi:

composer init

🚀 CLI Tools

Jalankan:

php bin/console

✨ Contoh Command:

Command Keterangan
hello Sample command
make:command Generate command baru pakai stub

🛠 Generate Command Baru

php bin/console make:command ToolPingCommand tool:ping "Ping the system"

Akan membuat file:

src/Commands/ToolPingCommand.php

Isi class diambil dari stubs/command.stub.

✨ Command akan auto-terdaftar

Selama class punya attribute #[AsCommand(...)], lo gak perlu register manual.


🥪 Tujuan Directory Ini

  • Simpan tool seperti:

    • phpstan, pint, csfixer, dsb
    • Script helper (convertor, scanner, CLI task)
  • Bisa direuse lintas project tanpa re-setup

  • Terpisah dari project Laravel utama


📜 Composer Scripts

Shortcut untuk tools via composer.json:

"scripts": {
    "stan": "phpstan analyse"
}

Lalu jalankan:

composer stan

✅ Todo

  • Auto-register Symfony command via attribute
  • Stub-based command generator (make:command)
  • --force untuk overwrite command
  • Mode interaktif make:command
  • Tambah tools lain (tester, faker, dsb)

Happy hacking with PHP! 🐘

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages