武灵枫 173080175

以下是关于次app的展示截图

软件:PhpStorm 2019.3.2 x64、laragon

下面是创建过程

创建完成后,访问地址http://todos.test/看是否正常

用phpstorm打开工程目录

Laravel是一个符合MVC模式的框架
MVC即将应用拆分为模型、控制器和视图三个层次(Model、Controller and View)
三个层次各司其职,相互配合使功能模块的实现结构清晰,便于开放和维护

后面打开终端

下面是控制器中定义的一些方法

class TodoController extends Controller
{public function index(){$todos = Todo::orderByDesc('created_at')->get();return view('todos.index')->with(['todos'=>$todos]);// return view('todos.index');
}public function  show(Todo $todo){
//      die(var_dump($todoId));//     dd($todoId);//$to do =To do::findOrFail($todoId);return view('todos.show' , compact('todo'));
//        return $todo;}public function create(){return view('todos.create');}//武灵枫 173080175public function store(Request $request){$request->validate(['name' =>'required|min:3|max:20','desc' =>'required']);$name = $request->get('name');$description = $request->get('desc');$todo = new Todo();$todo->name = $name;$todo->description = $description;$todo->save();return redirect('/todos');}public function edit(Todo $todo){//  $todo = Todo::findOrFail($todoId);return view('todos.edit',compact('todo'));}public function update(Todo $todo,Request $request){$request->validate(['name' =>'required|min:3|max:50','desc' =>'required']);$name = $request->get('name');$description = $request->get('desc');// $todo = Todo::findOrFail($todoId);$todo->name = $name;$todo->description = $description;$todo->save();$request->session()->flash('success-info','更新成功!');return redirect("/todos{$todo->id}");}public function destroy(Todo $todo){//  $todo = Todo::findOrFail($todoId);try {$todo->delete();}catch (\Exception $e){dd($e);}return redirect('/todos');}//
}

在.env配置文件中更改数据为自己数据库的名称和密码

创建模型

创建迁徙文件

数据库迁徙

创建生成伪数据 

创建各类视图

<!doctype html>
<html lang="en">
<head><title>Todos</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" >{{--    <link rel="stylesheet" href="http://stackpath.bootstrapcdn.com/bootstrap/4.3.3/css/bootstrap.min.css">--}}
</head>
<body>
@extends('layouts.app')
@section('title','TODO CREATE')
@section('content')
<div class="container"><div class="row justify-content-center"><div><h1 class="text-center">Todos list</h1><ul class="list-group">@foreach($todos as $todo)<li class="list-group-item">{{$todo->name}}@if($todo->is_completed)<span class=" badge badge-pill badge-success">已完成</span>@else<span class="badge badge-pill badge-danger">未完成</span>@endif<a class="btn btn-primary float-right" href=" /todos/{{$todo->id}}">View</a>{{--<p>{{$todo->description}}</p>--}}<form action="/todos/{{$todo->id}}" method="post"class="d-inline-block float-right mr-2">@method('delete')@csrf<button type="submit" class="btn btn-danger">Delete</button></form></li>@endforeach</ul></div></div>
</div>
@endsection<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
{{--<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>--}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</body>
</html>

创建公用布局app.blade.phpapp.blade.phpapp.blade.php

<body>
<nav class="navbar navbar-expand-sm navbar-light bg-light"><a class="navbar-brand" href="/todos">todos app</a><button class="navbar-toggler d-lg-none" type="button" data-toggle="collapse" data-target="#collapsibleNavId"aria-controls="collapsibleNavId"aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggle-icon"></span></button>{{--武灵枫 173080175--}}<div class="collapse navbar-collapse" id="collapsibleNavId"><ul class="navbar-nav mr-auto mt-2 mt-lg-0"><li class="nav-item active"><a class="nav-link" href="/">home<span class="sr-only">(current)</span></a></li><li class="nav-item"><a class="nav-link" href="/todos">Todos</a></li><li class="nav-item"><a class="nav-link" href="/todos/create">create</a></li></ul></div>
</nav>
<div class="container">@if(session()->has('success-info'))<div class="alert alert-success mt-2" role="alert">{{session('success-info')}}</div>@endif@yield('content')
</div><script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
{{--<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>--}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</body>
</html>

所有路由设置

Route::get('/', function () {return view('welcome');
});
Route::get('api/users/{user}',function (App\User $user) {return $user->email;
});
/*Route::get('/about', function () {return view('about');
});*/
//Route::get('/about', 'AboutController@index');
Route::get('/todos', 'TodoController@index');
Route::get('todos/create','TodoController@create');
Route::post('/todos','TodoController@store');
Route::get('/todos/{todo}/edit','TodoController@edit');
Route::get('/todos/{todo}','TodoController@show');
Route::put('/todos/{todo}','TodoController@update');
Route::patch('/todos/{todo}','TodoController@update');
Route::delete('/todos/{todo}','TodoController@destroy');

详细页show.blade.php

在控制器update方法中,添加设置flash的代码

todos app简单编写(web)相关推荐

  1. 独家 | 如何用简单的Python为数据科学家编写Web应用程序?(附代码链接)

    作者:拉胡尔·阿加瓦尔(Rahul Agarwal), Walmart 实验室的数据科学家 翻译:陈之炎 校对:闫晓雨 本文约4300字,建议阅读10分钟. 本文阐述如何使用StreamLit创建支持 ...

  2. ipad php mysql_如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  3. ios php mysql实例_如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  4. 如何用简单的Python为数据科学家编写Web应用程序?(附代码链接)

    作者:拉胡尔·阿加瓦尔(Rahul Agarwal), Walmart 实验室的数据科学家 翻译:陈之炎  校对:闫晓雨 本文约4300字,建议阅读10分钟. 本文阐述如何使用StreamLit创建支 ...

  5. 如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  6. 【计算机网络作业】Java UDP聊天 和 Socket编写一个简单的Web服务器

    1-1 假设Tom和Jerry利用Java UDP进行聊天,请为他们编写程序.具体如下: (1).Tom和Jerry聊天的双方都应该具有发送端和接收端: (2).利用DatagramSocket与Da ...

  7. 编写简单的WEB服务器

    一.背景 我们都知道使用浏览器访问网址的方法,将网址输入进地址框中就会显示出相应的文字.图片.视频等信息.实际上基于socket的客户/服务器原理是相似的,虽然可能承载信息的载体不同,但其背后的原理是 ...

  8. 使用node.js作为简单的Web服务器

    我想运行一个非常简单的HTTP服务器. 对example.com每个GET请求都应该将index.html提供给它,但是作为常规HTML页面(即,与阅读普通网页时相同的体验). 使用下面的代码,我可以 ...

  9. [译]使用 Rust 开发一个简单的 Web 应用,第 4 部分 —— CLI 选项解析

    原文地址:A Simple Web App in Rust, Part 4 -- CLI Option Parsing 原文作者:Joel's Journal 译文出自:掘金翻译计划 本文永久链接:g ...

  10. 用Scala实现简单的Web和API服务器

    [CSDN 编者按]大家都知道Web和API服务器在互联网中的重要性,在计算机网络方面提供了最基本的界面.本文主要介绍了怎样利用Scala实现实时聊天网站和API服务器,通过本篇文章,你定将受益匪浅. ...

最新文章

  1. Python基于MASK信息抽取ROI子图并构建基于迁移学习(densenet)的图像分类器实战(原始影像和mask文件都是二维的情况)
  2. Android数据库--Sqlcipher的使用(一)
  3. 5万字长文:Stream和Lambda表达式最佳实践-附PDF下载
  4. syntaxhighlighter 代码高亮 - 插件化
  5. 注册表操作命令reg
  6. 19 个 K8S 日常故障处理集锦
  7. Protel 99se 快捷键
  8. hp计算机u盘启动,惠普台式机u盘启动(免费分享惠普电脑u盘启动步骤)
  9. git错误集(updating)
  10. NoteExpress的使用方法
  11. 无代码开发的未来是什么样的?
  12. dcs常用的冗余方式_DCS的冗余
  13. 《浅谈条形码技术在连锁超市中的应用》论文笔记(二)
  14. c++简易病毒(附代码)
  15. 如何在discuz帖子中插入视频
  16. 英语期刊写作-通往国际学术舞台的阶梯第四章网课答案
  17. SOME/IP开源库Vsomeip E2E保护实现分析
  18. JointJS 根据内容调整画布尺寸
  19. 关于cache miss和prefetch miss的实验
  20. vi 方向键与退格键解决办法

热门文章

  1. php是世界上最好的语言 ctf+代码审计+加密函数绕过
  2. java快捷复制_java - Eclipse复制/粘贴整行键盘快捷键
  3. 移植wpa_supplicant-2.2
  4. 洛必达法则介绍及使用注意点
  5. 业务逻辑安全思路总结
  6. 第6章 为用户编程:终端控制和信号
  7. lottie-动画转代码神器
  8. 拼多多和酷家乐面试经历总结(已拿offer)
  9. 计算机知识的研修总结,计算机信息技术学习研修总结
  10. 小程序中从后台获取内容纯数字、纯字母超出父盒子宽度时不换行 解决方法