HEX
Server: LiteSpeed
System: Linux s917.lon1.mysecurecloudhost.com 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: assibfaf (3034)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/assibfaf/public_html/prox-classes/Presenter/Deadline/DeadlineLazyArray.php
<?php 
/**
 * @package    Proxim
 * @author     Davison Pro <davis@davisonpro.dev | https://davisonpro.dev>
 * @copyright  2020 Proxim
 * @version    1.0
 * @since      File available since Release 1.0
*/

namespace Proxim\Presenter\Deadline;

use Proxim\Presenter\AbstractLazyArray;
use Doctrine\Common\Annotations\AnnotationException;
use Proxim\Application;
use Proxim\Preference\Deadline;

class DeadlineLazyArray extends AbstractLazyArray {
    /** @var Application */
    private $application;

    /** @var Deadline */
    private $deadline;

    /**
     * DeadlineArray constructor.
     *
     * @throws AnnotationException
     * @throws ReflectionException
     */
    public function __construct(Deadline $deadline)
    {
        $this->application = Application::getInstance();
        $this->deadline = $deadline;

        parent::__construct();
    }

    /**
     * @arrayAccess
     *
     * @return int
     */
    public function getId()
    {
        return (int) $this->deadline->id;
    }

    /**
     * @arrayAccess
     *
     * @return int
     */
    public function getAcademicLevel()
    {
        return (int) $this->deadline->academic_level_id;
    }

    /**
     * @arrayAccess
     *
     * @return string
     */
    public function getName()
    {
        return $this->deadline->name;
    }

    /**
     * @arrayAccess
     *
     * @return float
     */
    public function getPricePerPage()
    {
        return (float) $this->deadline->price_per_page;
    }

    /**
     * @arrayAccess
     *
     * @return int
     */
    public function getHrs()
    {
        return (int) $this->deadline->hrs_customer;
    }

    /**
     * @arrayAccess
     *
     * @return int
     */
    public function getHrsWriter()
    {
        return (int) $this->deadline->hrs_writer;
    }

    /**
     * @arrayAccess
     *
     * @return int
     */
    public function getMinPages()
    {
        return (int) $this->deadline->min_pages;
    }
}