Lumen 问题汇总
lumen 安装在子目录下时访问首页出现404错误
public/index.php 中的
1<?php
2
3$app->run();
改为
1<?php
2
3$app->run($app['request']);
lumen 配置数据库
- 在根目录添加 .env 配置文件并修改数据库信息
- app.php 文件中去掉
Dotenv::load(__DIR__ . '/../');
行的注释,只有去掉才可以使用env配置文件 - 控制器文件中通过 app 函数来调用数据库,例:
$result = app('db')->select("select * from xay_waiter");
使用 Session
- 开启Facades,开启方式是去掉 bootstrap/app.php 中
$app->withFacades();
的注释。 - 开启 Session,开启方式:去掉 bootstrap/app.php 中
$app->middleware();
的StartSession
中间件的注释。 - 使用时发生错误:Class ‘Memcached’ not found ,因为在 .env 文件中,Session 的默认驱动是:memcached。修改即可。
目前支持的驱动有:file、cookie、database、memcached、redis、array。 -
Session::put('key', 'value'); // 保存对象到 Session 中
$value = Session::get('key'); // 从 Session 取回对象
$value = Session::pull('key', 'default'); // 从 Session 取回对象并删除
$data = Session::all(); // 从 Session 取出所有对象
Session::has('users'); // 判断对象在 Session 中是否存在
Session::forget('key'); // 从 Session 中移除对象
Session::flush(); // 清空所有 Session
lumen 发送邮件
- 在 composer.json 中,添加 mail 依赖,添加完成后在命令行使用
composer update
命令更新 composer.lock 文件安装依赖
1"require": {
2 "illuminate/mail": "5.1.*"
3},
- 修改 env 配置文件中的邮件配置
1MAIL_DRIVER=smtp
2MAIL_HOST=smtp.gmail.com
3MAIL_PORT=25
4[email protected]
5MAIL_PASSWORD=password
6[email protected]
7MAIL_FROM_NAME=name
- 在控制器中使用
Mail::send()
方法发送邮件
1<?php
2
3$email = '[email protected]';
4$name = 'name';
5$token = 'token';
6$uid = 1;
7$data = ['email' => $email, 'name' => $name, 'token' => $token, 'uid' => $uid];
8
9// 发送简短字符而非完整视图
10Mail::raw('Text to e-mail', function ($message) {
11 $message->from('[email protected]', 'Laravel');
12 $message->to('[email protected]')->cc('[email protected]');
13});
14
15// 发送完整邮件
16Mail::send('activemail', $data, function ($message) use ($data) {
17 $message->from('[email protected]', 'from');
18 $message->to($data['email'], $data['name']);
19 $message->subject('欢迎注册,请激活您的账号!');
20});
- 在 /resources/views/ 目录下创建邮件视图文件 activemail.blade.php
1<!Doctype html>
2<html lang="zh-CN">
3 <head>
4 <meta charset="UTF-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 </head>
7<body>
8 <a href="http://www.google.com" target="_blank">{{$email.'+'.$name.'+'.$token.'+'.$uid}}点击激活你的账号</a>
9</body>
10</html>