PageRenderTime 38ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/app/Core/Base.php

https://gitlab.com/x33n/kanboard
PHP | 118 lines | 15 code | 5 blank | 98 comment | 0 complexity | 90e2a657dd4f38ffcc0bc229dc309cc4 MD5 | raw file
  1. <?php
  2. namespace Core;
  3. use Pimple\Container;
  4. /**
  5. * Base class
  6. *
  7. * @package core
  8. * @author Frederic Guillot
  9. *
  10. * @property \Core\Helper $helper
  11. * @property \Core\EmailClient $emailClient
  12. * @property \Core\HttpClient $httpClient
  13. * @property \Core\Paginator $paginator
  14. * @property \Core\Request $request
  15. * @property \Core\Session $session
  16. * @property \Core\Template $template
  17. * @property \Core\MemoryCache $memoryCache
  18. * @property \Core\OAuth2 $oauth
  19. * @property \Core\Router $router
  20. * @property \Core\Lexer $lexer
  21. * @property \Integration\BitbucketWebhook $bitbucketWebhook
  22. * @property \Integration\GithubWebhook $githubWebhook
  23. * @property \Integration\GitlabWebhook $gitlabWebhook
  24. * @property \Integration\HipchatWebhook $hipchatWebhook
  25. * @property \Integration\Jabber $jabber
  26. * @property \Integration\Mailgun $mailgun
  27. * @property \Integration\Postmark $postmark
  28. * @property \Integration\Sendgrid $sendgrid
  29. * @property \Integration\SlackWebhook $slackWebhook
  30. * @property \Integration\Smtp $smtp
  31. * @property \Model\Acl $acl
  32. * @property \Model\Action $action
  33. * @property \Model\Authentication $authentication
  34. * @property \Model\Board $board
  35. * @property \Model\Budget $budget
  36. * @property \Model\Category $category
  37. * @property \Model\Color $color
  38. * @property \Model\Comment $comment
  39. * @property \Model\Config $config
  40. * @property \Model\Currency $currency
  41. * @property \Model\DateParser $dateParser
  42. * @property \Model\File $file
  43. * @property \Model\HourlyRate $hourlyRate
  44. * @property \Model\LastLogin $lastLogin
  45. * @property \Model\Link $link
  46. * @property \Model\Notification $notification
  47. * @property \Model\Project $project
  48. * @property \Model\ProjectActivity $projectActivity
  49. * @property \Model\ProjectAnalytic $projectAnalytic
  50. * @property \Model\ProjectDuplication $projectDuplication
  51. * @property \Model\ProjectDailyColumnStats $projectDailyColumnStats
  52. * @property \Model\ProjectDailyStats $projectDailyStats
  53. * @property \Model\ProjectIntegration $projectIntegration
  54. * @property \Model\ProjectPermission $projectPermission
  55. * @property \Model\Subtask $subtask
  56. * @property \Model\SubtaskExport $subtaskExport
  57. * @property \Model\SubtaskForecast $subtaskForecast
  58. * @property \Model\SubtaskTimeTracking $subtaskTimeTracking
  59. * @property \Model\Swimlane $swimlane
  60. * @property \Model\Task $task
  61. * @property \Model\TaskAnalytic $taskAnalytic
  62. * @property \Model\TaskCreation $taskCreation
  63. * @property \Model\TaskDuplication $taskDuplication
  64. * @property \Model\TaskExport $taskExport
  65. * @property \Model\TaskFinder $taskFinder
  66. * @property \Model\TaskFilter $taskFilter
  67. * @property \Model\TaskLink $taskLink
  68. * @property \Model\TaskModification $taskModification
  69. * @property \Model\TaskPermission $taskPermission
  70. * @property \Model\TaskPosition $taskPosition
  71. * @property \Model\TaskStatus $taskStatus
  72. * @property \Model\TaskValidator $taskValidator
  73. * @property \Model\Timetable $timetable
  74. * @property \Model\TimetableDay $timetableDay
  75. * @property \Model\TimetableExtra $timetableExtra
  76. * @property \Model\TimetableOff $timetableOff
  77. * @property \Model\TimetableWeek $timetableWeek
  78. * @property \Model\Transition $transition
  79. * @property \Model\User $user
  80. * @property \Model\UserSession $userSession
  81. * @property \Model\Webhook $webhook
  82. */
  83. abstract class Base
  84. {
  85. /**
  86. * Container instance
  87. *
  88. * @access protected
  89. * @var \Pimple\Container
  90. */
  91. protected $container;
  92. /**
  93. * Constructor
  94. *
  95. * @access public
  96. * @param \Pimple\Container $container
  97. */
  98. public function __construct(Container $container)
  99. {
  100. $this->container = $container;
  101. }
  102. /**
  103. * Load automatically models
  104. *
  105. * @access public
  106. * @param string $name Model name
  107. * @return mixed
  108. */
  109. public function __get($name)
  110. {
  111. return $this->container[$name];
  112. }
  113. }