文档传送
安装 Lumen
composer global require "laravel/lumen-installer"
创建新的项目
//通过终端进入所需创建目录的文件夹
lumen new blog
//blog 为项目名称 可以替换为自己的
启动
// 命令行直接启动
php -S localhost:8000 -t public
// 通过phpstudy或者mamp等软件 将项目位置指向至lumen项目的public文件夹即可
# /Users/zhaozhongyang/Desktop/laravel/lumen/test/public
重置配置文件
将项目根目录的 .env.example 复制 并且命名为 .env
APP_NAME=Test //项目名称 可以自定义
APP_ENV=local //环境版本 一般定义 local 本地环境 dev 开发环境 beta 测试环境 online 线上环境
APP_KEY=ygtVjpPozI7ImzT533Pok0S1Zjk0aYEt //app_key 需要生成 32 为字符串 https://suijimimashengcheng.51240.com/
APP_DEBUG=true // 是否开启调试模式
APP_URL=http://localhost // 项目本地域名
APP_TIMEZONE=UTC //项目时间
# LOG_CHANNEL=stack //暂时不做讲解
# LOG_SLACK_WEBHOOK_URL= //暂时不做讲解
DB_CONNECTION=mysql //数据库类型
DB_HOST=127.0.0.1 //数据库ip
DB_PORT=3306 //数据库端口
DB_DATABASE=homestead // 数据库名称
DB_USERNAME=homestead // 用户名
DB_PASSWORD=secret // 密码
CACHE_DRIVER=file //cache 缓存存储类型
QUEUE_CONNECTION=sync //队列 同步
目录结构介绍
目前先介绍几个常用的目录其他目录去官网了解 传送门
- App(程序的核心代码目录重要)
- Console (控制台执行命令)
- Events (事件触发器)
- Http
- Controllers 控制器
- Middleware 中间件
- Jobs (任务队列)
- Listeners (事件监听器)
- Providers (服务提供者)
- Config(配置文件目录重要)
- Database(数据填充及迁移目录—一般不用)
- Public(静态资源及入口文件存放目录重要)
- resources(视图目录—一般不用)
- Routes(路由目录重要)
- Storage(缓存目录及log日志目录)
- Vendor(依赖包目录)
路由
路由文件在根目录的routes中
// 创建一个简单地路由
//定义一个get路由
$router->get('foo', function () {
return 'get';
});
// 定义一个post路由
$router->post('foo', function () {
return "post"
});
/**
* 路由常见方法
* $router->get($uri, $callback);
* $router->post($uri, $callback);
* $router->put($uri, $callback);
* $router->patch($uri, $callback);
* $router->delete($uri, $callback);
* $router->options($uri, $callback);
*/
// 路由参数传递
$router->get('user/{id}', function ($id) {
return 'User '.$id;
});
// 命名式路由
$router->get('profile', ['as' => 'profile', function () {
return 'profile';
}]);
// 命名式路由指向控制器
$router->get('profile', [
// 路由别名
'as' => 'profile',
// 控制器名称 默认指向命名空间为 App/Http/Controllers
'uses' => 'UserController@showProfile' // UserController 为class类 showProfile 为类的方法
]);
// 分组式路由
$router->group([
// 命名空间指定
'namespace' => 'Admin'
], function() use ($router)
{
$router->get('admin',[
'as' => 'admin',
//此时命名空间为App\Http\Controllers\Admin
'uses'=> 'AdminController@admin'
])
});
添加路由php文件
//在文件bootstrap/app.php 中的 113行中
$app->router->group([
'namespace' => 'App\Http\Controllers',
], function ($router) {
require __DIR__.'/../routes/web.php';
//新添加的路由文件
require __DIR__.'/../routes/api/test.php';
});
//在router中新建目录 api 且建立test.php 文件即可