Laravel

搭建开发环境
Laragon是集成开发工具,作为开箱即用的工具:

  • 内置APache,Cmder,Composer,Git,HeidiSQL,Laragon,MYSQL,Nginx,Node.js,Notepad++,PHP,Redis,Yarn等.
  • 官网: https://laragon.org/download/
  • 注意安装时,选择Auto virtual hosts ,安装成功之后,点击Start All 之后打开 http://localhost

PHPStudy:

  • 官网下载 http://phpstudy.php.cn/
  • 安装配置,版本与数据库等,配置host与站点域名管理器.当打开Laravel异常时,可以选择PHP_OpenSSL.

创建项目

   在Windows系统,系统要预安装PHP和Composer.方式一:使用Laravel安装器安装:$composer global require laravel/installer  $laravel new projectname方式二:使用Composer自带的create-project命令来安装新应用 $composer create-project laravel/laravel blog --prefer-dist     配置数据库且初始化前端资源(npm install)

项目结构

  • app:存放应用核心代码,如模型、控制器、命令、服务等.
  • bootstrap: 用于存放Laravel框架的启动文件.
  • config: 项目的配置文件.
  • database: 存放数据库迁移的填充类文件.
  • public: Web应用入口目录,用于存放入口文件index.php以及前端资源文件等.
  • resources:用于存放与非PHP资源文件,如视图模板,语言文件,待编译的Vue模板,SaSS,JS源文件.
  • routes: 项目的路由文件.
  • storage: 存放缓存,日志,上传文件,已经编译过的视图模板等.
  • tests: 存放单元测试以及功能测试代码.
  • vendor: 通过Composer安装的依赖包.
  • .gitignore: 版本系统文件.
  • .env.example: 配置的示例模板.
  • .env: 真正的配置文件.
  • artisan:允许你在项目根目录下通过 php artisan 执行 Artisan 命令.
  • composer.json 和 composer.lock:Composer 配置文件.
  • webpack.mix.js:Laravel Mix Webpack 配置文件,用于编译和打包前端资源.
  • package.json:配置前端资源依赖和脚本(类似于 composer.json 之于 PHP).
  • phpunit.xml:PHPUnit 配置文件.
  • server.php:用于通过 php artisan serve 启动 PHP 内置服务器进行一些简单的本地预览.
  • yarn.lock:类似于 composer.lock 之于 Composer,指定 NPM 包版本.
  • .editorconfig:用于在不同 IDE 或编辑器中维护代码风格的一致性配置.

调试模式

 env 的APP_DEBUG=true    app.php的 'debug' =>('APP_DEBUG',false)

路由

  • 定义路由的入口文件: routes/web.php 用于处理终端用户通过web浏览器直接访问的请求. routes/api.php 用于处理其他接入方API请求.
  • 路由动作:Route::post('/',function(){}); 捕捉任何请求Routes:: any('/',function(){});
  • 复杂业务逻辑: 使用控制器的方法 Route::get('/','WelcomeController@index');

前端页面

  • 在resource/js/components目录下新增demo.vue,然后在resource/js/app.js中全局注册这个组件.

    Vue.component('welcome-component', require('./components/WelcomeComponent.vue'));const app = new Vue({el: '#app'
    });
  • 在页面编写:

    <div id="app"><welcome-component></welcome-component></div><script src="{{ asset('js/app.js') }}"></script>
    </div>
//中间件
Route:middleware('auth')->group(function () {Route::get('index',function () {return view('index');});Route::get('pagea', function () {return view('pagea');});
});//路由路径前缀
Route::prefix('api')->group(function () {Route::get('/',function () {//处理路由})->name('api.index');Route::get('users', function () { })->name('api.users');
})

控制器
在MVC模式中,控制器负责组织路由和业务逻辑,复杂的业务将业务逻辑交给Service,模型类负责底层数据存取与处理,视图层负责数据渲染与页面交互.
控制器适合负责对HTTP请求进行路由.

//控制器demo,新建Sunday控制器在APP/Http/Controllers
<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class TaskController extends Controller
{public function home(){return 'Hello, World!';}
}

在web.php进行定义 Route::get('/task', 'TaskController@home');

Blade

 Blade语法,传递变量

控制器

  • 创建的位置: 在app/Http/Controllers目录下创建. 命名规则,小骆驼峰法.
  • 路由的调用格式: Route::get('user/tom','UserController@tom');

数据库的操作

  • 数据的配置位于config/database.php, 数据库用户名与密码等敏感信息位于.env文件.
  • 列表项目

处理用户请求
前端
Laravel提供Bootstrap的开箱支持,位于resource/js/bootstrap.js.然后在roueses/sass/app.css引入bootstrap 在npm install 安装前端依赖.
Laravel Mix是对Webpack进行封装后提供给Laravel项目的前端打包工具.
Laravel默认提供的CSS是SCSS文件.
(1)使用Vue.js

 在resources/js/components 目录下新增一个 Vue 组件文件 Index.vue在resource/js/app.js 中注册:  Vue.component('index-component', require('./components/Index.vue'));在<div id="app"><index-component></index-component></div>,使用组件.引入编译后的app.js文件,完成Vue文件的渲染与挂载.再npm run dev 重新编译前端资源.

(2)使用Laravel Mix,编译前端资源.

数据库操作

数据库的连接配置文件位于 config/database.php

文件异步上传

通过Request请求实例的file方法获取用户上传文件。

Artisan
Laravel内置的的命令行操作工具集,支持自定义命令.应用的根目录有artisan文件,作为命令行交互的入口文件.

$ php artisan list  查看所有命令
$ php artisan make:controller March

后台管理系统

创建路由-->创建控制器-->创建视图.

后端_Laravel相关推荐

  1. 后端怎么防止重复提交?(常用的做法)

    后端怎么防止重复提交?(常用的做法) 客户端的抖动,快速操作,网络通信或者服务器响应慢,造成服务器重复处理.防止重复提交,除了从前端控制,后台也需要控制.因为前端的限制不能解决彻底.接口实现,通常要求 ...

  2. 大三后端暑期实习面经总结——SSM微服务框架篇

    博主现在大三在读,从三月开始找暑期实习,暑假准备去tx实习啦!总结下了很多面试真题,希望能帮助正在找工作的大家!相关参考都会标注原文链接,尊重原创! 目录 1. mvc.mvp.mvvm MVC架构 ...

  3. 前后端分离必备工具:Swagger快速搞定(整合SpringBoot详细教程)

    本文根据狂神教学视屏同步所做笔记 目录 一.Swagger简介 1. 前后端分离 2. Swagger引入 二.SpringBoot集成Swagger 1. 新建springboot项目 2. 导入S ...

  4. CPU架构的llvm后端

    Creating an LLVM Backend for the Cpu0 Architecture Backend structure • TargetMachine structure • Add ...

  5. 动态表单工作量给后端

    动态表单工作量给后端 让前端远离互相伤害 一个IT公司的日常就是程序员.产品经理.UI等同事们的互相残杀: 应用,不少前端就备受煎熬,除了修改需求的魔咒外,还有后端的重构和调整接口诅咒,即便需求没改, ...

  6. MindSpore后端运行类

    MindSpore后端运行类 Q:如何在训练过程中监控loss在最低的时候并保存训练参数? A:可以自定义一个Callback.参考ModelCheckpoint的写法,此外再增加判断loss的逻辑: ...

  7. 用于ONNX的TensorRT后端

    用于ONNX的TensorRT后端 解析ONNX模型以使用TensorRT执行. 另请参阅TensorRT文档. 有关最近更改的列表,请参见changelog. 支持的TensorRT版本 Maste ...

  8. 前后端分离nginx配置,同时解决跨域问题

    背景 现在,web开发的前后端分离技术越来越火爆,由于最近的公司官网使用了前后端分离的方案,这里就来记录一下前后端分离的项目部署.这里我们使用的前端框架是Vue.js,后台使用Laravel7提供数据 ...

  9. node、Mongo项目如何前后端分离提供接口给前端

    node接口编写,vue-cli代理接口方法  通常前端使用的MocK 数据的方法,去模拟假的数据,但是如果有node Mongodb 去写数据的话就不需要在去mock 数据了,具体的方法如下. 首先 ...

最新文章

  1. 18.自定义过滤器表头排序
  2. 事件相关去同步 (ERD) 和事件相关同步化 (ERS)在脑电信号研究中的应用
  3. Ubuntu 8.04下Netbeans的字体反锯齿解决(转)
  4. IDEA配置tomcat部署web项目时没有artifacts
  5. Linux的gcc编译器下载,gcc编译器下载
  6. networkx 点的属性_在NetworkX中分配节点属性时发生类型错误
  7. python创建一个有序链表_Python实现单向有序链表(Singly linked list)
  8. Android第九天
  9. zend新建php项目,如何使用Zend Studio创建PHP项目
  10. 材料学真的没前途吗?
  11. 应用程序池是个什么东东?
  12. vue-element-ui-文件上传ts版
  13. 【第70期】终于找到了!AI学习路线图——从零基础到就业
  14. 【 产品经理学习笔记 | 巨详细】1.1-1.4 初识产品经理
  15. 什么是企业管理咨询服务?
  16. vivo Y85的usb调试模式在哪里,打开vivo Y85usb调试模式的方法
  17. 名词诠释大全以及新站上线后,seo优化应该如何做?
  18. WordPress更新文章实时推送到百度
  19. 蓝牙开发那些事(9)——结合代码看a2dp协议
  20. IIC 总线协议(Verilog)

热门文章

  1. 【微信小程序】:实现轮播图3秒滚动
  2. Java 线程池submit和execute
  3. 简单配置snmpd.conf
  4. Activity采用栈式管理的理解
  5. 规划以主机命名的网站集 (Windows SharePoint Services)
  6. RK3288 make otapackage 出错的问题【转】
  7. 在线答题系统开发经验mysql,php
  8. 转 Log4j.properties配置详解
  9. 【转】微信扫描二维码登录网页是什么原理?
  10. 用结构体实现一个电话本