二刷Laravel 教程(构建页面)总结Ⅰ

L01 Laravel 教程 - Web 开发实战入门 ( Laravel 9.x )

一、功能

1.会话控制(登录、退出、记住我)

2.用户功能(注册、用户激活、密码重设、邮件发送、个人中心、用户列表、用户删除)

3.静态页面(首页、关于、帮助)

4.微博数据(发布微博、删除微博、微博列表)

5.社交功能(关注用户、取消关注、关注和粉丝列表页面、社交统计信息、关注用户动态流)


首先安装了小皮(php、composer)nodejs、npm


二、创建应用

1)cmd创建

composer create-project laravel/laravel weibo --prefer-dist "9.1.*"

2)在小皮上搭个站点

用小皮搭站点


三、统一代码风格

.editorconfig 文件下面加上配置信息

用于指定代码的缩进样式和大小。

php 复制代码
[*.{js,html,blade.php,css,scss,vue}]
indent_style = space
indent_size = 2

根据这个文件的设置,代码文件的缩进使用空格,每个缩进级别为2个空格。

这个文件适用于JavaScript、HTML、Blade模板、CSS、SCSS和Vue文件。

通过这个配置文件,你可以确保在不同的编辑器中保持一致的缩进样式。


四、静态页面

1)移除无用视图

rm resources/views/welcome.blade.php

2)MVC

MVC是一种软件架构设计模式

Model(模型)、View(视图)和 Controller(控制器)

1.用户在地址栏输入URL并访问

2.路由将URL请求映射到指定的控制器上

3.控制器与数据模型进行数据存取交互

4.控制器在数据读取完毕后,讲数据传给视图进行渲染

5.视图渲染完成在浏览器呈现完整页面

我理解的就是:

1.模型(Model)是与数据库(Database)相关联的,简而言之,就是在模型里面获取数据库数据

2.模型(Model)获取的数据就会与控制器(Controller)进行交互

3.(控制器一般写的就是处理该 URL 的控制器动作

4.最后在进行视图(View)的渲染

5.简而言之,就是控制器作为一个红娘,牵红线的人,将视图和模型相关联


3)配置路由

routes/web.php

php 复制代码
Route::get('/', 'StaticPagesController@home');
Route::get('/help', 'StaticPagesController@help');
Route::get('/about', 'StaticPagesController@about');

在 Laravel 中我们较为常用的几个基本的 HTTP 操作分别为 GET、POST、PATCH、DELETE

GET 常用于页面读取

POST 常用于数据提交

PATCH 常用于数据更新

DELETE 常用于数据删除


4)生成静态页面的控制器

php artisan make:controller StaticPagesController

生成的控制器文件里面有一个命名空间

所以在给StaticPagesController文件增加了动作之后

要前往路由的服务提供者类中设置命名空间

protected $namespace = 'App\\Http\\Controllers'; (受保护的)


namespace方法用于指定控制器命名空间。

在这里,$this->namespace表示从当前类的命名空间继承

Route::middleware('web')
->namespace($this->namespace)

->group(base_path('routes/web.php'));

这段代码的作用是将web.php文件中定义的路由应用到web中间件,并且将控制器的命名空间设为$this->namespace。


>>>app/Providers(存放『服务提供者』文件)

在Laravel框架中,服务提供者(Service Provider)文件通常存放在app/Providers目录下。

服务提供者在Laravel中扮演着非常重要的角色,用于注册和绑定各种服务、组件和功能。

app/Providers 目录下,

你可以找到一些默认的服务提供者文件,如 AppServiceProvider.php、EventServiceProvider.php 和 RouteServiceProvider.php........这些文件分别负责注册应用程序的基本服务、事件服务和路由服务。

除了默认的服务提供者文件,你也可以创建自己的服务提供者文件。你可以根据需要在 `app/Providers` 目录下创建新的服务提供者文件,以便注册和绑定自定义的服务、组件和功能。

在创建服务提供者文件后,需要在 config/app.php 配置文件的 providers 数组中添加相应的服务提供者类。

这样,Laravel框架在启动时会自动加载并注册这些服务提供者,使其可以被应用程序使用。

总结起来,服务提供者文件通常存放在 app/Providers 目录下,你可以在该目录下创建新的服务提供者文件,并在 config/app.php配置文件中注册这些服务提供者。


五、模板切分

1)@section和@yield(@section填充@yield)


>>>只有一个参数时:

父:

php 复制代码
@yield('content')//占位区域

子:

php 复制代码
@section('content')
  <h1>主页</h1>
@stop

>>>两个参数时

@yield('该区块的变量名称', '默认值')

当@section传递了第二个参数时,就不需要@stop标识来告诉Laravel填充区块具体在那个位置结束

>>>在 @yield 区块后面进行内容拼接(丰富内容)
php 复制代码
  <title>@yield('title','Weibo App') - Laravel 新手入门教程</title>

2)@extends用来继承

php 复制代码
@extends('layouts.default')

六、Artisan命令

相关推荐
一丝晨光1 小时前
Java、PHP、ASP、JSP、Kotlin、.NET、Go
java·kotlin·go·php·.net·jsp·asp
Eternal-Student5 小时前
everyday_question dq20240731
开发语言·arm开发·php
zhangphil7 小时前
Windows环境Apache httpd 2.4 web服务器加载PHP8:Hello,world!
php·apache·httpd
芒果作者15 小时前
dcatadmin 自定义登录页面
php
酷酷-19 小时前
彩虹易支付最新版源码及安装教程(修复BUG+新增加订单投诉功能)
html·php·bug
杨哥带你写代码1 天前
构建高效新闻推荐系统:Spring Boot的力量
服务器·spring boot·php
A 八方1 天前
【漏洞复现】泛微OA E-Office do_excel.php 任意文件写入漏洞
开发语言·安全·php
ac-er88881 天前
PHP__sleep和__wakeup有什么区别
开发语言·php
什么鬼昵称1 天前
Pikachu-PHP反序列化
开发语言·javascript·php
DK七七1 天前
【PHP陪玩系统源码】游戏陪玩系统app,陪玩小程序优势
前端·vue.js·游戏·小程序·php·uniapp