后端_Laravel

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 soapeye --prefer-dist     配置数据库(env)且初始化前端资源(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
<?php

namespace 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

后台管理系统

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

相关推荐