laravel组件单独加载(2):模型 Eloquent ORM

模型组件的加入

目前的项目代码是基于上一个文章的,不知道的可以看上一个文章laravel组件单独加载(1):路由

修改composer.json文件加入模型组件

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

运行composer install 如果没有执行安装的话可以删掉composer.lock文件和vendor目录,再去执行下

根目录创建config目录,在config目录创建database.php文件

<?php
return [
    'driver'=>'mysql',
    'host'=>'ip',
    'database'=>'数据库名称',
    'username'=>'用户名',
    'password'=>'密码',
    'charset'=>'utf8',
    'collation'=>'utf8_general_ci',
    'prefix'=>'前缀'
];

在public/index.php文件加入新内容

<?php

use Illuminate\Database\Capsule\Manager; //数据库管理类

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

with(new Illuminate\Events\EventServiceProvider($app))->register();
with(new Illuminate\Routing\RoutingServiceProvider($app))->register();
//启动Eloquent ORM 模块并进行相关配置
$manager = new Manager();
$manager->addConnection(require '../config/database.php'); //加载配置
$manager->bootEloquent(); //启动
//加载路由
require __DIR__.'/../app/Http/routes.php';
//实例化请求并分发处理请求
$request = Illuminate\Http\Request::CreateFromGlobals();
$response = $app['router']->dispatch($request);
//返回请求响应
$response->send();

在app/Http目录下创建Models目录,在Models目录下创建User.php文件,Models目录是可以自由存放的,可以根据自己喜好随意存放,只要注意下命名空间就行

<?php
namespace App\Http\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model{
    public $timestamps = false; 
    protected $table = '数据表名称';
}

修改app/Http/Controllers/WelcomeController.php

<?php
namespace App\Http\Controllers;
use App\Http\Models\User;

class WelcomeController {
    public function index(){
        $user_info = User::where(['uid'=>8227])->first();
        var_dump($user_info['user_name']);
        //return "<h1>控制器成功!</h1>";
    }
}

运行项目测试

猜你喜欢

转载自blog.csdn.net/mnmnwq/article/details/79818013