laravel组件单独加载(1):路由 Route Controller

加载路由组件

加载路由组件,需要在根目录下创建composer.json文件:

{
    "require":{

    }
}

然后放入组件

{
    "require":{
        "illuminate/routing":"*",
        "illuminate/events":"*"
    }
}

执行composer install命令安装组件 , routing是路由组件,但是需要events组件支持。

创建public目录,在此目录下创建index.php入口文件,目录结构和laravel保持一致

在index.php文件引入自动加载和注册路由


//自动加载
require __DIR__.'/../vendor/autoload.php';
//实例化服务器容器,注册事件,路由服务提供者
$app = new Illuminate\Container\Container;  //服务容器【服务的注册和解析】

with(new Illuminate\Events\EventServiceProvider($app))->register();
with(new Illuminate\Routing\RoutingServiceProvider($app))->register();
//加载路由
require __DIR__.'/../app/Http/routes.php';
//实例化请求并分发处理请求
$request = Illuminate\Http\Request::CreateFromGlobals();
$response = $app['router']->dispatch($request);
//返回请求响应
$response->send();

创建app目录,在app目录下创建Http目录,在Http目录下创建routes.php文件


    $app['router']->get('/',function(){
        return '

路由安装成功

'
; });

运行项目

加入控制器操作

compoer.json问价加入新内容

{
    "require":{
        "illuminate/routing":"*",
        "illuminate/events":"*"
    },
    "autoload": {
        "psr-4": {
            "App\\":"app/"
        }
    }
}

采用psr-4规范,执行 composer dump-autoload 重新载入下

在app\Http目录下创建controllers目录,早controllers目录下创建WelcomeController.php


namespace App\Http\Controllers;

class WelcomeController {
    public function index(){
        return "

控制器成功!

"
; } }

app\Http\routes.php 文件加入新内容


    $app['router']->get('/',function(){
        return '

路由安装成功

'
; }); $app['router']->get('welcome','App\Http\Controllers\WelcomeController@index');

运行项目

你可能感兴趣的:(php,laravel,路由组件,路由,控制器)