for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* This file is part of the Axstrad library.
*
* (c) Dan Kempster <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
* @copyright 2014-2015 Dan Kempster <[email protected]>
*/
namespace Axstrad\Component\Content\Traits;
use Axstrad\Component\Content\Exception\InvalidArgumentException;
* Axstrad\Component\Content\Traits\Copy
* Property requirements
* - $copy = null
* @author Dan Kempster <[email protected]>
* @license MIT
* @package Axstrad/Content
* @since 0.3
trait Copy
{
* Set Copy
* @param string $copy
* @return self
public function setCopy($copy = null)
if (is_null($copy)) {
/** @noinspection PhpUndefinedFieldInspection */
$this->copy = null;
copy
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
}
elseif (!is_scalar($copy)) {
throw InvalidArgumentException::create(
'string (or scalar)',
$copy
);
else {
$this->copy = (string) $copy;
return $this;
* Get copy
* @return string
public function getCopy()
return $this->copy;
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: