Skip to content

Instantly share code, notes, and snippets.

@chriskief
Created October 24, 2013 03:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chriskief/7130750 to your computer and use it in GitHub Desktop.
Save chriskief/7130750 to your computer and use it in GitHub Desktop.
<?php
namespace NewCoInc\AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use NewCoInc\AppBundle\Lib\FormattingLib;
/**
* Blog
*
* @ORM\Table(name="blog")
* @ORM\Entity(repositoryClass="NewCoInc\AppBundle\Entity\BlogRepository")
*/
class Blog
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255, nullable=false)
*/
private $title;
/**
* @ORM\Column(type="string")
*/
private $slug;
/**
* @var string
*
* @ORM\Column(name="author", type="string", length=100, nullable=false)
*/
private $author;
/**
* @var string
*
* @ORM\Column(name="blog", type="text", nullable=false)
*/
private $blog;
/**
* @var string
*
* @ORM\Column(name="image", type="string", length=20, nullable=false)
*/
private $image;
/**
* @var string
*
* @ORM\Column(name="tags", type="text", nullable=false)
*/
private $tags;
/**
* @ORM\OneToMany(targetEntity="Comment", mappedBy="blog")
*/
private $comments;
/**
* @var \DateTime
*
* @ORM\Column(name="created", type="datetime", nullable=false)
*/
private $created;
/**
* @var \DateTime
*
* @ORM\Column(name="updated", type="datetime", nullable=false)
*/
private $updated;
public function __construct()
{
$this->comments = new ArrayCollection();
$this->setCreated(new \DateTime());
$this->setUpdated(new \DateTime());
$this->formatter = new FormattingLib();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set title
*
* @param string $title
* @return Blog
*/
public function setTitle($title)
{
$this->title = $title;
$this->setSlug($this->title);
return $this;
}
/**
* Get title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Set author
*
* @param string $author
* @return Blog
*/
public function setAuthor($author)
{
$this->author = $author;
return $this;
}
/**
* Get author
*
* @return string
*/
public function getAuthor()
{
return $this->author;
}
/**
* Set blog
*
* @param string $blog
* @return Blog
*/
public function setBlog($blog)
{
$this->blog = $blog;
return $this;
}
/**
* Get blog
*
* @return string
*/
public function getBlog()
{
return $this->blog;
}
/**
* Set image
*
* @param string $image
* @return Blog
*/
public function setImage($image)
{
$this->image = $image;
return $this;
}
/**
* Get image
*
* @return string
*/
public function getImage()
{
return $this->image;
}
/**
* Set tags
*
* @param string $tags
* @return Blog
*/
public function setTags($tags)
{
$this->tags = $tags;
return $this;
}
/**
* Get tags
*
* @return string
*/
public function getTags()
{
return $this->tags;
}
/**
* Set created
*
* @param \DateTime $created
* @return Blog
*/
public function setCreated($created)
{
$this->created = $created;
return $this;
}
/**
* Get created
*
* @return \DateTime
*/
public function getCreated()
{
return $this->created;
}
/**
* Set updated
*
* @param \DateTime $updated
* @return Blog
*/
public function setUpdated($updated)
{
$this->updated = $updated;
return $this;
}
/**
* Get updated
*
* @return \DateTime
*/
public function getUpdated()
{
return $this->updated;
}
/**
* Add comments
*
* @param \NewCoInc\AppBundle\Entity\Comment $comments
* @return Blog
*/
public function addComment(\NewCoInc\AppBundle\Entity\Comment $comments)
{
$this->comments[] = $comments;
return $this;
}
/**
* Remove comments
*
* @param \NewCoInc\AppBundle\Entity\Comment $comments
*/
public function removeComment(\NewCoInc\AppBundle\Entity\Comment $comments)
{
$this->comments->removeElement($comments);
}
/**
* Get comments
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getComments()
{
return $this->comments;
}
/**
* Set slug
*
* @param string $slug
* @return Blog
*/
public function setSlug($slug)
{
$this->slug = $this->formatter->slugify($slug);
return $this;
}
/**
* Get slug
*
* @return string
*/
public function getSlug()
{
return $this->slug;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment