bitolaco/silex-app

使用单个yaml配置文件快速设置Silex应用

v0.1.5 2015-02-18 11:03 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:36:18 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

本软件包提供了一种通过单个yaml配置文件快速创建Silex应用及其各种服务提供者的方法,并可以根据环境设置不同的配置。

它默认使用Eloquent而不是Doctrine,因为我们认为添加ORM是一种升级!

文档即将发布!

用法

<?php
require_once dirname(__FILE__) . '/vendor/autoload.php';
$app = \BitolaCo\Silex\App::setup("config.yml");
$app->run();
debug: false
eloquent:
    connection:
    connections:
        default:
            driver: mysql
            host: localhost
            database: test
            username: root
            password:
            charset: utf8
            prefix:
            collation: utf8_unicode_ci
            logging:
    cache:
monolog:
    logfile: application.log
    bubble: true
    permission: null
    level: DEBUG|INFO|WARNING|ERROR
    name: MySilexApp
swiftmailer:
    options:
        host: localhost
        port: 25
        username:
        password:
        encryption:
        auth_mode:
translator:
session:
cache:
twig:
routes:
  someName:
    path: /
    defaults:
      _controller: Foo::bar
  _demo:
    path: /demo/{id}
    defaults:
      _controller: Foo::bar
    requirements:
      id: \d+
servers:
  dev:
    - YOUR-MACHINE-NAME
environments:
  dev:
    debug: true
    monolog: development.log

服务提供者

以下服务提供者目前受支持,还有更多即将推出。

  • Eloquent
  • Monolog
  • Swiftmailer
  • 翻译器
  • 会话
  • Twig
  • 缓存

Monolog

有关monolog参数及其含义的信息,请参阅此处。它是对那里参数的一对一直接编译。

如果您正在设置level参数,请确保您使用的是字符串(如"INFO"),而不是PHP常量(如Logger::INFO),因为常量将不起作用。

环境

主配置键servers允许您设置定义环境。键是环境的名称,值是该环境中包含的主机名数组。

使用此选项后,您可以通过在环境[]对象中定义变量来覆盖默认配置。

例如,如果您想在本地机器上进行调试,该机器的主机名为dev-machine,您可以设置如下

debug: false
servers:
	dev:
		- dev-machine
environment:
	dev:
		debug: true

在生产设置中(即任何没有主机名为dev-machine的服务器上,调试将关闭,但在您的本地开发机器上,它将开启。

机器可以分配多个环境,最后一个环境变量将覆盖所有之前的变量。

路由

在配置yaml文件中,路由部分的使用如下

routes:
	someName:
    	path: /
    	defaults:
      		_controller: Foo::bar
	_demo:
    	path: /demo/{id}
    	defaults:
      		_controller: Foo::bar
    	requirements:
      		id: \d+