Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Service/AbstractService.php
<?php

namespace XF\Service;

use function
call_user_func_array, func_get_args;

abstract class
AbstractService
{
   
/**
     * @var \XF\App
     */
   
protected $app;

    public function
__construct(\XF\App $app)
    {
       
$this->app = $app;
       
$this->setup();
    }

    protected function
setup()
    {
    }

   
/**
     * @return \XF\Db\AbstractAdapter
     */
   
protected function db()
    {
        return
$this->app->db();
    }

   
/**
     * @return \XF\Mvc\Entity\Manager
     */
   
protected function em()
    {
        return
$this->app->em();
    }

   
/**
     * @param string $repository
     *
     * @return \XF\Mvc\Entity\Repository
     */
   
protected function repository($repository)
    {
        return
$this->app->repository($repository);
    }

   
/**
     * @param $finder
     *
     * @return \XF\Mvc\Entity\Finder
     */
   
protected function finder($finder)
    {
        return
$this->app->finder($finder);
    }

   
/**
     * @param string $finder
     * @param array $where
     * @param string|array $with
     *
     * @return null|\XF\Mvc\Entity\Entity
     */
   
protected function findOne($finder, array $where, $with = null)
    {
        return
$this->app->em()->findOne($finder, $where, $with);
    }

   
/**
     * @param string $class
     *
     * @return \XF\Service\AbstractService
     */
   
public function service($class)
    {
        return
call_user_func_array([$this->app, 'service'], func_get_args());
    }
}