campusunion / sked
开源 PHP 日历库
v0.0.26
2016-11-04 02:18 UTC
Requires
- php: >=7.0
- nesbot/carbon: ~1.20
README
开源 PHP 日历库。
安装与设置
首先,在您的数据库上运行 SQL 创建语句
sql/create.sked_events.sql
sql/create.sked_event_members.sql
sql/create.sked_event_tags.sql
然后,使用数据连接凭证在您的代码中实例化 Sked
$sked = new \CampusUnion\Sked([ 'data_connection' => [ 'name' => 'PDO', 'options' => [ 'driver' => 'mysql', 'host' => 'localhost', 'dbname' => 'homestead', 'user' => 'homestead', 'pass' => 'secret', ], ], ]);
基本用法
事件表单
echo $sked->form();
将事件保存到数据库
$sked->save(new SkeVent($_POST));
通过迭代指定日期范围来构建自定义日历
foreach ($sked->skeDates('2016-08-05', '2016-09-21')) { // do something awesome }
SkeDate 对象
SkeDate
对象对于在您的日历 UI 中填充特定日期非常有用。
使用 format()
方法打印日期,该方法接受一个格式化字符串作为可选参数(有关 PHP 的 date
函数的格式化选项,请参阅 格式化选项)
echo $skeDate->format('j'); // default format is 'Y-m-d' (e.g., 2016-08-05)
然后您可以遍历其事件
foreach ($skeDate->skeVents(/* Optionally pass a user ID to get events for a certain user. */)) { // do something awesome }
SkeVent 对象
SkeVent
对象允许轻松访问和操作事件。
作为属性检索任何数据库字段(请参阅 SQL 查询)
echo $skeVent->label;
使用 time()
方法打印事件时间,该方法接受一个格式化字符串作为可选参数(有关 PHP 的 date
函数的格式化选项,请参阅 格式化选项)
echo $skeVent->time('Hi'); // default format is 'g:ia' (e.g., 2:15pm)
SkeVent::time()
接受一个用于时区调整的第二个可选参数。要将事件的时间调整到特定时区,只需传递时区偏移整数即可
echo $skeVent->time(null, -5); // outputs the time adjusted for US Eastern Standard time
更基本的用法
对于即时、非自定义的事件表单,请使用神奇的 skeDoosh()
方法。唯一需要的配置是数据存储的连接参数。从您要显示 HTML 表单的确切位置调用 skeDoosh()
Sked::skeDoosh([ 'data_connector' => [ 'name' => 'PDO', 'options' => [ 'driver' => 'mysql', 'host' => 'localhost', 'dbname' => 'homestead', 'user' => 'homestead', 'pass' => 'secret', ], ], ]);