for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace ByTIC\MediaLibrary\Loaders;
/**
* Trait HasLoaderTrait.
*/
trait HasLoaderTrait
{
* @var AbstractLoader
protected $loader = null;
* @return AbstractLoader
public function getLoader(): AbstractLoader
if ($this->loader == null) {
$this->initLoader();
}
return $this->loader;
* @param string $loader
public function setLoaderClass($loader)
$loader = new $loader();
$loader = $this->hydrateLoader($loader);
$this->setLoader($loader);
* @param AbstractLoader $loader
public function setLoader(AbstractLoader $loader)
$this->loader = $loader;
protected function initLoader()
$loader = $this->newLoader();
*
protected function hydrateLoader($loader)
return $loader;
protected function newLoader()
$class = $this->getLoaderClass();
$loader = new $class();
abstract protected function getLoaderClass();