laravel入门及技术指南
介绍
Laravel 是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
参考
Laravel 5.7 中文文档 https://learnku.com/docs/laravel/5.7/installation/2242
Laravel8 中文文档 https://learnku.com/docs/laravel/8.x/
安装
我们使用composer安装,可以参考《Composer入门及技术指南》https://blog.csdn.net/yan_dk/article/details/90228559
注意,当前如果composer最新版本2.0以上使用,最好php版本使用>7.1的,本人现在使用版本为php7.2.9,使用php7.1.3是安装会出现问题。
composer.json文件如下
{"name": "laravel/laravel","description": "The Laravel Framework.","keywords": ["framework", "laravel"],"license": "MIT","type": "project","require": {"php": ">=7.2.9","laravel/framework": "^7.29"},"config": {"preferred-install": "dist"},"repositories": {"packagist": {"type": "composer","url": "https://mirrors.aliyun.com/composer/"}}
}
注意:这里php版本,laravel/framework的版本一定要找到合适对应的版本,不然会报错找不到包。可以到https://packagist.org/,输入“laravle/laravel”,查看匹配的版本。例如:现在最新laravel8版本,匹配php7.3以上,需要改配置为:
"php": ">=7.3.4",
"laravel/framework": "8.*"
更新依赖包,
> composer update
注:可能会报错,php需要安装扩展fileinfo。成功后生成vendor目录
建立laravel项目
# composer create-project laravel/laravel test
注意调整php环境版本,可能报错(如php还要取消相应禁用函数proc_open、putenv),会自动根据当前的php版本创建相应的laravel版本的项目,建立成功后会在当前目录下创建“test“项目
启动项目
>php artisan serve
浏览器访问
laravel8.0
可能有后台报错“RuntimeException No application encryption key has been specified”,需要运行如下指令
# php artisan key:generate
laravel7.29
IDE工具安装插件
针对phpstorm,可以安装laravel插件,方便编码
调试
安装调试工具,在phpstorm中安装
# composer require barryvdh/laravel-debugbar
安装完成后,在 config/app.php
中注册服务提供者到 providers
数组。
Barryvdh\Debugbar\ServiceProvider::class,
在配置文件 config/app.php
中添加到 aliases
数组:
'Debugbar' => Barryvdh\Debugbar\Facade::class,
然后运行如下 Artisan
命令将该扩展包的配置文件拷贝到 config
目录下:
php artisan vendor:publish
选1
如果配置文件中 debug
设置为 true
的话,Debugbar
分析器默认是启用的,如果你想要关闭该分析器,在配置文件 config/debugbar.php
中设置 enabled
为 false
即可。
phpstorm调试使用debug模式运行,显示如下:
编码
路由
生成控制器
资源控制器
# php artisan make:controller Api/OrderController --resouce
行为控制器
# php artisan make:controller Only/SlipController --invokable注意:
1.laravel8的路由写法按原有laravel5.7以下写法会报错,改动方法如下:class RouteServiceProvider extends ServiceProvider
{# 添加该属性就可以按照之前习惯的写法编码了protected $namespace = "App\Http\Controllers";
...
}
路由配置
// 单一控制器
Route::get('slip','Only\SlipController');
Route::get('slipindex','Only\SlipController@index');//资源控制器
Route::resource('order','Api\OrderController');
//资源访问限制
//允许指定方法访问
Route::resource('order1','Api\OrderController')->only(['index','store'
]);
//不允许指定方法访问
Route::resource('order2','Api\OrderController')->except(['index','store'
]);
视图
视图定义
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Laravel</title>
</head>
<body>
<form method="post" action="login">{{csrf_field()}}用户:<input type="text" name="username"><br>密码:<input type="text" name="password"><br><button type="submit">提交</button>
</form>
</body>
</html>
控制器
class LoginController extends Controller
{public function index() {return view("login/login");}public function store(Request $request){if ($request->method() == 'POST') {return 'username:'.$request->input('username').'password:'.$request->input('password');}}
}
路由配置
//登录
Route::get('login','LoginController@index');
Route::post('login','LoginController@store');
浏览器访问http://127.0.0.1:8000/login
laravel入门及技术指南相关推荐
- Python入门及技术指南
1. Python基础介绍 初识Python 官网:Welcome to Python.org Python文档下载地址:Our Documentation | Python.org 入门 Pytho ...
- Swoft入门及技术指南
初识Swoft 参考素材 swoft官网:http://swoft.org/ 在线官方文://档:http://www.swoft.org/documents/v2/ http://swoft.org ...
- 2019年全栈工程师技术指南和趋势!
作者:李棠辉 https://segmentfault.com/a/1190000017483325 这是一个2019年你成为前端,后端或全栈开发者的进阶指南: 1.你不需要学习所有的技术成为一个we ...
- 《算法竞赛入门经典训练指南》pdf
下载地址:网盘下载 基本介绍 编辑 内容简介 <算法竞赛入门经典:训练指南>题目多选自近年来ACM/ICPC区域赛和总决赛真题,内容全面,信息量大,覆盖了常见算法竞赛中的大多数细分知识点. ...
- 【评论分享有礼】毕业遇上疫情怎么办?4条技术指南轻松应对(内含求职、租房攻略)
摘要:这届应届生实在太难了! 云毕业照.云授学位.云拨穗.云毕业典礼--疫情之下,2020年的毕业季显得有些特别. 这一届毕业生们,既不能和同学们集体狂欢到天明,也面临着非常严峻的就业环境. 疫情之下 ...
- 电脑编程入门自学java_电脑编程入门自学Java指南
随着Java近些年来的强劲发展,想要转行学习Java的初学者也越来越多了.然而,入门自学Java并不是一件轻松的事情.众所周知,万事开头难,尤其是没有编程语言基础的学习者,不仅仅需要付出更多的心血和汗 ...
- 计算机视觉--CV技术指南文章汇总
前言 本文汇总了过去本公众号原创的.国外博客翻译的.从其它公众号转载的.从知乎转载的等一些比较重要的文章,并按照论文分享.技术总结三个方面进行了一个简单分类.点击每篇文章标题可阅读详细内容 欢迎关注 ...
- php laravel 教程,Laravel 入门到精通教程
Laravel 入门到精通教程 由 学院君 创建于1年前, 最后更新于 1个月前 版本号 #56 1986689 views 1127 likes 120 collects 适用于 Laravel 5 ...
- Laravel入门基础教程(一)
Laravel入门基础教程(一) Laravel号称是为 WEB 艺术家创造的 PHP 框架,一直想找机会接触一下,正好最近有时间,整理一下自己的学习路程.正好国内这方面的技术开发方兴未艾,希望大家都 ...
最新文章
- OpenCV中MeanShift算法视频移动对象分析
- 进击的python【第一集】
- MPICH 完整配置存档
- 解决: Cannot find module ‘webpack-cli/bin/config-yargs‘、Error: Cannot find module ‘webpack-cli‘
- java定时发送_Java 定时发送邮件 | 学步园
- 计划三年投入十亿资金,统信UOS生态腾飞加速
- c语言ch1与ch2什么意思,ch1和ch2是什么意思
- python设置端口控制ie浏览器_[Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置...
- C语言控制台程序添加图标(基于GCC编译器)
- CSAPP实验1:Data Lab笔记
- 更改matlab默认工作路径的正确方法!
- centos下查看服务器型号命令
- 发现自己很失败。。。
- iptables 防火墙中的SNAT和DNAT
- 笔试真题:100颗糖果,甲乙轮流从糖果盒中取出糖果,每次可取出2、4或6颗,若取得最后糖果的玩家为最终胜者,若甲先取z则(甲获胜,乙获胜,平局,不确定)
- 2022.11.20 学习周报
- 迪赛智慧数——柱状图(极坐标扇图):2021年全国出生人口数量TOP10省份
- 计算2的100次方模5的结果
- java selenium一一操作定位元素
- FFMPEG 讲webm 转成MP4
热门文章
- 诚通优股获多家评级机构认可,智能选股顺风远航
- 图解Javascript核心内容
- VC操作EXCEL(1)
- 今日早报 每日精选12条新闻简讯 每天一分钟 知晓天下事 7月31日
- 世嘉新人培训教材学习_第一章 (推箱子代码)
- 使用 gmail_如何更好地使用Gmail
- 有序序列插入c语言,已有一个排好序的序列,输入一个数插入到该序列中,使其仍然保持有序....
- OTRS6完整安装文档
- python打包可执行文件详解(pyinstaller)
- linux基础(1)-常见指令及权限理解