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 文件下面加上配置信息
用于指定代码的缩进样式和大小。
[*.{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
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)
>>>只有一个参数时:
父:
@yield('content')//占位区域
子:
@section('content')
<h1>主页</h1>
@stop
>>>两个参数时
@yield('该区块的变量名称', '默认值')
当@section传递了第二个参数时,就不需要@stop标识来告诉Laravel填充区块具体在那个位置结束
>>>在 @yield 区块后面进行内容拼接(丰富内容)
<title>@yield('title','Weibo App') - Laravel 新手入门教程</title>
2)@extends用来继承
@extends('layouts.default')