文档
测试

仿laravel

POST

说明 / 示例

@[TOC](目录) # 仿laravel 1.创建项目目录 ``` mkdir test ``` 2.进入项目目录,生成composer.json ``` cd tset composer init ``` ![image.png](https://cos.easydoc.net/29834750/files/ljxpgqcx.png) 3.添加路由组件 ``` composer require "illuminate/events":"*" composer require "illuminate/routing":"*" ``` 4.生成app,public,routes目录 ``` mkdir app && mkdir public && mkdir routes ``` 5.仿照laravel 路由模块 , 生成路由 routes/web.php ``` > routes/web.php ``` 6.仿照laravel 入口文件,生成 public/index.php ``` > public/index.php ``` 7.index.php 首页入口文件内容如下 ``` <?php use Illuminate\Container\Container; use Illuminate\Events\EventServiceProvider; use Illuminate\Http\Request; use Illuminate\Routing\RoutingServiceProvider; //首页入口 //调用主动加载文件 require __DIR__ . '/../vendor/autoload.php'; //实例化服务容器,对事件服务提供者及路由服务提供者进行注册 $app = new Container; with(new EventServiceProvider($app))->register(); with(new RoutingServiceProvider($app))->register(); //加载路由配置 require __DIR__ . '/../routes/web.php'; //实例化申请并散发解决申请 $request = Request::createFromGlobals(); $response = $app['router']->dispatch($request); //返回响应申请 $response->send(); ``` 8.web.php 路由文件内容如下 ``` <?php $app['router']->get('/',function(){ echo '欢迎来到仿laravel'; }); ``` 9.nginx 本地配置 ``` location / { # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php?$args; } ``` 10.Apache 本地配置 ``` <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controllers... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> ```