/var
/www
/vhosts
/extremal.kz
/httpdocs
/src
/Controller
/Catalog.php
$selectedFilters = Registry::get('http.request.query.filters',[]);
$request = Registry::get('http.request.query');
$order = Registry::get('http.request.query.order','asc');
$novetly = Registry::get('http.request.query.novetly',false);
$discount = Registry::get('http.request.query.discount',false);
$bestseller = Registry::get('http.request.query.bestseller',false);
$region = Registry::get('http.request.query.region',false);
$dopFilters = [
'order'=>$order,
'novetly'=>$novetly,
'discount'=>$discount,
'bestseller'=>$bestseller,
'region'=>$region
];
$from_default = 0;
$to_default = 0;
$from = Registry::get('http.request.query.from',$from_default);
$to = Registry::get('http.request.query.to',$to_default);
$breadcrumbs[$currentCategory->url()] = $currentCategory->name;
$item = $currentCategory;
while(($item = $item->parent) && !empty($item->id)) {
$breadcrumbs[$item->url()] = $item->name;
}
$breadcrumbs = array_reverse($breadcrumbs);
//$this->setChildrenCats($currentCategory);
$childrenCats = AbstractController::getChildrenCatsIDs($currentCategory->id);
//var_dump($childrenCats);
$maxPriceExpression = new Expression();
$maxPriceExpression->setExpression('MAX(type_price_subjects.price)');
$minPriceExpression = new Expression();
$minPriceExpression->setExpression('MIN(type_price_subjects.price)');
$maxPrice = Subjects::of('Price')->select(function($select) use ($price_type_id, $maxPriceExpression, $childrenCats, $minPriceExpression) {
$select->where(['type_price_subjects.id_type'=>$price_type_id]);
//$select->join('type_product_relations','type_product_relations.relation_subject_id=type_price_subjects.id',[]);
//$select->where(['type_product_relations.relation'=>'prices']);
$select->join('type_product_subjects','type_product_subjects.id_2=type_price_subjects.id_product',[]);
$select->join('type_category_relations','type_category_relations.relation_subject_id=type_product_subjects.id',[]);
$select->where(['type_category_relations.relation'=>'products']);
Arguments
"Call to a member function url() on null"
/var
/www
/vhosts
/extremal.kz
/httpdocs
/core
/Middleware
/Controller.php
}
private function addRoute($route, $method, $callback)
{
if (is_callable($callback)) {
$middleware = function () use ($callback) {
return call_user_func_array($callback, Registry::pull('http.request.attributes'));
};
} elseif (is_string($callback)) {
if (!method_exists($this, $callback)) {
throw new RuntimeException(
'No method '.get_class($this).'::'.$method.'() for route "'.$route.'"'
);
}
$middleware = function () use ($callback) {
return call_user_func_array([$this, $callback], Registry::pull('http.request.attributes'));
};
} else {
throw new RuntimeException(
'$callback shoud be callable or string type'
);
}
if (!$this->router) {
$this->router = App::getInstance()->getContainer()->build(RouterInterface::class);
}
$this->router->addRoute(new Route($route, $middleware, [$method]));
}
}
Arguments
"1684"
"noski-sportivnye"
/var
/www
/vhosts
/extremal.kz
/httpdocs
/core
/Middleware
/Controller.php
}
private function addRoute($route, $method, $callback)
{
if (is_callable($callback)) {
$middleware = function () use ($callback) {
return call_user_func_array($callback, Registry::pull('http.request.attributes'));
};
} elseif (is_string($callback)) {
if (!method_exists($this, $callback)) {
throw new RuntimeException(
'No method '.get_class($this).'::'.$method.'() for route "'.$route.'"'
);
}
$middleware = function () use ($callback) {
return call_user_func_array([$this, $callback], Registry::pull('http.request.attributes'));
};
} else {
throw new RuntimeException(
'$callback shoud be callable or string type'
);
}
if (!$this->router) {
$this->router = App::getInstance()->getContainer()->build(RouterInterface::class);
}
$this->router->addRoute(new Route($route, $middleware, [$method]));
}
}
Arguments
array:2 [
0 => Catalog {#7867}
1 => "productsList"
]
array:2 [
"id" => "1684"
"name" => "noski-sportivnye"
]
/var
/www
/vhosts
/extremal.kz
/httpdocs
/core
/Middleware
/Controller.php
private function processController(ServerRequestInterface $request, DelegateInterface $delegate)
{
$this->boot('bootRouting');
if (!$this->router || ($result = $this->router->match($request))->isFailure()) {
return $delegate->process($request);
}
$this->request = $request;
$this->delegate = $delegate;
Template::defaults([
'this' => $this
]);
Registry::set('http.controller.object', $this);
Registry::set('http.request.attributes', $result->getMatchedParams());
$this->boot('bootDispatch');
return call_user_func($result->getMatchedMiddleware());
}
protected function path($route = null)
{
return Registry::get('http.controller.path').$route;
}
protected function response($status, $headers = [])
{
return new EmptyResponse($status, $headers);
}
protected function redirect($url, $status = 302, array $headers = [])
{
return new RedirectResponse($url, $status, $headers);
}
protected function html($html, $status = 200, array $headers = [])
{
return new HtmlResponse($html, $status, $headers);
/var
/www
/vhosts
/extremal.kz
/httpdocs
/core
/Middleware
/Controller.php
private function processController(ServerRequestInterface $request, DelegateInterface $delegate)
{
$this->boot('bootRouting');
if (!$this->router || ($result = $this->router->match($request))->isFailure()) {
return $delegate->process($request);
}
$this->request = $request;
$this->delegate = $delegate;
Template::defaults([
'this' => $this
]);
Registry::set('http.controller.object', $this);
Registry::set('http.request.attributes', $result->getMatchedParams());
$this->boot('bootDispatch');
return call_user_func($result->getMatchedMiddleware());
}
protected function path($route = null)
{
return Registry::get('http.controller.path').$route;
}
protected function response($status, $headers = [])
{
return new EmptyResponse($status, $headers);
}
protected function redirect($url, $status = 302, array $headers = [])
{
return new RedirectResponse($url, $status, $headers);
}
protected function html($html, $status = 200, array $headers = [])
{
return new HtmlResponse($html, $status, $headers);
Arguments
Closure {#7874
class: "Core\Middleware\Controller"
this: Catalog {#7867 …}
use: {
$callback: "productsList"
}
}
/var
/www
/vhosts
/extremal.kz
/httpdocs
/core
/Middleware
/Controller.php
}
}
}
protected function middleware($middleware)
{
$this->middlewares[] = $middleware;
}
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
$this->boot('bootProcess');
foreach($this->middlewares as $middleware) {
if(($return = $middleware->process($request, $delegate)) !== null) {//if anything returned
return $return;
}
}
return $this->processController($request, $delegate);
}
private function processController(ServerRequestInterface $request, DelegateInterface $delegate)
{
$this->boot('bootRouting');
if (!$this->router || ($result = $this->router->match($request))->isFailure()) {
return $delegate->process($request);
}
$this->request = $request;
$this->delegate = $delegate;
Template::defaults([
'this' => $this
]);
Registry::set('http.controller.object', $this);
Registry::set('http.request.attributes', $result->getMatchedParams());
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/core
/Middleware
/FindController.php
$controllerClass = $controllerClassPath.$controllerClassName;
if ($controllerPath != '/') {
$request = App::stripRouteFromPath($request, $controllerPath);
}
Registry::set('http.request.method', $request->getMethod());
Registry::set('http.request.path', $request->getUri()->getPath());
Registry::set('http.request.headers', $request->getHeaders());
Registry::set('http.request.cookies', $request->getCookieParams());
Registry::set('http.request.query', $request->getQueryParams());
Registry::set('http.request.body', $request->getParsedBody());
Registry::set('http.request.files', $request->getUploadedFiles());
Registry::set('http.request.server', $request->getServerParams());
Registry::set('http.controller.path', Locale::getLocalePath().$controllerPath);
Registry::set('http.controller.class', $controllerClass);
return (new $controllerClass)->process($request, $delegate);
}
private function controllerClassName($name)
{
return str_replace('-', '', ucwords($name, '-'));
}
}
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Next.php
$normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;
// Skip if layer path does not match current url
if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
return $this->process($request);
}
// Skip if match is not at a border ('/', '.', or end)
$border = $this->getBorder($path, $normalizedRoute);
if ($border && '/' !== $border && '.' !== $border) {
return $this->process($request);
}
// Trim off the part of the url that matches the layer route
if (! empty($route) && $route !== '/') {
$request = $this->stripRouteFromPath($request, $route);
}
$middleware = $layer->handler;
$response = $middleware->process($request, $this);
if (! $response instanceof ResponseInterface) {
throw new Exception\MissingResponseException(sprintf(
"Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
$request->getMethod(),
$request->getUri()->getPath(),
get_class($middleware)
));
}
return $response;
}
/**
* Toggle the "raise throwables" flag on.
*
* @deprecated Since 2.0.0; this functionality is now a no-op.
* @return void
*/
public function raiseThrowables()
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/core
/Service
/Locale.php
use Interop\Http\ServerMiddleware\MiddlewareInterface;
use Psr\Http\Message\ServerRequestInterface;
use Zend\Diactoros\Response\RedirectResponse;
class Locale implements MiddlewareInterface
{
protected static $locales = [];
protected static $locale;
protected static $default;
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
if (($locale = substr($request->getUri()->getPath(), 1, 2)) && in_array($locale, static::getLocales()) && in_array(substr($request->getUri()->getPath(), 3, 1), ['/', false, ''])) {
static::setLocale($locale);
$request = App::stripRouteFromPath($request, '/'.$locale);
} elseif (($localePath = static::getLocalePath())) {// to prevent doubled-content for google
return new RedirectResponse($localePath.$request->getUri()->getPath());
}
return $delegate->process($request);
}
/**
* @param string $locale
* @throws \Exception
*/
public static function setLocales(array $locales)
{
self::$locales = $locales;
self::$default = current($locales);
}
/**
* @return array
*/
public static function getLocales()
{
return self::$locales;
}
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Next.php
$normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;
// Skip if layer path does not match current url
if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
return $this->process($request);
}
// Skip if match is not at a border ('/', '.', or end)
$border = $this->getBorder($path, $normalizedRoute);
if ($border && '/' !== $border && '.' !== $border) {
return $this->process($request);
}
// Trim off the part of the url that matches the layer route
if (! empty($route) && $route !== '/') {
$request = $this->stripRouteFromPath($request, $route);
}
$middleware = $layer->handler;
$response = $middleware->process($request, $this);
if (! $response instanceof ResponseInterface) {
throw new Exception\MissingResponseException(sprintf(
"Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
$request->getMethod(),
$request->getUri()->getPath(),
get_class($middleware)
));
}
return $response;
}
/**
* Toggle the "raise throwables" flag on.
*
* @deprecated Since 2.0.0; this functionality is now a no-op.
* @return void
*/
public function raiseThrowables()
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Middleware
/ErrorHandler.php
* Adds an error handler that will convert PHP errors to ErrorException
* instances.
*
* Internally, wraps the call to $next() in a try/catch block, catching
* all PHP Throwables (PHP 7) and Exceptions (PHP 5.6 and earlier).
*
* When an exception is caught, an appropriate error response is created
* and returned instead; otherwise, the response returned by $next is
* used.
*
* @param ServerRequestInterface $request
* @param DelegateInterface $delegate
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
set_error_handler($this->createErrorHandler());
try {
$response = $delegate->process($request);
if (! $response instanceof ResponseInterface) {
throw new MissingResponseException('Application did not return a response');
}
} catch (Throwable $e) {
$response = $this->handleThrowable($e, $request);
} catch (Exception $e) {
$response = $this->handleThrowable($e, $request);
}
restore_error_handler();
return $response;
}
/**
* Handles all throwables/exceptions, generating and returning a response.
*
* Passes the error, request, and response prototype to createErrorResponse(),
* triggers all listeners with the same arguments (but using the response
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/vendor
/zendframework
/zend-expressive
/src
/Middleware
/LazyLoadingMiddleware.php
) {
$this->container = $container;
$this->responsePrototype = $responsePrototype;
$this->middlewareName = $middlewareName;
}
/**
* @param ServerRequestInterface $request
* @param DelegateInterface $delegate
* @return ResponseInterface
* @throws InvalidMiddlewareException for invalid middleware types pulled
* from the container.
*/
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
$middleware = $this->container->get($this->middlewareName);
// http-interop middleware
if ($middleware instanceof ServerMiddlewareInterface) {
return $middleware->process($request, $delegate);
}
// Unknown - invalid!
if (! is_callable($middleware)) {
throw new InvalidMiddlewareException(sprintf(
'Lazy-loaded middleware "%s" is neither invokable nor implements %s',
$this->middlewareName,
ServerMiddlewareInterface::class
));
}
// Callable http-interop middleware
if ($this->isCallableInteropMiddleware($middleware)) {
return $middleware($request, $delegate);
}
// Legacy double-pass signature
return $middleware($request, $this->responsePrototype, function ($request, $response) use ($delegate) {
return $delegate->process($request);
});
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Next.php
$normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;
// Skip if layer path does not match current url
if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
return $this->process($request);
}
// Skip if match is not at a border ('/', '.', or end)
$border = $this->getBorder($path, $normalizedRoute);
if ($border && '/' !== $border && '.' !== $border) {
return $this->process($request);
}
// Trim off the part of the url that matches the layer route
if (! empty($route) && $route !== '/') {
$request = $this->stripRouteFromPath($request, $route);
}
$middleware = $layer->handler;
$response = $middleware->process($request, $this);
if (! $response instanceof ResponseInterface) {
throw new Exception\MissingResponseException(sprintf(
"Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
$request->getMethod(),
$request->getUri()->getPath(),
get_class($middleware)
));
}
return $response;
}
/**
* Toggle the "raise throwables" flag on.
*
* @deprecated Since 2.0.0; this functionality is now a no-op.
* @return void
*/
public function raiseThrowables()
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/MiddlewarePipe.php
$delegate = new Delegate\CallableDelegateDecorator($delegate, $response);
}
return $this->process($request, $delegate);
}
/**
* http-interop invocation: single-pass with delegate.
*
* Executes the internal pipeline, passing $delegate as the "final
* handler" in cases when the pipeline exhausts itself.
*
* @param Request $request
* @param DelegateInterface $delegate
* @return Response
*/
public function process(Request $request, DelegateInterface $delegate)
{
$next = new Next($this->pipeline, $delegate);
return $next->process($request);
}
/**
* Attach middleware to the pipeline.
*
* Each middleware can be associated with a particular path; if that
* path is matched when that middleware is invoked, it will be processed;
* otherwise it is skipped.
*
* No path means it should be executed every request cycle.
*
* A handler CAN implement MiddlewareInterface, but MUST be callable.
*
* @see MiddlewareInterface
* @see Next
* @param string|callable|object $path Either a URI path prefix, or middleware.
* @param null|callable|object $middleware Middleware
* @return self
*/
public function pipe($path, $middleware = null)
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/vendor
/zendframework
/zend-expressive
/src
/Application.php
*/
public function run(ServerRequestInterface $request = null, ResponseInterface $response = null)
{
try {
$request = $request ?: ServerRequestFactory::fromGlobals();
} catch (InvalidArgumentException $e) {
// Unable to parse uploaded files
$this->emitMarshalServerRequestException($e);
return;
} catch (UnexpectedValueException $e) {
// Invalid request method
$this->emitMarshalServerRequestException($e);
return;
}
$response = $response ?: new Response();
$request = $request->withAttribute('originalResponse', $response);
$delegate = $this->getDefaultDelegate();
$response = $this->process($request, $delegate);
$emitter = $this->getEmitter();
$emitter->emit($response);
}
/**
* Retrieve the IoC container.
*
* If no IoC container is registered, we raise an exception.
*
* @return ContainerInterface
* @throws Exception\ContainerNotRegisteredException
*/
public function getContainer()
{
if (null === $this->container) {
throw new Exception\ContainerNotRegisteredException();
}
return $this->container;
}
Arguments
/var
/www
/vhosts
/extremal.kz
/httpdocs
/public
/index.php
ini_set('memory_limit', '512M');
ini_set('display_errors',1);
error_reporting(0);
date_default_timezone_set('Asia/Almaty');
use Core\Facade\App;
chdir(dirname(__DIR__));
require 'vendor/autoload.php';
/**
* Self-called anonymous function that creates its own scope and keep the global namespace clean.
*/
call_user_func(function () {
App::init(require 'config/config.php');
App::initSession();
App::initPipeline();
App::getInstance()->run();
});
/var
/www
/vhosts
/extremal.kz
/httpdocs
/public
/index.php
ini_set('display_errors',1);
error_reporting(0);
date_default_timezone_set('Asia/Almaty');
use Core\Facade\App;
chdir(dirname(__DIR__));
require 'vendor/autoload.php';
/**
* Self-called anonymous function that creates its own scope and keep the global namespace clean.
*/
call_user_func(function () {
App::init(require 'config/config.php');
App::initSession();
App::initPipeline();
App::getInstance()->run();
});