二刷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命令

相关推荐
Godspeed Zhao1 天前
现代智能汽车系统——总线技术1
网络·汽车·php
stwood0071 天前
如何在 EC-CUBE 4 中为产品图像启用 WebP 格式图像
php
一人の梅雨1 天前
VVIC图片搜索接口进阶实战:服装批发场景下的精准识图与批量调度方案
开发语言·机器学习·php
m0_748229991 天前
Laravel 2.x:框架的早期特性解析
php·laravel
云游云记1 天前
php JWT 使用全攻略(firebase/php-jwt 实践笔记)
php·jwt
三七吃山漆1 天前
[网鼎杯 2020 朱雀组]phpweb
php·ctf·网鼎杯
CHU7290351 天前
一番赏盲盒抽卡机小程序:解锁惊喜体验与社交乐趣的多元功能设计
前端·小程序·php
njmanong1 天前
2026年海外代理IP实测:青果网络,bright data,iproyal,ipdodo,kookeey,oxylabs
网络·tcp/ip·php
云游云记1 天前
ThinkPHP 队列扩展 (topthink/think-queue) 使用笔记
php·thinkphp·think-queue
GodGump1 天前
从割草图到CSP压缩:大图计算的“减肥术”与“快照术”
服务器·开发语言·php