-
-
Notifications
You must be signed in to change notification settings - Fork 226
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #324 from alcaeus/modernise-project
Modernise project
- Loading branch information
Showing
55 changed files
with
1,035 additions
and
753 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
{ | ||
"active": true, | ||
"name": "Data fixtures", | ||
"slug": "data-fixtures", | ||
"docsSlug": "doctrine-data-fixtures", | ||
"versions": [ | ||
{ | ||
"name": "1.4", | ||
"branchName": "master", | ||
"slug": "latest", | ||
"upcoming": true | ||
}, | ||
{ | ||
"name": "1.3", | ||
"branchName": "1.3", | ||
"slug": "1.3", | ||
"current": true, | ||
"aliases": [ | ||
"current", | ||
"stable" | ||
] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
phpunit.xml | ||
vendor/ | ||
.phpcs-cache | ||
composer.lock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,86 +1,94 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
namespace Doctrine\Common\DataFixtures; | ||
|
||
use Doctrine\Common\DataFixtures\ReferenceRepository; | ||
use BadMethodCallException; | ||
|
||
/** | ||
* Abstract Fixture class helps to manage references | ||
* between fixture classes in order to set relations | ||
* among other fixtures | ||
* | ||
* @author Gediminas Morkevicius <[email protected]> | ||
*/ | ||
abstract class AbstractFixture implements SharedFixtureInterface | ||
{ | ||
/** | ||
* Fixture reference repository | ||
* | ||
* | ||
* @var ReferenceRepository | ||
*/ | ||
protected $referenceRepository; | ||
|
||
/** | ||
* {@inheritdoc} | ||
*/ | ||
public function setReferenceRepository(ReferenceRepository $referenceRepository) | ||
{ | ||
$this->referenceRepository = $referenceRepository; | ||
} | ||
|
||
/** | ||
* Set the reference entry identified by $name | ||
* and referenced to managed $object. If $name | ||
* already is set, it overrides it | ||
* | ||
* | ||
* @see Doctrine\Common\DataFixtures\ReferenceRepository::setReference | ||
* | ||
* @param string $name | ||
* @param object $object - managed object | ||
* @see Doctrine\Common\DataFixtures\ReferenceRepository::setReference | ||
* | ||
* @return void | ||
*/ | ||
public function setReference($name, $object) | ||
{ | ||
$this->referenceRepository->setReference($name, $object); | ||
} | ||
|
||
/** | ||
* Set the reference entry identified by $name | ||
* and referenced to managed $object. If $name | ||
* already is set, it throws a | ||
* already is set, it throws a | ||
* BadMethodCallException exception | ||
* | ||
* | ||
* @see Doctrine\Common\DataFixtures\ReferenceRepository::addReference | ||
* | ||
* @param string $name | ||
* @param object $object - managed object | ||
* @see Doctrine\Common\DataFixtures\ReferenceRepository::addReference | ||
* @throws \BadMethodCallException - if repository already has | ||
* a reference by $name | ||
* | ||
* @return void | ||
* | ||
* @throws BadMethodCallException - if repository already has a reference by $name. | ||
*/ | ||
public function addReference($name, $object) | ||
{ | ||
$this->referenceRepository->addReference($name, $object); | ||
} | ||
|
||
/** | ||
* Loads an object using stored reference | ||
* named by $name | ||
* | ||
* @param string $name | ||
* | ||
* @see Doctrine\Common\DataFixtures\ReferenceRepository::getReference | ||
* | ||
* @param string $name | ||
* | ||
* @return object | ||
*/ | ||
public function getReference($name) | ||
{ | ||
return $this->referenceRepository->getReference($name); | ||
} | ||
|
||
/** | ||
* Check if an object is stored using reference | ||
* named by $name | ||
* | ||
* @param string $name | ||
* | ||
* @see Doctrine\Common\DataFixtures\ReferenceRepository::hasReference | ||
* @return boolean | ||
* | ||
* @param string $name | ||
* | ||
* @return bool | ||
*/ | ||
public function hasReference($name) | ||
{ | ||
|
56 changes: 19 additions & 37 deletions
56
lib/Doctrine/Common/DataFixtures/DependentFixtureInterface.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,19 @@ | ||
<?php | ||
/* | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
* | ||
* This software consists of voluntary contributions made by many individuals | ||
* and is licensed under the MIT license. For more information, see | ||
* <http://www.doctrine-project.org>. | ||
*/ | ||
|
||
namespace Doctrine\Common\DataFixtures; | ||
|
||
/** | ||
* DependentFixtureInterface needs to be implemented | ||
* by fixtures which depend on other fixtures | ||
* | ||
* @author Gustavo Adrian <[email protected]> | ||
*/ | ||
interface DependentFixtureInterface | ||
{ | ||
/** | ||
* This method must return an array of fixtures classes | ||
* on which the implementing class depends on | ||
* | ||
* @return array | ||
*/ | ||
public function getDependencies(); | ||
} | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
namespace Doctrine\Common\DataFixtures; | ||
|
||
/** | ||
* DependentFixtureInterface needs to be implemented by fixtures which depend on other fixtures | ||
*/ | ||
interface DependentFixtureInterface | ||
{ | ||
/** | ||
* This method must return an array of fixtures classes | ||
* on which the implementing class depends on | ||
* | ||
* @return array | ||
*/ | ||
public function getDependencies(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,24 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
namespace Doctrine\Common\DataFixtures\Event\Listener; | ||
|
||
use Doctrine\Common\EventSubscriber; | ||
use Doctrine\Common\DataFixtures\ReferenceRepository; | ||
use Doctrine\Common\EventSubscriber; | ||
use Doctrine\ODM\MongoDB\Event\LifecycleEventArgs; | ||
|
||
/** | ||
* Reference Listener populates identities for | ||
* stored references | ||
* | ||
* @author Gediminas Morkevicius <[email protected]> | ||
*/ | ||
final class MongoDBReferenceListener implements EventSubscriber | ||
{ | ||
/** | ||
* @var ReferenceRepository | ||
*/ | ||
/** @var ReferenceRepository */ | ||
private $referenceRepository; | ||
|
||
/** | ||
* Initialize listener | ||
* | ||
* @param ReferenceRepository $referenceRepository | ||
*/ | ||
public function __construct(ReferenceRepository $referenceRepository) | ||
{ | ||
|
@@ -35,28 +30,27 @@ public function __construct(ReferenceRepository $referenceRepository) | |
*/ | ||
public function getSubscribedEvents() | ||
{ | ||
return [ | ||
'postPersist' | ||
]; | ||
return ['postPersist']; | ||
} | ||
|
||
/** | ||
* Populates identities for stored references | ||
* | ||
* @param LifecycleEventArgs $args | ||
*/ | ||
public function postPersist(LifecycleEventArgs $args) | ||
{ | ||
$object = $args->getDocument(); | ||
|
||
if (($names = $this->referenceRepository->getReferenceNames($object)) !== false) { | ||
foreach ($names as $name) { | ||
$identity = $args->getDocumentManager() | ||
->getUnitOfWork() | ||
->getDocumentIdentifier($object); | ||
$names = $this->referenceRepository->getReferenceNames($object); | ||
if ($names === false) { | ||
return; | ||
} | ||
|
||
foreach ($names as $name) { | ||
$identity = $args->getDocumentManager() | ||
->getUnitOfWork() | ||
->getDocumentIdentifier($object); | ||
|
||
$this->referenceRepository->setReferenceIdentity($name, $identity); | ||
} | ||
$this->referenceRepository->setReferenceIdentity($name, $identity); | ||
} | ||
} | ||
} |
Oops, something went wrong.