public function persist($document)
    {
        if (!is_object($document)) {
            throw new \InvalidArgumentException(gettype($document));
        }
        $this->errorIfClosed();
        $this->unitOfWork->persist($document);
    }
public function persist($document)
    {
        if (!is_object($document)) {
            throw new \InvalidArgumentException(gettype($document));
        }
        $this->errorIfClosed();
        $this->unitOfWork->persist($document);
    }
public function persist ( $ document ) { if ( ! is_object ( $ document ) ) { throw new \ InvalidArgumentException ( gettype ( $ document ) ) ; } $ this -> errorIfClosed ( ) ; $ this -> unitOfWork -> persist ( $ document ) ; }
Tells the DocumentManager to make an instance managed and persistent.

The document will be entered into the database at or before transaction
commit or as a result of the flush operation.

NOTE: The persist operation always considers documents that are not yet known to
this DocumentManager as NEW. Do not pass detached documents to the persist operation.

@param object $document The instance to make managed and persistent.

@throws \InvalidArgumentException When the given $document param is not an object
Tells the DocumentManager to make an instance managed and persistent .