Laravel快速入门
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
控制器
知识目标:
- 怎么新建一个控制器
- 控制器和路由怎么关联
- 关联控制器后,路由的特性怎么用
创建一个控制器
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
视图
知识目标
- 怎么新建视图
- 怎么输出视图
视图文件在 resource/views
目录下
新建: member/info.blade.php
info.blade.php{{$name}} -> {{$age}}
MemberController.php
public function info()
{return view('member/info', ['name' => 'WangZheng','age' => 18])
}
模型
知识目标:
- 怎么新建模型
- 怎么使用模型
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中操作数据库方式:
- DB facade (原始查找)
- 查询构造器
- Eloquent ORM
知识目标:
- 连接数据库与新建数据表
- 使用 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);}
}
查询构造器
知识目标:
- 查询构造器简介及新增数据
- 使用查询构造器修改数据
- 删除数据
- 查询数据
- 聚合函数
发现和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 ,并且配置好数据库连接信息
配置数据库链接信息
编辑
.env
文件,设置连接数据库的账号、密码、数据库名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快速入门相关推荐
- php类的测试用例,快速入门:集成 PHPUnit 编写测试用例
快速入门:集成 PHPUnit 编写测试用例 由 学院君 创建于3年前, 最后更新于 11个月前 版本号 #2 14719 views 4 likes 0 collects 简介 Laravel 植根 ...
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了
本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...
- PHP快速入门01-初识PHP语言
文章目录 前言 关于PHP语言 写这篇专栏的目的 文适合阅读的人群 本专栏演示环境 PHP快速入门之语言基础 1.1 PHP语言开发环境搭建 1.2 PHP开发工具推荐 1.3 初识PHP,第一个De ...
- ASP.NET Core 快速入门
ASP.NET Core 是一个由微软创建的,用于构建 web 应用.API.微服务 的 web 框架.通过本文的学习就能快速的入门ASP.NET Core,对大家的学习或者工作具有一定的参考学习价值 ...
- Shiro第一个程序:官方快速入门程序Qucickstart详解教程
目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...
- 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧
异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...
- Spring Boot 2 快速教程:WebFlux 快速入门(二)
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...
- Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)
2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...
- 《iOS9开发快速入门》——导读
本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序
BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...
最新文章
- js中加入php读取文件名,js获取文件里面的所有文件名(实例)
- CSS使用display:incline与float:left的区别:脱离文档流 参差不齐
- 如何向IPython Notebook中导入.py文件
- ASP.NET Core Web API使用静态swagger.json文件
- MySQL时间戳与日期格式的相互转换
- 如何用python画转盘_如何用ppt做一个抽奖转盘 看完你学会了么
- eclipse 安装svn插件(Subclipse)
- R语言 | 构建信用评分卡模型
- nginx的安装及配置文件详解
- matlab的数字图像处理,基于MATLAB的数字图像处理分析及应用.pdf
- React 环境 webpack less 配置 及 javascriptEnabled 解决方法
- 热风销售不合格凉鞋、外套遭处罚,服装商家经营需诚信
- python dataframe 增加一行
- 星际争霸2中一些你不曾注意到的搞笑细节
- 2022 SpeechHome 语音技术研讨会-回顾
- tf.nn.dropout() 警报信息处理
- 在Unity中实现基于粒子的水模拟(二:开始着色)
- 《恐怖电脑》技术支持
- linux运维必备178个命令
- 手把手教你写《雷神》游戏(四)
热门文章
- Nike Zoom KD 5 “OKC / Away” colorway
- AMD不要靠近卡巴斯基,会变得不幸(卡巴斯基导致的蓝屏问题)
- 机器学习实战 | 综合项目-电商销量预估
- Spring核心--容器详解
- C/C++中最快、最简洁的read()快读(卡常数)方法
- java pdf打印_Java 打印PDF文档的3种方法
- import java.io 是什么意思_Java IO 详解
- 如何在不被支持的termux下载gh
- MATLAB实战系列(十三)-Matlab绘制柱形图使用技巧解答(附Matlab代码)
- STM32入门笔记(02):麦克纳姆轮、TB6612电机驱动、PID电机控制和编码器学习记录