123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- <?php
-
- namespace Luticate\Utils;
-
- class LuBusiness {
-
- /**
- * @var LuDataAccess
- */
- protected $dataAccess = null;
-
- /**
- * @param string $name
- * @param mixed $default
- * @return mixed
- */
- public static function getParam($name, $default = null)
- {
- return array_key_exists($name, LuController::$parameters) ? LuController::$parameters[$name] : $default;
- }
-
- /**
- * @param string $name
- * @param mixed $value
- */
- public static function setParam($name, $value)
- {
- LuController::$parameters[$name] = $value;
- }
-
- /**
- * @param string[] $params
- * @return bool
- */
- public static function hasParam(array $params)
- {
- foreach ($params as $p)
- {
- if (!array_key_exists($p, LuController::$parameters))
- return false;
- }
- return true;
- }
-
- /**
- * @param string $param
- * @param mixed $validate
- * @return string
- */
- public static function checkParam($param, $validate = null)
- {
- $value = self::getParam($param);
- if (is_null($value) || trim($value) == '')
- abort(400, 'Missing parameter: ' . $param);
- if ($validate != null) {
- if (is_callable($validate)) {
- $validate = $validate($value);
- }
- else {
- $validate = preg_match($validate, $value);
- }
- if (!$validate)
- abort(400, 'Bad parameter value: ' . $param);
- }
- return $value;
- }
-
- /**
- * @param string
- */
- public static function unauthorized($reason = 'Unauthorized')
- {
- abort(401, $reason);
- }
-
- /**
- * @param string
- */
- public static function notFound($reason = 'Resource not found')
- {
- abort(404, $reason);
- }
-
- /**
- * @param $param string
- * @param $values string[]
- * @return string
- */
- public static function getParamInArray($param, $values)
- {
- $value = self::getParam($param);
- if (is_null($value) || !in_array($value, $values))
- $value = $values[0];
- return $value;
- }
-
- /**
- * @param $param string
- * @param $default int
- * @return int
- */
- public static function getParamInt($param, $default = 0)
- {
- $value = self::getParam($param);
- if (!is_null($value) && is_numeric($value))
- return (int)$value;
- return $default;
- }
-
- public static function __callStatic($name, $arguments)
- {
- $class = get_called_class();
- $me = new $class();
- return call_user_func_array(array($me, '_' . $name), $arguments);
- }
-
- /**
- * @param $page int
- * @param $perPage int
- * @param $column string
- * @param $order string
- * @param $query string
- * @return LuDbo[]
- */
- public function _search($page, $perPage, $column, $order, $query = null)
- {
- return $this->dataAccess->search($page, $perPage, $column, $order, $query);
- }
-
- /**
- * @param $id int
- * @return LuDbo|null
- */
- public function _getById($id)
- {
- $data = $this->dataAccess->getById($id);
- if (is_null($data))
- $this->notFound();
- return $data;
- }
-
- /**
- * @param $id int
- */
- public function _deleteById($id)
- {
- $this->dataAccess->deleteById($id);
- }
- }
|