2-laravel-configuration

配置

哪里开始?

config 文件夹,这里主要配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ config [master] ⚡ ll
total 128
-rw-r--r-- 1 hackingangle staff 8.0K 1 25 14:05 app.php
-rw-r--r-- 1 hackingangle staff 2.2K 11 15 15:52 auth.php
-rw-r--r-- 1 hackingangle staff 1.4K 11 15 15:52 broadcasting.php
-rw-r--r-- 1 hackingangle staff 2.1K 11 15 15:52 cache.php
-rw-r--r-- 1 hackingangle staff 983B 11 15 15:52 compile.php
-rw-r--r-- 1 hackingangle staff 4.0K 11 15 15:52 database.php
-rw-r--r-- 1 hackingangle staff 2.5K 11 15 15:52 filesystems.php
-rw-r--r-- 1 hackingangle staff 4.3K 11 15 15:52 mail.php
-rw-r--r-- 1 hackingangle staff 2.6K 11 15 15:52 queue.php
-rw-r--r-- 1 hackingangle staff 985B 11 15 15:52 services.php
-rw-r--r-- 1 hackingangle staff 5.2K 11 15 15:52 session.php
-rw-r--r-- 1 hackingangle staff 1.0K 11 15 15:52 view.php

  • app
    • web程序的公共,service注册,时区设置,语言设定,debug模式开关,加密随机串,加密算法,别名,日志
  • database
    • 数据库:mysql,sqlite,pgsql,sqlsrv,redis
    • 返回类型:array|object
    • migrations路径

访问配置,用起来吧

1
2
3
4
5
6
7
// 获取时区
$value = config('app.timezone');
// 运行时,内存级改变
config([
'app.timezone' => 'UTC',
]);

让敏感信息躲在暗处

laravel 当前版本支持把数据库连接信息,加密随机串等敏感信息隐秘起来。所谓的隐秘,就是不让这些信息走版本控制。

env 来干活

1
env('DB_CONNECTION', 'mysql');

上面的话被引用自config/database.php用来从.env文件中读取DB_CONNECTION。版本控制中隐藏掉.env文件

运行环境

运行环境概念,允许区分线上、线下以及一些特殊的环境下的不同配置。

1
2
3
4
5
6
7
8
9
10
11
12
// App
$environment = App::environment();
// instance
$environment = app()->environment();
// 判断
if (App::environment('local')) {
// 环境为local执行
}
if (App::environment('local', 'staging')) {
// 环境为local 或 staging执行
}

线上优化

合并配置文件,被framework快速加载

1
php artisan config:cache

维护模式

维护模式重定向到resources/views/errors/503.blade.php

1
2
3
4
# 关闭维护模式
php artisan up
# 开启维护模式
php artisan down

1-laravel-install

安装

laravel安装器

通过打包安装,速度快点

1
2
composer global require "laravel/installer"
laravel new demo

composer安装

第一次较慢,而后会命中cache

1
composer create-project --prefer-dist laravel/laravel demo

跑起来

php内置服务器启动(php5.4+)

artisan启动

1
php artisan server

访问入口

http://localhost:8000/

laravel 初识

PHP社区框架繁多,论哪一种框架能够跟随上当今的社区大趋势,那一定要说到今天的主角-laravel

为什么用使用框架?

框架可以说是对所属的语言,在工程化过程中最好的诠释和理解。所以我们要跟随社区中的大神的思维,看看这些大神们是如何思考!如何理解!

社区

laravel@github

忽悠你改laravel阵营的理由:

  • 大神领头开发
  • 社区文档性健全、布道者多
  • 定期更新、安全性升级
  • 商业公司支援

站在巨人的肩膀上

Symfony组件

大量复用symfony的组件,避免重复造轮子

初识

组件分类

  • installation
  • artisan
  • configuration
  • migration
  • model
  • seeding
  • route
  • view
  • controller
  • packages
,