说明 / 示例
@[TOC](目录)
# 仿laravel
1.创建项目目录
```
mkdir test
```
2.进入项目目录,生成composer.json
```
cd tset
composer init
```

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>
```