Processes PHP files to static files. If you want to create dynamic PHP templates that compile into a static entity, this is for you.
This plugin requires Grunt ~0.4.2
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-phptpl --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-phptpl');
In your project's Gruntfile, add a section named phptpl
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
phptpl: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
})
You can send some datas to PHP engine. You can access them inside PHP file using $argv
variables: {
options: {
args: ['one', 'two', 'three']
}
},
A single file is processed and written to a single file.
single: {
options: {
},
files: {
'tmp/single.html': ['test/fixtures/single.php'],
}
},
Multiple files are processed, and their outputs are concatenated together into one file.
multiple_concat: {
options: {
},
files: {
'tmp/multiple.html': ['test/fixtures/single.php', 'test/fixtures/single2.php']
}
},
Process multiple files each into their own output file.
multiple_separate: {
options: {
},
files: {
'tmp/multiple_separate/': ['test/fixtures/single.php', 'test/fixtures/single2.php']
}
},
Of course, all of the above also works with grunt/glob/minmatch patterns:
multiple_pattern_concat: {
options: {
},
files: {
'tmp/multiple_pattern_concat.html': ['test/fixtures/**/*.php']
}
},
multiple_pattern_separate_hierarchy: {
files: [
{
cwd: 'test/fixtures',
src: '**/*.php',
dest: 'tmp/multiple_pattern_separate_hierarchy/',
ext:'.html',
flatten:false
}
]
},
multiple_pattern_separate_flat: {
files: [
{
cwd: 'test/fixtures',
src: '**/*.php',
dest: 'tmp/multiple_pattern_separate_flat/',
ext:'.html',
flatten:true
}
]
},
multiple_expand_separate: {
files: [
{
expand:true,
cwd: 'test/fixtures',
src: '**/*.php',
dest: 'tmp/multiple_expand_separate',
ext:'.html',
flatten:false
}
]
}
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
0.1.0 Initial release.