jsila/animate

围绕 Animate.css 的简单 PHP 包装器

0.1.0 2014-06-04 10:50 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:05:07 UTC


README

这是一个围绕 Animate.css 的简单 PHP 包装器。它根据你指定为 Animate 类实例方法的动画生成一系列类。有关所有动画,请参阅 Animate.css 的 GitHub 页面

安装

您可以通过在您的 composer.json 中包含以下内容来通过 Composer 安装此软件包

{
    "require": {
        "jsila/animate": "0.1.0"
    }
}

它依赖于 php>=5.4Animate.css

Laravel 4

如果您正在使用 Laravel 4,您还可以注册 AnimateServiceProvider 以更容易地与框架集成。

为此,只需更新您的 app/config/app.php 中的 providers 数组

    'providers' => array(
        //...
        'JSila\Animate\AnimateServiceProvider'
    ),

AnimateServiceProvider 还将为 Animate 门面添加别名。

与 Laravel 一起使用

例如,如果您想使用 zoomIn 动画(输出将为 animated zoomIn),您将得到如下所示

    Animate::zoomIn();

您还可以在生成特定动画的类字符串时提供选项。这些选项包括

$options = [
    'infinite', // boolean
    'duration', // string
    'delay', // string
    'direction', // string
    'iteration-count' // int
];

请注意,最后四个选项是 CSS3 animations 属性,因此请指定相应的值。

每个选项都将向类字符串添加另一个类。一些类已在 Animate.css 中定义,一些是动态生成的,并且可以从指向 CSS 的 URL 访问。

例如,如果您想使 zoomIn 动画无限期运行并延迟 0.2 秒,则此代码将有效

    Animate::zoomIn(['infinite' => true, 'delay' => '.2s']);

如果您使用 Laravel 4,则该 CSS URL 默认为 /css/animate_custom_classes.css(您可以更改它,只需发布软件包配置即可)。

作为独立组件使用

动态创建的类存储在会话变量 classes 中。您首先需要实现 JSila\Animate\SessionInterface 接口,该接口是 JSila\Animate\Animate 类的依赖项(例如 MySession)。

然后您还需要生成 CSS 响应。JSila\Animate\Animate 类提供了一个 generateCSS 方法,该方法生成类的 CSS 字符串,但不起作用作为响应。

独立示例

$animate = new JSila\Animate\Animate(new Acme\Animate\Session\MySession); // this assumes MySession class is saved in Acme/Animate/Session
$animate->zoomIn(['infinite' => true, 'delay' => '.2s']);