for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* php-gedcom.
*
* php-gedcom is a library for parsing, manipulating, importing and exporting
* GEDCOM 5.5 files in PHP 5.3+.
* @author Kristopher Wilson <[email protected]>
* @copyright Copyright (c) 2010-2013, Kristopher Wilson
* @license MIT
* @link http://github.com/mrkrstphr/php-gedcom
*/
namespace Gedcom\Parser;
class Obje extends \Gedcom\Parser\Component
{
public static function parse(\Gedcom\Parser $parser)
$record = $parser->getCurrentLineRecord();
$depth = (int) $record[0];
if (isset($record[1])) {
$identifier = $parser->normalizeIdentifier($record[1]);
} else {
$parser->skipToNextLevel($depth);
return null;
}
$obje = new \Gedcom\Record\Obje();
$obje->setId($identifier);
setId()
Gedcom\Record\Obje
__call
If this is a false-positive, you can also ignore this issue in your code via the ignore-call annotation
ignore-call
$obje->/** @scrutinizer ignore-call */
setId($identifier);
$parser->getGedcom()->addObje($obje);
$parser->forward();
while (!$parser->eof()) {
$currentDepth = (int) $record[0];
$recordType = strtoupper(trim($record[1]));
if ($currentDepth <= $depth) {
$parser->back();
break;
switch ($recordType) {
case 'FILE':
$obje->setFile(trim($record[2]));
setFile()
setFile(trim($record[2]));
case 'REFN':
$refn = \Gedcom\Parser\Refn::parse($parser);
$obje->addRefn($refn);
case 'RIN':
$obje->setRin(trim($record[2]));
setRin()
setRin(trim($record[2]));
case 'NOTE':
$note = \Gedcom\Parser\NoteRef::parse($parser);
if ($note) {
$obje->addNote($note);
case 'SOUR':
case 'CHAN':
$chan = \Gedcom\Parser\Chan::parse($parser);
$obje->setChan($chan);
setChan()
setChan($chan);
default:
$parser->logUnhandledRecord(self::class.' @ '.__LINE__);
return $obje;