2020-12-23 laravel 学习①
2020-12-23 本文已影响0人
浩克啊12138
.env文件配置
APP_NAME=Laravel # 项目名称
APP_DEBUG=true # 调试模式开启状态
DB_CONNECTION=mysql # 连接数据库的类型
DB_HOST=127.0.0.1 # 数据库连接host
DB_PORT=3306 # 数据库连接端口
DB_DATABASE=blog # 数据库连接端口
DB_USERNAME=homestead # 数据库用户名
DB_PASSWORD=secret # 数据库密码
路由
所有的路由需要写在./route/web.php
文件内
// 控制器路由
Route::get('user', 'UserController@show');
// get 指通过get方式请求
// user 指路由地址为/user
// UserController 指以 App\Http\Controllers 为根的命名空间
// show 指执行的方法名
Route::match(['get', 'post'], 'user', 'UserController@show');
// 还可以用match方法添加多个请求方式
Route::all('user', 'UserController@show');
// all方法为所有请求都可以直接访问
Route::get('/user/{id}', 'UserController@show');
// 在路由中添加{}即可添加一个动态的参数
Route::get('/user/{id?}', 'UserController@show');
// 在路由中添加{}中加上一个?, 且show的形参中有定义默认值
// 则url不携带参数也可以进行正常访问
Route::get('/user/{id?}', 'UserController@show')->where('id', '[0-9]+');
// 调用where方法则为进行筛选
// 参数描述 第一位为参数名, 第二位为正则表达式
Route::resource('/users', 'UserController');
// 添加资源类型的控制器中自动生成的方法的路由
模型
模型命名一般用表名相对应名字
# 创建模型
$ php artisan make:model Models\Member
创建成功
创建后的初始代码
控制器
# 创建控制器
$ php artisan make:controller MemberController
# 创建资源类型的控制器
$ php artisan make:controller BookController --resource
创建成功
创建后的初始代码
创建资源类型的控制器后会出现对资源的通用操作方法
资源类型的控制器的初始代码数据库迁移
文件目录在./database/migrations
中
# 使用迁移工具创建迁移文件
$ php artisan make:migration create_member_table
创建迁移文件
创建的初始代码
其中 up
方法为创建数据表方法, down
方法为删除数据表方法
Schema::create('member', function (Blueprint $table) {
$table->integerIncrements('id');
// 创建自增长的字段, 名为id
$table->string('nickname', 32)->nullable('false');
// 创建一个名为nickname的字段, 字段不为空, 并且设置字段长度为32
$table->string('truename', 32)->nullable('false');
$table->string('email', 50)->nullable('false');
});
执行迁移文件
# 第一次执行迁移文件时候执行
$ php artisan migrate:install
# 假如已经迁移完成了, 但是又因为需求需要创建新的表则执行以下命令
$ php artisan migrate
执行成功
还有其他操作方法可参考 官方中文文档(数据库迁移篇)
数据库数据填充
文件目录为./database/seeds
php artisan make:seeder MamberTableSeeder
创建成功
public function run()
{
//定义数据
$data = [
[
'id' => 1,
'nikename' => '小霸王',
'truename' => '张震',
'email' => 'zhangzhen@gmail.com',
],
[
'id' => 2,
'nikename' => '学习机',
'truename' => '张震岳',
'email' => 'zhangzhenyue@gmail.com',
],
];
// 插入数据
DB::table('member')->insert($data);
}
# 执行填充器
$ php artisan db:seed --class=MemberTableSeeder
填充成功
数据库中显示数据
视图
调用方法
// 方法1
return view('member.index', [
'truename' => '张三',
'nickname' => '张小三',
]);
//方法2
$member = [
'truename' => '张三',
'nickname' => '张小三',
];
return view('member.index', compact(
'member'
));
视图文件
# 获取变量的方式
方法1
{{ $truename }}
{{ $nickname }}
方法2
{{ $member['truename']}}
{{ $member['nickname']}}
#不转义输出
{!! $nickname !!}