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

相关推荐
BingoGo2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack2 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack3 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
BingoGo5 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·laravel
JaguarJack5 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082855 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php