Laravel 入门30分

文章目录

  • Laravel 入门30分
    • 安装
      • 服务器要求
      • 安装Laravel
        • 通过 Laravel 安装器
        • 通过 Composer 创建项目
      • 本地开发服务器
    • 基础知识
      • 路由
    • 控制器
      • 创建一个控制器
      • 路由关联控制器
    • 视图
    • 模型
    • 操作数据
      • DB facade CURD
      • 查询构造器
    • 框架开发 Laravel-Admin
    • 入门
      • 安装

Laravel 5.5+

安装

服务器要求

  • PHP >= 7.0.0
  • PDO 扩展

安装Laravel

Laravel利用 Composer 管理依赖 。

确保你的机器安装了 Composer

通过 Laravel 安装器

composer global require "laravel/installer"

安装之后,laravel new 命令创建一个新的 Laravel 项目

laravel new blog

通过 Composer 创建项目

或者,可以通过 create-project 命令来安装 Laravel:

composer create-project --prefer-dist laravel/laravel blog "5.5.*"

本地开发服务器

php astrian serve

可以用 php 内置的 webServe 功能开启一个本地的 web 服务

php -t project-name/public -S localhost:8000

基础知识

路由

  • 基本路由

    Route::get('hello', function() {return 'Hello World';
    });Route::post('post', function() {return 'this is post route';
    });// 浏览器访问查看,下面注释简写
    // http://localhost:8000/hello
    
  • 多请求路由

    Route::match(['get', 'post'], 'multy1', function(){return '多请求路由';
    });Route::any('multy2', function() {return '多请求路由any'
    })
    
  • 参数路由

    Route::get('user/{id}', function($id) {return 'user id is ' . $id;
    });Route::get('users/{name?}', function($name='default params') {return 'route with params and has default';
    });
    
  • 路由别名

    Route::get('parent/member_user', ['as' => 'user', function() {return route('user');
    }]);
    
  • 路由群组

    Route::group(['prefix' => 'super'], function() {Route::get('user', function() {return 'super user';});Route::get('man', function() {return 'super man';});
    })
    // super/user
    // super/man
    

控制器

知识目标:

  1. 怎么新建一个控制器
  2. 控制器和路由怎么关联
  3. 关联控制器后,路由的特性怎么用

创建一个控制器

MemberController.php

<?phpnamespace App\Http\Controller;use Illuminate\Route\Controller;class MemberController extends Controller
{public function info(){return 'memberinfo';}
}

路由关联控制器

Route::get('memberinfo', 'MemberController@info');// OR
Route::get('memberinfo2', ['uses' => 'MemberController@info']);// 访问
// http://localhost:8000/memberinfo

视图

知识目标

  1. 怎么新建视图
  2. 怎么输出视图

视图文件在 resource/views 目录下

新建: member/info.blade.php

info.blade.php{{$name}} -> {{$age}}

MemberController.php

public function info()
{return view('member/info', ['name' => 'WangZheng','age' => 18])
}

模型

知识目标:

  1. 怎么新建模型
  2. 怎么使用模型

app目录下就是模式

新建 app/Member.php

namespace App;
use Illuminate\Database\Eloquent\Model;class Member extends Model
{public static getMember(){return 'WangZheng is super VIP';}
}

控制器中调用

use App\Member;class MemberController extends Controller
{public function info(){return Member::getMember();}
}

操作数据

Laravel 中提供3中操作数据库方式:

  1. DB facade (原始查找)
  2. 查询构造器
  3. Eloquent ORM

知识目标:

  1. 连接数据库与新建数据表
  2. 使用 DB facade 实现 CURD

配置文件在 config/database.php

读取的变量是读取 .env 文件中的

DB facade CURD

namespace App\Http\Controllers;use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;class StudentController extends Controller
{public function test1(){// 新增,返回 新增成功 true 或 新增失败 false$bool = Db::insert('insert into student(name, age) values(?, ?)', ['MM', 18]);var_dump($bool);// 改$num DB::update('update student set age = ? where id = ?', [20, 1]);var_dump($num);// 查$students = DB::select('select * from student');dd($students); // dd() laravel提供的友好输出函数// 删除$row = DB::delete('delete from student where id = ?', [1]);var_dump($row);}
}

查询构造器

知识目标:

  1. 查询构造器简介及新增数据
  2. 使用查询构造器修改数据
  3. 删除数据
  4. 查询数据
  5. 聚合函数

发现和TP5很像,由此猜测,TP5 借鉴了 Laravel,理由是 Laravel 比 TP5

emm,TP5 I get

新增

public function query1()
{$bool = DB::table('student')->insert(['name' => 'name1', 'age' => 19]);var_dump($bool);$id = DB::table('student')->insertGetId(['name'=>'getId', 'age'=> 22]);var_dump($id);// 一次增加多条数据用[[],[]]
}

更新

public function query2()
{$num = DB::tabel('student')->where(['id' => 3])->update(['age' => 33]);
}

删除

// 删除public function query3(){$num = DB::table('student')->where('id', '=', 12)->delete();var_dump($num);// 截断表操作,dangerousDB::table('student')->truncate();}

框架开发 Laravel-Admin

我本次学 Laravel 的目的是搭建一个官网的后台,方便推广人员自行更新官网的内容,不要每次修改东西都来找我们前端。现在是大前端时代,还在做切图仔???

抱歉,老子做不到

so,直接入手 Laravel 的一款后台框架,GitHub 一搜,OK,就它了

入门

安装

要求: php7+ Laravel5.5

首先确保安装好了 Laravel ,并且配置好数据库连接信息

  1. 配置数据库链接信息

    编辑 .env 文件,设置连接数据库的账号、密码、数据库名

  2. composer require encore/laravel-admin
    

运行下面的命令发布资源:

php artisan vender:publish --provider="Encore\Admin\AdminServiceProvider"

生成配置文件 config\admin.php 里面包含数据库链接的配置信息

本人并没有在次找到数据库连接配置信息,本人在 .env 中找到,并修改了配置

安装:

php artisan admin:install

这里我遇到一个问题,创建表的时候报错,数据字段太长

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

解决办法:

找到 app\Providers\AppServiceProvider.php 文件

use Illuminate\Support\Facades\Schema;public function boot(){//FIXME: 创建表报错,Specified key was too longSchema::defaultStringLength(191);}

Laravel快速入门相关推荐

  1. php类的测试用例,快速入门:集成 PHPUnit 编写测试用例

    快速入门:集成 PHPUnit 编写测试用例 由 学院君 创建于3年前, 最后更新于 11个月前 版本号 #2 14719 views 4 likes 0 collects 简介 Laravel 植根 ...

  2. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...

  3. PHP快速入门01-初识PHP语言

    文章目录 前言 关于PHP语言 写这篇专栏的目的 文适合阅读的人群 本专栏演示环境 PHP快速入门之语言基础 1.1 PHP语言开发环境搭建 1.2 PHP开发工具推荐 1.3 初识PHP,第一个De ...

  4. ASP.NET Core 快速入门

    ASP.NET Core 是一个由微软创建的,用于构建 web 应用.API.微服务 的 web 框架.通过本文的学习就能快速的入门ASP.NET Core,对大家的学习或者工作具有一定的参考学习价值 ...

  5. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  6. 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧

    异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...

  7. Spring Boot 2 快速教程:WebFlux 快速入门(二)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...

  8. Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)

    2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...

  9. 《iOS9开发快速入门》——导读

    本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...

  10. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序

    BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...

最新文章

  1. js中加入php读取文件名,js获取文件里面的所有文件名(实例)
  2. CSS使用display:incline与float:left的区别:脱离文档流 参差不齐
  3. 如何向IPython Notebook中导入.py文件
  4. ASP.NET Core Web API使用静态swagger.json文件
  5. MySQL时间戳与日期格式的相互转换
  6. 如何用python画转盘_如何用ppt做一个抽奖转盘 看完你学会了么
  7. eclipse 安装svn插件(Subclipse)
  8. R语言 | 构建信用评分卡模型
  9. nginx的安装及配置文件详解
  10. matlab的数字图像处理,基于MATLAB的数字图像处理分析及应用.pdf
  11. React 环境 webpack less 配置 及 javascriptEnabled 解决方法
  12. 热风销售不合格凉鞋、外套遭处罚,服装商家经营需诚信
  13. python dataframe 增加一行
  14. 星际争霸2中一些你不曾注意到的搞笑细节
  15. 2022 SpeechHome 语音技术研讨会-回顾
  16. tf.nn.dropout() 警报信息处理
  17. 在Unity中实现基于粒子的水模拟(二:开始着色)
  18. 《恐怖电脑》技术支持
  19. linux运维必备178个命令
  20. 手把手教你写《雷神》游戏(四)

热门文章

  1. Nike Zoom KD 5 “OKC / Away” colorway
  2. AMD不要靠近卡巴斯基,会变得不幸(卡巴斯基导致的蓝屏问题)
  3. 机器学习实战 | 综合项目-电商销量预估
  4. Spring核心--容器详解
  5. C/C++中最快、最简洁的read()快读(卡常数)方法
  6. java pdf打印_Java 打印PDF文档的3种方法
  7. import java.io 是什么意思_Java IO 详解
  8. 如何在不被支持的termux下载gh
  9. MATLAB实战系列(十三)-Matlab绘制柱形图使用技巧解答(附Matlab代码)
  10. STM32入门笔记(02):麦克纳姆轮、TB6612电机驱动、PID电机控制和编码器学习记录