一、artisan

1、基本使用:

1.1、查看基本命令:

php artisan

1.2、查看具体命名的使用:

php artisan help migrate

1.3、创建控制器:

php artisan make:controller TestController

1.4、创建模型:

php artisan make:model Test

1.5、创建中间件:

php artisan make:middleware Test

二、用户验证:

1、生成Auth所需文件:

php artisan make:auth

执行成功在路由中增加如下代码,在view层中增加如下文件:

访问/home路径,会跳转到用户登录页面:

2、数据迁移:

php artisan migrate

如果出现如下报错:

则需要添加如下代码:

Schema::defaultStringLength();

数据迁移执行成功,数据表就新增了三张表:

备注:数据迁移执行的创建数据表数据来源:

3、注册登录

执行成功数据迁移后,就可以在页面注册登录用户

注册成功,数据表就新增一条用户信息

三、数据迁移

1、新建一张表的迁移文件

php artisan make:migration create_students_table --create=students

2、生成模型的同时生成迁移文件

php artisan make:model Article -m // 添加-m就会同时生成迁移文件

3、使用迁移文件创建表:

php artisan migrate

四、数据填充

1、创建一个填充文件,并完善填充文件

php artisan make:seeder StudentTableSeeder

生成的填充文件:

在run方法中使用查询构造器添加数据:

2、执行单个填充文件

php artisan db:seed --class=StudentTableSeeder

如果出现如下错误:

则执行composer命令:

composer dump-autoload

填充成功,数据表多了两条数据:

3、批量执行填充文件

在DatabaseSeeder的run方法上添加,有其他表需要填充数据时可以添加多条:

$this->call(StudentTableSeeder::class);

然后在命令行中执行,即可实现数据填充:

php artisan db:seed

五、文件上传:

1、在配置文件中新增文件上传目录:

        'uploads' => [
'driver' => 'local',
'root' => storage_path('app/uploads'),
],

2、上传方法:

<?php
namespace App\Http\Controllers; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage; class StudentController extends Controller
{
public function upload(Request $request)
{
if ($request->isMethod('POST')) {
$file = $request->file('file');
// 文件是否上传成功
if ($file->isValid()) {
// 原文件名
$originalName = $file->getClientOriginalName();
// 扩展名
$ext = $file->getClientOriginalExtension();
// MimeType
$type = $file->getClientMimeType();
// 临时绝对路径
$realPath = $file->getRealPath(); $fileName = date('Y-m-d-H-i-s') . '-' . uniqid() . '.' . $ext; $bool = Storage::disk('uploads')->put($fileName, file_get_contents($realPath));
dd($bool);
}
}
return view('student.upload');
}
}

六、邮件发送

1、配置

laravel学习笔记3--高级的更多相关文章

  1. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

  2. Laravel学习笔记(三)--在CentOS上配置Laravel

    在Laravel框架上开发了几天,不得不说,确实比较优雅,处理问题逻辑比较清楚.     今天打算在CentOS 7上配置一个Laravel,之前都是在本机上开发,打算实际配置一下.     1)系统 ...

  3. Laravel学习笔记之Session源码解析(上)

    说明:本文主要通过学习Laravel的session源码学习Laravel是如何设计session的,将自己的学习心得分享出来,希望对别人有所帮助.Laravel在web middleware中定义了 ...

  4. matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色

    一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 < ...

  5. matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象

    一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matl ...

  6. Laravel学习笔记之PHP反射(Reflection) (上)

    Laravel学习笔记之PHP反射(Reflection) (上) laravel php reflect 2.1k 次阅读  ·  读完需要 80 分钟 3 说明:Laravel中经常使用PHP的反 ...

  7. laravel 学习笔记 — 神奇的服务容器

     2015-05-05 14:24 来自于分类 笔记 Laravel PHP开发 竟然有人认为我是抄 Laravel 学院的,心塞.世界观已崩塌. 容器,字面上理解就是装东西的东西.常见的变量.对象属 ...

  8. Laravel 学习笔记 —— 神奇的服务容器 [转]

    容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器.一个容器能够装什么,全部取决于你对该容器的定义.当然,有这样一种容器,它存放的不是文本.数值,而是对象.对象的描述(类.接口)或 ...

  9. 慕客网laravel学习笔记

    session中set方法使用 Session::set('user.username.age','18')嵌套使用得出$user = ['username'=>['age'=>18]]; ...

  10. laravel 学习笔记 —— 神奇的服务容器

    转载自:https://www.insp.top/learn-laravel-container 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器.一个容器能够装什么,全部取决于 ...

随机推荐

  1. ubuntu 12.04上安装QQ2013(转载)

    转自:http://www.cnblogs.com/wocn/p/linux_ubuntu_QQ_install.html 环境介绍: OS:Ubuntu12.04 64bit QQ:WineQQ20 ...

  2. Luogu P1233 木棍加工 【贪心/LIS】

    题目描述 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的.棍子可以被一台机器一个接一个地加工.机器处理一根棍子之前需要准备时间.准备时间是这样定义的: 第一根棍子的准备时间为1分钟: 如果刚处理 ...

  3. python列表和元组的常用操作

    一.列表 需要安利一下:列表和字符串数是不一样的.进行操作时列表可以发生改变,而字符串不可以,所以直接在原来的对象上操作. 1.列表的增加 def append(self, p_object): # ...

  4. HDU 1524

    思路: 算出来每个点的sg值,然后对于每个询问xor一下 //By SiriusRen #include <cstdio> #include <vector> using na ...

  5. 配置Ubuntu16.04第03步:安装搜狗输入法

    1.进入搜狗官网:https://pinyin.sogou.com/linux/ ,下载搜狗输入法安装包 2.使用dpkg命令安装Deb包: sudo dpkg -i sogoupinyin_2.0. ...

  6. Java多线程学习---------超详细总结(java 多线程 同步 数据传递 )

    目录(?)[-] 一扩展javalangThread类 二实现javalangRunnable接口 三Thread和Runnable的区别 四线程状态转换 五线程调度 六常用函数说明 使用方式 为什么 ...

  7. 防止系统页面被加载进 iframe 子窗口

    在controller的返回的响应头中添加 response.addHeader("x-frame-options", "DENY");  即可

  8. JDK常用类解读--String

    一.字符串的不变性: 文章使用的源码是jdk1.8的.(下同) 1.首先可以看到`String`是`final`类,说明该类不可继承,保证不会被子类改变语义 2.String的值实际上就是一个字符数组 ...

  9. [BZOJ4815][CQOI2017]小Q的表格 数论+分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4815 题目中所给条件中的$(a,a+b)$和$(a,b)$的关系很瞩目. 然后大家都知道$ ...

  10. ScrollView嵌套GridView,GridView显示不全

    最近开发有个需求是以A-Z的方式区分全国城市(搜索功能),并实现字母索引的功能(有点类似微信,不过比较坑的是用的是GridView, 并且GridView上面还有几个LinearLayout). 详细 ...