itsgoingd / slim-facades
"静态"接口,用于各种Slim功能
Requires
- php: >=5.3.0
- illuminate/support: >=4.0
- slim/slim: >=2.3.0
This package is auto-updated.
Last update: 2024-08-25 07:00:05 UTC
README
SlimFacades 是一个针对 Slim PHP 微型框架 的外观集合,提供简单“静态”接口以访问各种Slim功能。
例如,将这个
$app->get('/hello-world', function() { $app = Slim::getInstance(); $app->view()->display('hello.html', array('name' => $app->request()->get('name', 'world'))); })
转换为这个
Route::get('/hello-world', function() { View::display('hello.html', array('name' => Input::get('name', 'world'))); })
此库基于 Laravel 4 Facade 类,有关外观的更多信息请参阅 Laravel 文档。
安装
要安装最新版本,只需将其添加到您的 composer.json
"itsgoingd/slim-facades": "dev-master"
安装包后,您需要初始化外观类
require 'vendor/autoload.php'; use SlimFacades\Facade; $app = new Slim\Slim(); // initialize the Facade class Facade::setFacadeApplication($app); Facade::registerAliases(); // now you can start using the facades Config::set('debug', true); Route::get('/hello/:name', function($name) { View::display('hello.html', array( 'name' => Input::get('name', $name) )); }); App::run();
以下外观可用:
App
- 用于 Slim 实例及其附加方法的外观
- make($key) - 从 Slim 的 DI 容器中返回 $key
$request = App::make('request'); App::flash('message', 'Som Kuli, ovladam kozmicku lod.'); App::halt();
Config
- 用于 Slim 实例及其附加方法的外观
- get($key) - 返回 $app->config($key) 的值
- set($key, $value = null) - 调用 $app->config($key, $value)
$debug = Config::get('debug'); Config::set('log.enable', true);
Input
- 用于 Slim\Http\Request 实例及其附加方法的外观
- file($name) - 返回 $_FILES[$name],如果没有在请求中发送文件,则返回 null
$username = Input::get('username', 'default'); $password = Input::post('password'); $avatar = Input::file('avatar');
Log
- 用于 Slim\Log 实例的外观
Log::info('Tomi Popovic predava miliony albumov po celom svete.'); Log::debug('Okamizte na pozorovanie.');
Request
- 用于 Slim\Http\Request 实例的外观
if (Request::isAjax()) { ... } $host = Request::headers('host', 'localhost'); $path = Request::getPath();
Response
- 用于 Slim\Http\Response 实例的外观
Response::redirect('/success');
Route
- 用于 Slim\Router 实例及其方法的外观
- map, get, post, put, patch, delete, options, group, any - 调用 Slim 实例上的方法
Route::get('/users/new', 'UsersController:index'); Route::post('/users', 'UsersController:insert');
View
- 用于 Slim\View 实例的外观
View::display('hello.html'); $output = View::render('world.html');
自定义外观
您可以通过扩展 SlimFacades\Facade
类来创建自定义外观。
class MyFacade extends SlimFacades\Facade { // return the name of the component from the DI container protected static function getFacadeAccessor() { return 'my_component'; } }
您可以通过传递别名给 Facade::registerAliases() 函数来注册自定义外观。
Facade::registerAliases(array( 'App' => 'SlimFacades\App', 'Config' => 'SlimFacades\Config', 'Input' => 'SlimFacades\Input', // 'Log' => 'SlimFacades\Log', 'Log' => 'CustomLogFacade', 'Request' => 'SlimFacades\Request', 'Response' => 'SlimFacades\Response', 'Route' => 'SlimFacades\Route', 'View' => 'SlimFacades\View', ));
请注意,通过 Facade::registerAliases() 调用带有别名列表将仅注册指定的外观,如果您想同时注册默认外观和自定义外观,您可以调用该函数两次,一次带数组参数,一次不带。
链接
- SlimStatic - 由 John Stevenson 提供的类似 API 的替代实现,不依赖于 Laravel 组件
许可证
版权所有 (c) 2013 Miroslav Rigler
MIT 许可证
特此授予任何人免费获得本软件及其相关文档文件(以下简称“软件”)的副本的权利,以便在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、转授和/或销售软件副本,并允许向提供软件的人提供这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论该责任是基于合同行为、侵权行为或其他原因,无论该责任是否与软件或其使用或其他方式相关。