Compare commits
	
		
			6 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 584285b92c | |||
| ed2a41a139 | |||
| 89c6d0c814 | |||
| 67a2ea3e1d | |||
| cd4a7912d0 | |||
| 42774c8830 | 
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1 +1,2 @@
 | 
				
			|||||||
vendor
 | 
					vendor
 | 
				
			||||||
 | 
					composer.lock
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@
 | 
				
			|||||||
            "name": "Arsen Mirzaev Tatyano-Muradovich",
 | 
					            "name": "Arsen Mirzaev Tatyano-Muradovich",
 | 
				
			||||||
            "email": "arsen@mirzaev.sexy",
 | 
					            "email": "arsen@mirzaev.sexy",
 | 
				
			||||||
            "homepage": "https://mirzaev.sexy",
 | 
					            "homepage": "https://mirzaev.sexy",
 | 
				
			||||||
            "role": "Programmer"
 | 
					            "role": "Creator"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "support": {
 | 
					    "support": {
 | 
				
			||||||
@@ -24,6 +24,13 @@
 | 
				
			|||||||
    "require": {
 | 
					    "require": {
 | 
				
			||||||
        "php": "~8.4"
 | 
					        "php": "~8.4"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
							"suggest": {
 | 
				
			||||||
 | 
								"mirzaev/baza": "Baza database",
 | 
				
			||||||
 | 
								"mirzaev/pot": "Template for projects",
 | 
				
			||||||
 | 
								"mirzaev/files": "Easy working with files",
 | 
				
			||||||
 | 
								"mirzaev/languages": "Easy languages integration",
 | 
				
			||||||
 | 
								"mirzaev/currencies": "Easy currencies integration"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
    "autoload": {
 | 
					    "autoload": {
 | 
				
			||||||
        "psr-4": {
 | 
					        "psr-4": {
 | 
				
			||||||
            "mirzaev\\minimal\\": "mirzaev/minimal/system"
 | 
					            "mirzaev\\minimal\\": "mirzaev/minimal/system"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2320
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2320
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -34,7 +34,7 @@ use Closure as closure,
 | 
				
			|||||||
 * @param model $model An instance of the model
 | 
					 * @param model $model An instance of the model
 | 
				
			||||||
 * @param router $router An instance of the router
 | 
					 * @param router $router An instance of the router
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @mathod void __construct(?string $namespace) Constructor
 | 
					 * @method void __construct(?string $namespace) Constructor
 | 
				
			||||||
 * @method void __destruct() Destructor
 | 
					 * @method void __destruct() Destructor
 | 
				
			||||||
 * @method string|null start() Initialize request by environment and handle it
 | 
					 * @method string|null start() Initialize request by environment and handle it
 | 
				
			||||||
 * @method string|null request(request $request, array $parameters = []) Handle request
 | 
					 * @method string|null request(request $request, array $parameters = []) Handle request
 | 
				
			||||||
@@ -128,7 +128,7 @@ final class core
 | 
				
			|||||||
			$_SERVER["REQUEST_METHOD"] = $options['method'] ?? 'GET';
 | 
								$_SERVER["REQUEST_METHOD"] = $options['method'] ?? 'GET';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Writing URI into the environment constant
 | 
								// Writing URI into the environment constant
 | 
				
			||||||
			$_SERVER['REQUEST_URI'] =  $options['uri'] ?? '/';
 | 
								$_SERVER['REQUEST_URI'] = $options['uri'] ?? '/';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Writing verstion of HTTP protocol into the environment constant
 | 
								// Writing verstion of HTTP protocol into the environment constant
 | 
				
			||||||
			$_SERVER['SERVER_PROTOCOL'] = $options['protocol'] ?? 'CLI';
 | 
								$_SERVER['SERVER_PROTOCOL'] = $options['protocol'] ?? 'CLI';
 | 
				
			||||||
@@ -157,7 +157,7 @@ final class core
 | 
				
			|||||||
			// Initialized the route
 | 
								// Initialized the route
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (!empty($parameters)) {
 | 
								if (!empty($parameters)) {
 | 
				
			||||||
				// Recaived parameters
 | 
									// Received parameters
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				// Merging parameters with the route parameters
 | 
									// Merging parameters with the route parameters
 | 
				
			||||||
				$route->parameters = $parameters + $route->parameters;
 | 
									$route->parameters = $parameters + $route->parameters;
 | 
				
			||||||
@@ -251,12 +251,12 @@ final class core
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			try {
 | 
								try {
 | 
				
			||||||
				// Preparing the route function
 | 
									// Preparing the route function
 | 
				
			||||||
				$action = function() use ($request, $route): string {
 | 
									$action = function () use ($request, $route): string {
 | 
				
			||||||
					// Writing the request options from the route options
 | 
										// Writing the request options from the route options
 | 
				
			||||||
					$request->options = $route->options;
 | 
										$request->options = $route->options;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					// Processing the method of the controller and exit (success)
 | 
										// Processing the method of the controller and exit (success)
 | 
				
			||||||
					$action = fn(): string => (string) $route->controller->{$route->method}(...($route->parameters + $request->parameters));
 | 
										$action = fn(): string => (string) $route->controller->{$route->method}(...($route->parameters + $route->variables + $request->parameters));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					foreach ($route->middlewares as $middleware) {
 | 
										foreach ($route->middlewares as $middleware) {
 | 
				
			||||||
						// Iterating over the route middlewares
 | 
											// Iterating over the route middlewares
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -114,6 +114,18 @@ final class route
 | 
				
			|||||||
		get => $this->options ?? [];
 | 
							get => $this->options ?? [];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Parameters
 | 
				
			||||||
 | 
						 *
 | 
				
			||||||
 | 
						 * @see https://wiki.php.net/rfc/property-hooks (find a table about backed and virtual hooks)
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @var array $parameters Arguments for the $this->method (will be concatenated together with generated request parameters)
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public array $variables = [] {
 | 
				
			||||||
 | 
							// Read
 | 
				
			||||||
 | 
							&get => $this->variables;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Constructor
 | 
						 * Constructor
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user