Laravel Geliştirici Rehberi: Composer Eklentileri
Bu yazıda, Composer eklentileri kullanarak kendi komutlarınızı nasıl oluşturabileceğinizi ele alacağız. Composer, PHP projelerinin yönetimi için önemli bir araçtır ve doğru kullanıldığında iş akışınızı önemli ölçüde kolaylaştırabilir.
Başlarken
Bir projeye komut eklemek zor görünebilir, ancak Composer eklentilerinin kullanımı aslında oldukça basittir. Ancak başlangıçta bazı adımları dikkate almak gerekiyor. Örneğin, composer.json dosyanızda türü composer-plugin olarak belirlemeniz gerekiyor. Aşağıda bir örneğini görebilirsiniz:
{
"name": "voku/itp-context-commands",
"type": "composer-plugin",
"require": {
"composer-plugin-api": "^2.0"
},
"require-dev": {
"composer/composer": "^2.0"
},
"autoload": {
"psr-4": {
"ItpContextCommands\\": "src/"
}
},
"extra": {
"class": "ItpContextCommands\\Plugin"
}
}
Eklenti Kodları
Örnek bir eklenti kodu şöyle görünüyor:
class Plugin implements PluginInterface, Capable
{
public function activate(Composer $composer, IOInterface $io)
{
// bu alanda hiçbir işlem yapılmaz
}
public function getCapabilities(): array
{
return [CommandProvider::class => ItpContextCommandProvider::class];
}
public function deactivate(Composer $composer, IOInterface $io)
{
// bu alanda hiçbir işlem yapılmaz
}
public function uninstall(Composer $composer, IOInterface $io)
{
// bu alanda hiçbir işlem yapılmaz
}
}
Komut Oluşturma
Artık eklentinizin temellerini oluşturduğunuza göre, gerçek komutları yazmaya geçebiliriz:
use Composer\Command\BaseCommand;
#[AsCommand('itp-context:summarize')]
class SummarizeCommand extends BaseCommand
{
protected function execute(InputInterface $input, OutputInterface $output): int
{
// Gerçek kodu buraya yazın
return Command::SUCCESS;
}
}
Bu komutları composer require ile projenize eklediğinizde, composer itp-context:summarize şeklinde komutları kullanabilirsiniz.
Düşünceleri Genişletmek
PHP ekosistemindeki birçok çözümde bir komut uygulaması bulunmaktadır. Laravel için bu artisan, Symfony için bin/console gibi araçlardır. Bu araçları bir araya getirerek Composer ile tek bir giriş noktasında birleştirmek mümkündür. Bunu gerçekleştirmek için CommandProvider arayüzünü genişletmek ve eklentilere uygulama yöntemleri eklemek gerekir.
Sonuç
Bu yazıda, Composer eklentileri ile PHP projelerinizdeki komutları genişletme konusunda temel bilgiler verdik. Web Geliştirme sürecinde bu tür eklentilerin kullanımı, iş akışınızı kolaylaştırabilir. Herhangi bir sorunuz ya da düşünceniz varsa paylaşmaktan çekinmeyin.
Kaynak: Orijinal Makale


