lumen初学教程

文档传送
  • lumen文档
  • laravel文档
  • laravel命令速查表
安装 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 文件即可

你可能感兴趣的:(php,laravel,php)