• 周六. 3月 2nd, 2024

    [Laravel学习笔记] 二、 配置

    root

    7月 17, 2020 #Laravel学习笔记

    一、 目录结构

    app: 包含应用程序的核心代码
    bootstrap: 包含引导框架的app.php文件。cache目录,存放着用来提升性能的文件,比如路由和服务缓存文件
    config: 应用程序所有配置文件
    database: 包含数据填充和迁移文件以及模型工厂类。
    public: 包含入口文件index.php, 资源文件(如图片,js,css)
    resouce: 包含了视图和未编译的资源文件(如less、sass或javascript)
    routes: 包含了应用所有路由定义。web.php api.php console.php channels.php
    web.php 文件放置在web中间件组中的路由,提供会话状态、CSRF防护和cookie加密。如果你的应用不提供
    无状 态的、RESTful风格的API,则所有的路由都 在web.php文件中定义。
    api.php 放置在api中间件组中的路由,提供频率限制。 都是无状态的,所以通过这些路由进入应用请求旨在
    通过令牌进行身份认证,并且不能访问会话状态。
    console.php 定义所有基于控制台命令闭包函数的地方。 每个闭包函数都被绑定到一个命令实例并且允许和

    命令行IO方法进行简单的交互。
    channels.php 注册你的应用支持的所有的事件广播渠道的地方。

    storage: 包含编译后的Blade模板、session会话生成的文件,缓存文件以及框架生成的其他文件。
    app 可以用来存储应用生成的任何文件。
    framework 用来存储框架生成的文件和缓存。
    logs 包含应用的日志文件

    tests: 包含自动化测试文件。
    vendor: 所有Composer依赖包

    Console: 包含应用自定义的Artisan命令,这些类通过make:command生成。
    Exceptions: 包含应用的异常处理器,同时还是处理应用抛出的所有异常的好地方。
    Http: 包含了控制器、中间件以及表单请求等,几乎所有通过 Web 进入应用的请求的逻辑都在这里进行。
    Models: 包含所有eloquent模型类。
    Providers: 包含所有服务提供者。

    二、 配置信息

    所有配置文件都保存在config目录中。每个选项都有说明。在新安装好的Laravel应用中,其根目录会包含一个.env.example文件。 如果是通过Composer安装的Laravel。该文件会自动更名为.env。否则需要你手动更改一下文件名。
    你的.env文件不应该提交到应用程序的源代码控制系统中。
    .env文件中的所有变量都可被外部环境变量,(比如服务器级或系统级环境变量)所覆盖。

    当应用程序收到请求时,.env文件中列出的所有变量将被加载到PHP的超级全局变量$_ENV中。你可以使用env函数检索这些变量的值。

    'debug' => env("APP_DEBUG", false),  //第二个值是默认值

    应用程序当前所处环境是通过.env文件中的APP_ENV变量确定的。通过App facade中的 environment方法来访问此值:

    $environment = App::environment();
    if (App::environment('local')) {
        //当前环境是local
    }
    if (App::environment(['local','staging'])) {
        //当前环境是local或staging...
    }

    在调试页面隐藏环境变量,通过设置config/app.php中debug_blacklist选项来完成

    return [
       //...
       'debug_blacklist' => [
            '_ENV' => [
                 'APP_KEY',
                 'DB_PASSWORD',
             ],
             '_SERVER' => [
                 'APP_KEY',
                 'DB_PASSWORD',
              ],
              '_POST' => [
                    'password'
              ],
         ],
    ]

    全局函数config()来访问配置值

    $value = config('app.timezone');
    config(['app.timezone' => 'Asia/Shanghai']);   //设置配置值

    php artisan config:cache 将所有的配置文件缓存到单个文件中。这个命令不应在本地开发环境下运行,因为配置选项在应用程序开发过程中是经常需要被更改的。

    php artisan down   //启用维护模式
    php artisan down --message="Upgrading Database" --retry=60  //message选项:显示或记录自定义消息, retry设置HTTP请求头中Retry-After的值
    php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16
    php artisan up   //关闭维护模式

    root

    发表回复