8fold/php-eventbrite-sdk

该包已被废弃且不再维护。未建议替代包。

比官方Eventbrite SDK for PHP更容易且更完整的工具。

1.0.0 2017-04-30 16:47 UTC

This package is auto-updated.

Last update: 2023-01-29 21:06:15 UTC


README

警告:我正在重新设计这个库的架构。我认为抽象已经到了让许多开发者难以理解的程度,这可能会发生(过于抽象,不够具体,难以快速掌握)。一些巧妙的设计可能会值得保留,但我认为使事物更具体、更直接也是值得的。如果您有任何建议或贡献,请随时提供。同时,我正在努力创建单元测试,因为我暂时离开去开发8fold的其他项目,当我回来时,我完全不知道这个库是如何工作的。 :) 这可不是什么好兆头。

8fold的Eventbrite SDK旨在为Eventbrite API的版本3提供一个简单而完整的包装。

注意:Eventbrite有一个同名的官方SDK。

设计考虑

  • 约定优于配置:当模式出现时,将其提升为更高级的对象和方法,以便您无需填写大量方法参数即可使用库。
  • 只在必要时调用:API有一个节流(在特定时间段内可以执行的最大调用次数);因此,库通过在本地缓存值来最小化调用次数。是否再次调用API将由您,即开发者来决定。

Composer安装

"require": {
 "8fold/eventbrite-sdk-php": "*"
}

概览

此库旨在在定义每个类定义中包含的内容时反映Eventbrite API文档。例如

// to get all the organizers
GET /users/:id/organizers/

// to get all the events owned by the user
GET /users/:id/owned_events

转换为

// creates an Organization object
$eb = Eventbrite::setAuthToken(YOUR_AUTH_TOKEN, true);

// to get all the organizers
$eb->user->organizers

// to get all the events owned by the user
$eb->user->events;

事件详细信息

POST /events/

// TODO: Verify
$event = new Event();
$event->name_html      = 'Hello world!';
$event->start_utc      = '2017-01-01T01:00:00Z';
$event->start_timezone = 'America/New York';
$event->end_utc        = '2017-01-02T01:00:00Z';
$event->end_timezone   = 'America/New York';
$event->currencty      = 'USD';
$event->save();

GET /events/:id/

$event = Event::find(Eventbrite, :id);

POST /events/:id/

注意:Eventbrite目前不支持PATCH或PUT;但是,SDK只传输自上次保存以来更改的属性。如果您从未保存,您不会影响Eventbrite存储的事件。

$event = Event::find(Eventbrite, :id);
$event->name_html = 'Oh, hi Mark.';
$event->save();

门票类别

GET /events/:id/ticket_classes/

$event = Event::find(Eventbrite, :id);
$ticketClasses = $event->ticketClasses;

POST /events/:id/ticket_classes/

$event = Event::find(Eventbrite, :id);
$ticket_classes = $event->ticketClasses;

GET /events/:id/ticket_classes/:ticket_class_id/

$event = Event::find(Eventbrite, :id);
$ticketClass = $event->ticketClassWithId(:ticket_class_id);

// OR

$ticketClass = TicketClass::find($event, :ticket_class_id);

POST /events/:id/ticket_classes/:ticket_class_id/

$event = Event::find(Eventbrite, :id);
$ticket_classes = $event->ticket_classes;
$ticketClass = $ticket_classes[0];
$ticketClass->cost = 2000; // USD only right now
$ticketClass->save();

折扣

GET /events/:id/discounts/

$event = Event::find(Eventbrite, :id);
$discounts = $event->discounts;

GET /events/:id/discounts/:discount_id/

$event = Event::find(Eventbrite, :id);
$discount = $event->ticketClassWithId(:discount_id);

// OR

$discount = TicketClass::find($event, :discount_id);

显示设置

GET /events/:id/display_settings/

$event = Event::find(Eventbrite, :id);
$displaySettings = $event->display_settings;

访问代码

GET /events/:id/access_codes/

$event = Event::find(Eventbrite, :id);
$accessCodes = $event->access_codes;

参与者

GET /events/:id/attendees/

$event = Event::find(Eventbrite, :id);
$attendees = $event->attendees;

事件待办事项

GET /events/search/

POST /events/:id/publish/

POST /events/:id/unpublish/

POST /events/:id/cancel/

DELETE /events/:id/

POST /events/:id/display_settings/

DELETE /events/:id/ticket_classes/:ticket_class_id/

GET /events/:id/canned_questions/

GET /events/:id/questions/

GET /events/:id/questions/:id/

GET /events/:id/attendees/:attendee_id/

GET /events/:id/orders/

POST /events/:id/discounts/

POST /events/:id/discounts/:discount_id/

GET /events/:id/public_discounts/

POST /events/:id/public_discounts/

GET /events/:id/public_discounts/:discount_id/

POST /events/:id/public_discounts/:discount_id/

DELETE /events/:id/public_discounts/:discount_id/

POST /events/:id/access_codes/

GET /events/:id/access_codes/:access_code_id/

POST /events/:id/access_codes/:access_code_id/

GET /events/:id/transfers/

GET /events/:id/teams/

GET /events/:id/teams/:id/

GET /events/:id/teams/:id/attendees/