owncdn / lib-nginx-config-processor
Nginx configuration files processor.
v0.3.0
2018-11-18 18:06 UTC
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2024-11-19 11:12:28 UTC
README
https://packagist.org/packages/owncdn/lib-nginx-config-processor
(c) 2014-2016 Roman Piták roman@pitak.net
(c) 2016-2017 Peter Cui kuailedeyv@126.com
(c) 2018 Matthew Glinski matt@mglinski.com
PHP Nginx configuration files processor (parser, creator).
Installation
The best way to install is to use the Composer dependency manager.
php composer.phar require owncloud/lib-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;