radmen/fatso

此包已被弃用且不再维护。未建议替代包。

Silex 的胖表亲

dev-master 2012-12-12 22:18 UTC

This package is auto-updated.

Last update: 2019-02-20 19:30:33 UTC


README

Silex 是一个优秀的微框架,但有时它可能过于简单。Fatso 是它的胖表亲。
它提供了一些非常简单、基本类,并自动化了一些事情。

Fatso 可以

  • 根据主机名检测环境
  • 加载配置文件(纯PHP数组或YAML)并将其与它们的env变体合并
  • 执行Silex提供者的简单引导
  • 从配置文件中加载路由

Fatso 很丑。

Fast类概述

TL;DR - 跳转到: 演示

配置

配置从 $app['config.dir'] 路径加载文件。
它还使用环境名称将基本配置与其环境变体合并。

配置可以加载PHP或YML文件。

示例

config/foo.yml:

foo:
	name: bar
	env: null

config/foo_dev.php:

<?php
return array(
  'foo' => array(
    'env' => 'dev',
  ),
);
$config = $app['config']->get('foo');
/*
$config = array(
  'foo' => array(
    'name' => 'bar',
    'env' => 'dev',
  ),
);
 */

环境

根据主机名执行简单的环境检测。
在运行之前,必须设置环境变量 $app['env.host']

$app['env']->get(); // return current env name or NULL if not detected
$app['env']->getEnvironments(); // returns list of declared environments.

环境在名为 env 的配置文件中定义

dev: /\.local\.com$/
prod: //

引导

引导负责环境检测、Silex提供者注册和路由注册。

路由在名为 routing 的配置文件中定义

<?php
return array(
  'main' => array(
    'pattern' => '/',
    'controller' => 'App:Main:index', // resolves to: \App\Controller\Main::index
    'method' => 'get', // can be set to: GET, POST, PUT, DELETE, or MATCH. Default is GET
  ),
);

要在配置目录中注册某些提供者,必须创建名为 bootstrap 的文件夹,其中包含提供者的配置文件。

示例提供者配置文件

\Silex\Provider\TwigServiceProvider:
  twig.path: 'view/'

Fatso-skeleton

还有一个示例 Fatso骨架,您可以查看它以了解Fatso是如何工作的。