Skip to content

Instantly share code, notes, and snippets.

@POMXARK
Last active June 9, 2024 06:28
Show Gist options
  • Save POMXARK/eee9e1ea54e00cf38b98ac7c800223a6 to your computer and use it in GitHub Desktop.
Save POMXARK/eee9e1ea54e00cf38b98ac7c800223a6 to your computer and use it in GitHub Desktop.
phpstorm file templates -> Laravel DDD Domain Service
// app/Repositories/${NAME}Repository
<?php
#parse("PHP File Header.php")
namespace App\Repositories;
class ${NAME}Repository implements ${NAME}RepositoryInterface
{
}
// app/Repositories/${NAME}RepositoryInterface
<?php
#parse("PHP File Header.php")
namespace App\Repositories;
interface ${NAME}RepositoryInterface
{
}
// app/Services/Domains/${NAME}Service
<?php
#parse("PHP File Header.php")
namespace App\Services\Domains;
use App\Repositories\\${NAME}RepositoryInterface;
/**
* @see ${NAME}ServiceTest
*/
readonly class ${NAME}Service
{
public function __construct(private ${NAME}RepositoryInterface ${DS}${NAME.toLowerCase()}Repository)
{
}
}
// tests/App/Services/Domains/${NAME}ServiceTest
<?php
#parse("PHP File Header.php")
namespace Tests\App\Services\Domains;
use PHPUnit\Framework\TestCase;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use PHPUnit\Framework\Attributes\Group;
/**
* @see ${NAME}Service
*/
#[Group('${NAME}Service')]
final class ${NAME}ServiceTest extends TestCase
{
use DatabaseTransactions;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment