jsila / animate
围绕 Animate.css 的简单 PHP 包装器
Requires
- php: >=5.3.0
Requires (Dev)
- mockery/mockery: 0.9.1
- phpunit/phpunit: 4.1.1
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.4 和 Animate.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']);