joseki/file-template

PhpStorm FileTemplate generator for Nette Framework application using Symfony/Console.

v0.2.5 2016-10-15 12:22 UTC

This package is auto-updated.

Last update: 2024-04-05 19:51:36 UTC


README

Build Status Latest Stable Version

Requirements

Joseki/FileTemplate requires PHP 5.4 or higher.

Installation

The best way to install Joseki/FileTemplate is using Composer:

$ composer require joseki/file-template

Register compiler extension in your config.neon:

extensions:
  FileTemplate: Joseki\FileTemplate\DI\FileTemplateExtension

Example

Add the following to your config.neon:

extensions:
  FileTemplate: Joseki\FileTemplate\DI\FileTemplateExtension

FileTemplate:
  # root dir for new files
  rootDir: '%appDir%' # [OPTIONAL], %appDir% is default

  # list of file templates groups
  commands:
    example1: # group name used in command line
      variables: ['CONTROL', 'NAMESPACE']
      templates:
        CONTROL_FILE: '%appDir%/templates/control.txt'
        FACTORY_FILE: '%appDir%/templates/factory.txt'
        TEMPLATE_FILE: '%appDir%/templates/template.txt'
      defaults: # [OPTIONAL] default values for variables
        CONTROL_FILE: '${CONTROL}.php'
        FACTORY_FILE: '${CONTROL}Factory.php'
        TEMPLATE_FILE: template.latte

Running a console command

app/console joseki:file-template COMMAND [--dir=RELATIVE_DIRECTORY]

for example:

app/console joseki:file-template example1

Suppose that variables ${CONTROL} = Hello and ${NAMESPACE} = Foo, then the previous command will create these files:

  • %appDir%/Foo/Hello.php
  • %appDir%/Foo/HelloFactory.php
  • %appDir%/Foo/template.latte

and when a directory is specified:

app/console joseki:file-template example1 --dir=MyApplication/Auth

...these files will be created:

  • %appDir%/MyApplication/Auth/Hello.php
  • %appDir%/MyApplication/Auth/HelloFactory.php
  • %appDir%/MyApplication/Auth/template.latte

NOTE: you will be prompted to define your file template variables

NOTE: this extension should be compatible with Joseki/Console and Kdyby/Console.