Last active
January 1, 2019 19:45
-
-
Save diloabininyeri/e6a6b7291504d8dd356df555364c77fb to your computer and use it in GitHub Desktop.
php make middleware pure php without framework
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * Created by PhpStorm. | |
| * User: nkolayofis | |
| * Date: 1.01.2019 | |
| * Time: 21:45 | |
| */ | |
| require_once "vendor/autoload.php"; | |
| use Nkolay\App\Middleware; | |
| function asd() | |
| { | |
| return "hoppppppp"; | |
| } | |
| class Middlewarem | |
| { | |
| /** | |
| * @param $class | |
| * @param $next | |
| * @param $request | |
| * @return mixed | |
| */ | |
| static function call($class, $next, $request) | |
| { | |
| return call_user_func_array([new $class, 'handle'], [$next, $request]); | |
| } | |
| } | |
| class bir implements \Nkolay\Interfaces\MiddlewareInterface | |
| { | |
| /** | |
| * @param Closure $next | |
| * @param $request | |
| * @return mixed | |
| * | |
| */ | |
| function handle(Closure $next, $request) | |
| { | |
| $request->asd = 4555; | |
| return $next( $request ); | |
| } | |
| } | |
| class uc implements \Nkolay\Interfaces\MiddlewareInterface | |
| { | |
| /** | |
| * @param Closure $next | |
| * @param $request | |
| * @return mixed | |
| * | |
| */ | |
| function handle(Closure $next, $request) | |
| { | |
| $request->user = "admin"; | |
| return $next( $request ); | |
| } | |
| } | |
| class iki implements \Nkolay\Interfaces\MiddlewareInterface | |
| { | |
| /** | |
| * @param Closure $next | |
| * @param $request | |
| * @return mixed | |
| * | |
| */ | |
| function handle(Closure $next, $request) | |
| { | |
| return asd(); | |
| $request->ad = 34; | |
| return $next( $request ); | |
| } | |
| } | |
| $array = [bir::class, iki::class, uc::class]; | |
| class Request | |
| { | |
| } | |
| $request = new Request(); | |
| $request->id = 23; | |
| foreach ($array as $item) { | |
| if ($request instanceof Request) { | |
| $request = Middlewarem::call( new $item, function ($re) { | |
| return $re; | |
| }, $request ); | |
| } else { | |
| break; | |
| } | |
| } | |
| print_r( $request ); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment