本文整理汇总了PHP中Entry::toArray方法的典型用法代码示例。如果您正苦于以下问题:PHP Entry::toArray方法的具体用法?PHP Entry::toArray怎么用?PHP Entry::toArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Entry
的用法示例。
在下文中一共展示了Entry::toArray方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: EntryMapper
/**
* @test
*/
function entryは複数まとめて保存可能()
{
$emapper = new EntryMapper(self::$pdo);
$entry = new Entry();
$entry->author = 'Mr. Dummy';
$entry->title = 'Hello';
$entry->content = 'Hello, World!';
$entry->published = new DateTime();
$entry2 = new Entry();
$entry2->author = 'Mr. Dummy';
$entry2->title = 'Hello2';
$entry2->content = 'Hello, World!2';
$entry2->published = new DateTime();
$emapper->insert(array($entry, $entry2));
$this->assertArrayHasKey('entryId', $entry->toArray());
$this->assertArrayHasKey('entryId', $entry2->toArray());
}
示例2: sync
public function sync($contract_guid)
{
$this->authenticate($contract_guid);
$active_tree = Dropbox::find($contract_guid);
$previous_delta = empty($active_tree->delta) ? null : $active_tree->delta;
$delta_data = $this->active_client->getDelta($previous_delta);
foreach (['has_more', 'cursor', 'entries', 'reset'] as $required_key) {
if (!isset($delta_data[$required_key])) {
return ['success' => false, 'error_message' => 'Missing ' . $required_key];
}
}
if ($delta_data['reset'] && !is_null($previous_delta)) {
// Have yet to encounter a 'reset', documentation suggests it only
// will occur at the initial (null) delta, and if an app folder is
// renamed. Since we're not in an app folder, it shouldn't occur.
//
// That said, if it does occur, we need to know right away!
error_log("DELTA RESET ENCOUNTERED FOR USER " . $contract_guid . " AT DELTA " . $previous_delta . " NEED TO TEST!");
// From documentation:
// https://www.dropbox.com/developers/core/docs#metadata-details
// reset If true, clear your local state before processing the delta
// entries. reset is always true on the initial call to /delta (i.e.
// when no cursor is passed in). Otherwise, it is true in rare
// situations, such as after server or account maintenance, or if a
// user deletes their app folder.
// Supposedly that means we have to reprocess this user's entire
// dropbox account, from scratch. Very scary prospect.
dd("Special case, not yet handled!...");
}
if (count($delta_data['entries']) < 1 && !$delta_data['has_more'] && !$delta_data['reset']) {
$active_tree->delta = $delta_data['cursor'];
$active_tree->save();
return ['success' => true, 'updated' => false];
}
foreach ($delta_data['entries'] as $entry_key => list($entry['original_path'], $entry['update_data'])) {
$entry_altered = false;
$entry_created = false;
$entry_deleted = false;
// Remove attributes we don't track, are deprecated, etc.
unset($delta_data['entries'][$entry_key][1]['thumb_exists'], $delta_data['entries'][$entry_key][1]['revision'], $entry['update_data']['icon'], $entry['update_data']['root'], $entry['update_data']['size'], $entry['update_data']['hash'], $entry['update_data']['thumb_exists'], $entry['update_data']['revision']);
if (is_null($entry['update_data'])) {
$entry_deleted = true;
} elseif ($stored_entry = Entry::where('original_path', '=', $entry['original_path'])->where('dropbox_id', $contract_guid)->first()) {
foreach ($entry['update_data'] as $entry_column => $entry_column_value) {
$stored_column_name = ['rev' => 'rev', 'bytes' => 'bytes', 'modified' => 'service_updated_at', 'client_mtime' => 'client_updated_at', 'path' => 'original_path', 'is_dir' => 'is_dir', 'mime_type' => 'mime_type'][$entry_column];
if ($entry_column_value !== $stored_entry->{$stored_column_name}) {
$stored_entry->{$stored_column_name} = $entry_column_value;
$entry_altered = true;
}
}
} else {
// Path does not exist in the database
$stored_entry = new Entry();
$stored_entry->dropbox_id = $contract_guid;
if ($entry['original_path'] == '/') {
$stored_entry->parent_id = 0;
} else {
$parent_entry = Entry::where('original_path', '=', dirname($entry['original_path']))->where('dropbox_id', $contract_guid)->first();
if (!$parent_entry && dirname($entry['original_path']) == '/') {
// Generate a root since it is not shown in deltas
$parent_entry = new Entry();
$parent_entry->original_path = '/';
$parent_entry->dropbox_id = $contract_guid;
$parent_entry->parent_id = 0;
$parent_entry->rev = '';
$parent_entry->bytes = 0;
$parent_entry->mime_type = '';
$parent_entry->service_updated_at = '';
$parent_entry->client_updated_at = '';
$parent_entry->is_dir = 1;
$parent_entry->save();
}
$stored_entry->parent_id = $parent_entry->id;
}
$stored_entry->original_path = $entry['update_data']['path'];
$stored_entry->rev = $entry['update_data']['rev'];
$stored_entry->bytes = $entry['update_data']['bytes'];
$stored_entry->mime_type = isset($entry['update_data']['mime_type']) ? $entry['update_data']['mime_type'] : '';
$stored_entry->service_updated_at = $entry['update_data']['modified'];
$stored_entry->client_updated_at = isset($entry['update_data']['client_mtime']) ? $entry['update_data']['client_mtime'] : '';
$stored_entry->is_dir = $entry['update_data']['is_dir'];
$entry_created = true;
}
if ($entry_altered || $entry_created) {
$stored_entry->save();
}
if ($entry_created) {
$data = ['action' => 'create', 'entry' => $stored_entry->toArray()];
if (!$stored_entry->is_dir) {
Queue::push('FileHandlerController@create', $data, $this->file_queue_id);
}
}
if ($entry_altered) {
$data = ['action' => 'update', 'entry' => $stored_entry->toArray()];
if (!$stored_entry->is_dir) {
Queue::push('FileHandlerController@update', $data, $this->file_queue_id);
}
}
if ($entry_deleted) {
// TODO: Fire off single-file deletion processing for this file, here
//.........这里部分代码省略.........