laravel微博系列01

开始之前的准备

参考 http://junwind.top/2024/08/24/laravel-%e7%8e%af%e5%a2%83%e4%b8%8d%e6%8a%98%e8%85%be/ 文章安装。

提示:记得要安装PHP的mysql,redis扩展。

修改 .env 文件,配置MySQL,redis

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel-weibo
DB_USERNAME=laravel-weibo
DB_PASSWORD=123456

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=123456
REDIS_PORT=6379

测试mysql

1、在mysql的laravel-weibo库中,创建一个test表,随便给点字段,给几条数据。

2、打开 routes/web.php

use Illuminate\Support\Facades\DB;

...

Route::get('/', function () {
    $testData = DB::select("select * from test");
    print_r($testData);
    return view('welcome');
});

访问测试

测试redis

use Illuminate\Support\Facades\Redis;

...

Route::get('/', function () {
    Redis::set("name", 'xqw001');
    print_r(Redis::get("name"));
    return view('welcome');
});

同样访问页面测试。

换一个 APP_KEY

php artisan key:generate --show

提示:.env 中的配置,我们可以用 getenv() 来获取。

创建几个静态页面

删除默认的 welcome 页面

rm resources/views/welcome.blade.php

添加路由

routes/web.php

Route::get('/', 'StaticPagesController@home');
Route::get('/help', 'StaticPagesController@help');
Route::get('/about', 'StaticPagesController@about');

GET 获取数据
POST 添加数据
PATCH 更新数据
DELETE 删除数据

修改路由服务提供者,使其支持 class@method路由方式

app/Providers/RouteServiceProvider.php

protected  $namespace =  'App\\Http\\Controllers'; 

Route::middleware('web')
    ->namespace($this->namespace)
    ->group(base_path('routes/web.php'));

添加控制器

php artisan make:controller StaticPagesController

创建三个方法

public function home()
{
	return view('static_pages/home');
}

public function help()
{
	return view('static_pages/help');
}

public function about()
{
	return view('static_pages/about');
}

添加视图文件

添加通用视图

<!DOCTYPE html>
<html>
<head>
    <title>@yield('title', 'Weibo App') - laravel</title>
</head>
<body>
@yield('content')
</body>
</html>

about.blade.php 页面,其它两个页面类似。

@extends('layouts.default')
@section('title', '关于')

@section('content')
    <h1>关于</h1>
@stop

视图优化

从 default 中分出,header,footer 两个局部视图

default.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>@yield('title', 'Weibo App') - Laravel 入门教程</title>
    <link rel="stylesheet" href="{{ mix('css/app.css') }}">
</head>

<body>

    @include('layouts._header')

    <div class="container">
        <div class="offset-md-1 col-md-10">
            @yield('content')
            @include('layouts._footer')
        </div>
    </div>

</body>
</html>

_header.blade.php

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
    <div class="container ">
        <a class="navbar-brand" href="/">Weibo App</a>
        <ul class="navbar-nav justify-content-end">
            <li class="nav-item"><a class="nav-link" href="/help">帮助</a></li>
            <li class="nav-item" ><a class="nav-link" href="#">登录</a></li>
        </ul>
    </div>
</nav>

_footer.blade.php

<footer class="footer">
    <img class="brand-icon" src="https://cdn.learnku.com/uploads/sites/KDiyAbV0hj1ytHpRTOlVpucbLebonxeX.png">
    <a href="https://learnku.com/laravel/courses" target=_blank class="text-decoration-none">
        刻意练习,每日精进
    </a>

    <div class="float-end">
        <a href="/about" class="text-decoration-none">关于</a>
    </div>
</footer>

home.blade.php

@extends('layouts.default')

@section('content')
    <div class="bg-light p-3 p-sm-5 rounded">
        <h1>Hello Laravel</h1>
        <p class="lead">
            你现在所看到的是 <a href="https://learnku.com/courses/laravel-essential-training">Laravel 入门教程</a> 的示例项目主页。
        </p>
        <p>
            一切,将从这里开始。
        </p>
        <p>
            <a class="btn btn-lg btn-success" href="#" role="button">现在注册</a>
        </p>
    </div>
@stop

使用路由名称,来替换视图文件中的链接

Route::get('/help', 'StaticPagesController@help')->name('help');   // 这个 name("help") 中的 help 就是定义这条路由的别名为 help

// 页面中我们可以这样来替换原本写死的链接了
<li><a href="{{ route('help') }}">帮助</a></li>

这样写的好处是,假如我们需要将 http://xx/help 换为 http://xx/faq,我们可以仅改一个地方

Route::get('/faq', 'StaticPagesController@help')->name('help');

现在,可以将web.php路由文件中的路由,都添加上别名了,然后更改之前视图文件中写死的链接了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇