romanpitak / nginx-config-processor
Nginx configuration files processor.
Installs: 32 029
Dependents: 1
Suggesters: 0
Security: 0
Stars: 70
Watchers: 12
Forks: 28
Open Issues: 9
Requires
- php: >=5.3.3
Requires (Dev)
- codacy/coverage: dev-master
- codeclimate/php-test-reporter: dev-master
This package is not auto-updated.
Last update: 2024-11-12 01:22:21 UTC
README
(c) 2014-2016 Roman Piták roman@pitak.net
PHP Nginx configuration files processor (parser, creator).
Installation
The best way to install is to use the Composer dependency manager.
php composer.phar require romanpitak/nginx-config-processor
Features
Pretty Print
<?php Scope::fromFile('m1.conf')->saveToFile('out.conf');
Config Create
<?php Scope::create() ->addDirective(Directive::create('server') ->setChildScope(Scope::create() ->addDirective(Directive::create('listen', 8080)) ->addDirective(Directive::create('server_name', 'example.net')) ->addDirective(Directive::create('root', 'C:/www/example_net')) ->addDirective(Directive::create('location', '^~ /var/', Scope::create() ->addDirective(Directive::create('deny', 'all')) )->setCommentText('Deny access for location /var/') ) ) ) ->saveToFile('example.net');
File example.net:
server { listen 8080; server_name example.net; root C:/www/example_net; location ^~ /var/ { # Deny access for location /var/ deny all; } }
Comments handling
Simple comments
<?php echo new Comment("This is a simple comment.");
output:
# This is a simple comment.
Multi-line comments
<?php echo new Comment("This \nis \r\na multi line " . PHP_EOL . "comment.");
output:
# This # is # a multi # line # comment.
Directive with a simple comment
<?php echo Directive::create('deny', 'all')->setCommentText('Directive with a comment');
output:
deny all; # Directive with a comment
Directive with a multi-line comment
<?php echo Directive::create('deny', 'all')->setCommentText('Directive with a multi line comment');
output:
# Directive # with a multi line comment deny all;