# 1、安装
## 1.1 服务器要求
>[info]Laravel框架有少量的系统要求,当然,Laravel Homestead 虚拟机满足所有这些要求:
~~~
PHP版本 >= 5.5.9
PHP扩展:OpenSSL
PHP扩展:PDO
PHP扩展:Mbstring
PHP扩展:Tokenizer
~~~
## 1.2 安装Laravel
>[info]Laravel使用Composer管理依赖,因此,使用Laravel之前,确保机器上已经安装Composer。
## 1.2.1 通过Laravel安装器
>[info]首先,通过Composer安装Laravel安装器:
composer global require "laravel/installer=~1.1"
确保~/.composer/vendor/bin在系统路径PATH中,否则不能调用laravel命令。
安装完成后,通过简单的laravel new命令将会在当前目录下创建一个新的Laravel应用,例如,laravel new blog将会创建一个名为blog的Laravel安装目录,该目录中已经包含了所有Laravel依赖。该安装方法比通过Composer安装要快很多:laravel new blog
## 1.2.2 通过Composer
>[info]你还可以在终端中通过Composer的create-project目录来安装Laravel:
composer create-project laravel/laravel --prefer-dist
该命令会在当前目录中创建一个名为laravel的Laravel安装,如果想要指定安装目录名,可通过如下命令:
composer create-project laravel/laravel blog --prefer-dist
该命令会在当前目录中创建一个名为blog的Laravel安装。
# 2、配置
## 2.1 基本配置
>[info]Laravel框架的所有配置文件都存放在config目录中,每一个选项都是文档化(有良好注释)的,所以随便浏览所有配置文件去熟悉这些配置选项。
## 2.1.1 目录权限
>[info]安装完Laravel后,需要配置一些权限。storage和bootstrap/cache目录应该是可写的,如果你在使用Homestead虚拟机,这些权限已经被设置好了。
## 2.1.2 应用Key
>[info]接下来要做的事情就是将应用key设置为一个随机字符串,如果你是通过Composer或者Laravel安装器安装的话,该key的值已经通过key:generate命令生成好了。通常,该字符串应该是32位长,该key被配置在.env环境文件中(APP_KEY),如果你还没有将.env.example文件重命名为.env,现在立即这样做。如果应用key没有被设置,用户sessions和其它加密数据将会有安全隐患!
## 2.1.3 更多配置
>[info]Laravel几乎不再需要其它任何配置就可以使用了,你可以自由地开始开发了!但是,你最好再看看config/app.php文件和它的文档,其中包含了一些基于你的应用可能需要进行改变的配置,比如timezone和locale。你可能还想要配置Laravel的一些其它组件,比如:缓存数据库Session
Laravel安装完成后,你还应该配置自己的本地环境,如数据库驱动、邮箱服务器、缓存驱动等。
## 2.1.4 美化URL
>[info]Apache
框架中自带的public/.htaccess文件支持URL中隐藏index.php,如过你的Laravel应用使用Apache作为服务器,需要先确保Apache启用了mod_rewrite模块以支持.htaccess解析。
如果Laravel自带的.htaccess文件不起作用,试试将其中内容做如下替换:
~~~
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginx
在Nginx中,使用如下站点配置指令就可以支持URL美化:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
~~~
>[info]当然,使用Homestead的话,以上配置已经为你配置好以支持URL美化。
## 2.2 环境配置
>[info]基于应用运行环境拥有不同配置值能够给我们开发带来极大的方便,比如,我们想在本地和线上环境配置不同的缓存驱动,在Laravel中这很容易实现。
Laravel中使用了Vance Lucas开发的PHP库DotEnv来实现这一目的,在新安装的Laravel中,根目录下有一个.env.example文件,如果Laravel是通过Composer安装的,那么该文件已经被重命名为.env,否则的话你要自己手动重命名该文件。
在每次应用接受请求时,.env中列出的所有变量都会被载入到PHP超全局变量$_ENV中,然后你就可以在应用中通过帮助函数env来获取这些变量值。实际上,如果你去查看Laravel的配置文件,就会发现很多选项已经在使用这些帮助函数了。
你可以尽情的按你所需对本地服务器上的环境变量进行修改,线上环境也是一样。但不要把.env文件提交到源码控制(svn或git等)中,因为每个使用你的应用的不同开发者或服务器可能要求不同的环境配置。
如果你是在一个团队中进行开发,你可能需要将.env.example文件随你的应用一起提交到源码控制中,通过将一些配置值以占位符的方式放置在.env.example文件中,其他开发者可以很清楚明了的知道运行你的应用需要配置哪些环境变量。
### 2.2.1 访问当前应用环境
>[info]当前应用环境由.env文件中的APP_ENV变量决定,你可以通过App门面的environment方法来访问其值:
~~~
$environment = App::environment();
你也可以向environment方法中传递参数来判断当前环境是否匹配给定值,如果需要的话你甚至可以传递多个值:
if (App::environment('local')) {
// The environment is local
}
if (App::environment('local', 'staging')) {
// The environment is either local OR staging...
}
~~~
>[info]应用实例也可以通过帮助函数app来访问:
~~~
$environment = app()->environment();
~~~
## 2.3 配置缓存
>[info]为了给应用加速,你可以使用Artisan命令config:cache将所有配置文件合并到单个文件里,这将会将所有配置选项合并到单个文件从而可以被框架快速加载。你应该将config:cache作为日常部署的一部分。
## 2.4 访问配置值
>[info]你可以使用全局的帮助函数config来访问配置值,配置值可以通过”.”来分隔配置文件和配置选项,如果配置选项不存在的话则会返回默认值:
~~~
$value = config('app.timezone');
如果要在运行时设置配置值,传递一个数组到config帮助函数:
config(['app.timezone' => 'America/Chicago']);
~~~
## 2.5 命名你的应用
>[info]安装完成Laravel之后,你可能想要命名你的应用,默认情况下,app目录处于命名空间App之下,然后Composer使用PSR-4自动载入标准来自动载入该目录,你可以使用Artisan命令app:name来改变该命名空间以匹配你的应用名称。比如,如果你的应用名称是“Horsefly”,你可以在安装根目录下运行如下命令:
~~~
php artisan app:name Horsefly
~~~
>[info]来重命名应用的命名空间,当然你也可以继续使用App作为命名空间不变
- 序言
- Web
- 基础
- (1)安装及配置
- (2)路由
- (3)中间件
- (4)控制器
- (5)请求
- (6)响应
- (7)视图
- (8)Blade模板引擎
- 数据库
- (1)起步
- (2)查询构建器
- (3)迁移
- (4)填充数据
- 模型和关联
- (1)起步
- (2)关联关系
- (3)集合
- (4)序列化
- 调试和日志
- API开发
- Artisan控制台
- Module模块
- (1)介绍
- (2)安装
- (3)使用
- 扩展
- (1)composer扩展
- (2)数据库字典安装
- 其他
- (1)Session
- (2)Redis
- (3)发送邮件
- (4)任务调度
- (5)文件上传
- 二次开发教程
- (1)项目结构简介
- (2)公共函数介绍
- (3)常用composer包
- (4)前台添加页面教程
- (5)后台添加页面教程
- (6)linux下项目的安装和升级
- (7)windows下安装和升级
- (8)数据库字典示例
- (9)前端模板教程
- 第三方账号申请
- 支付接口
- 微信支付
- 支付宝支付
- 第三方登录
- QQ登录
- 微信登录
- 新浪微博登录
- APP
- 项目简介
- API
- 雇佣
- 获取雇佣订单详情评价信息
- 获取雇佣订单作品详情信息
- 获取雇佣订单服务详情信息
- 获取雇佣订单另一方用户详情信息
- 雇主或威客维权
- 雇主或威客评论雇佣
- 雇主验收稿件
- 威客投稿
- 处理雇佣
- 获取雇佣订单详情信息
- 第三方支付雇佣赏金托管
- 余额支付雇佣赏金托管
- 创建雇佣信息
- 订单
- 我卖出的作品或服务雇佣的数量统计
- 我购买的作品或服务雇佣数量统计
- 雇主获取购买作品的评价信息
- 维权购买的作品
- 评价购买的作品
- 验收购买的作品
- 第三方支付购买作品
- 余额支付购买作品
- 购买作品
- 我卖出作品的订单详情
- 我购买作品的订单详情
- 我卖出的作品或服务的订单列表
- 我购买的作品或服务的订单列表
- 店铺
- 获取威客用户信息详情(没有店铺时)
- 用户任务评价列表(没有店铺时)
- 店铺评价列表
- 开启或关闭我的店铺
- 修改店铺背景图片
- 保存企业认证信息
- 威客店铺信息详情
- 我的店铺详情
- 保存店铺设置信息
- 获取店铺设置信息
- 获取店铺标签和可以选择的标签
- 获取雇佣服务信息
- 获取某个店铺下的全部服务信息
- 威客商城作品或服务列表或作品服务筛选列表
- 威客商城店铺列表或店铺筛选列表
- 热门分类信息
- 获取个人标签某个一级分类下的子分类信息
- 获取个人标签的一级分类信息
- 获取作品或服务的详情信息
- 查看作品或服务的评价信息
- 获取作品或服务的内容
- 获取某个店铺下的成功案例
- 获取某个店铺下的全部作品信息
- 获取威客店铺信息
- 查看是否可以进入雇佣页面
- 查看我发布的服务或我发布的服务筛选
- 查看我发布的作品或我发布的作品筛选
- 查看店铺被收藏状态
- 取消收藏店铺
- 收藏店铺
- 查询是否开启推荐服务增值工具
- 获取服务平台抽佣提成比例
- 查询是否开启推荐作品增值工具
- 获取作品平台抽佣提成比例
- 我收藏的店铺列表或对我收藏的店铺进行筛选
- 版本
- 获取im聊天appkey
- 获取App_ios当前的版本号
- 获取App安卓当前的版本号
- 财务
- 获取订单信息
- 赏金托管之余额支付(悬赏任务赏金托管,招标任务增值服务或赏金托管)
- 检测第三方支付配置信息
- 财务流水
- 提现
- 已认证的支付宝信息列表
- 已认证的银行卡信息列表
- 钱包余额
- 用户信息
- 技能标签(一级和二级)带选中状态
- 获取热门店铺信息
- 将系统消息和交易动态状态由未读变为已读
- 系统消息和交易动态未读消息数
- 关于我们
- 支付处理接口
- 获取用户充值信息
- 查询用户账户余额和每日提现金额
- 检验是否要跳转到修改支付密码页面
- 威客详情
- 帮助
- 意见反馈
- 获取威客的我的信息
- 获取雇主的我的信息
- 获取服务商列表信息
- 获取热门服务商信息
- 我是雇主首页的获取热门服务
- 获取首页顶部幻灯片信息
- 修改用户信息
- 修改个人案例信息
- 查询个人案例信息
- 添加个人案例信息
- 用户个人案例信息
- 添加、修改、取消个人标签
- 收藏任务
- 删除我收藏的某个任务
- 用户信息详情(雇主/威客)
- 我收藏的任务
- 任务
- 草稿箱任务删除
- 雇主未发布的任务编辑获取详情
- 稿件的维权详情
- 招标任务威客同意或拒绝付款方式
- 招标任务保存付款方式
- 招标任务查看付款方式
- 招标任务雇主托管赏金数据
- 任务详情评论列表
- 任务详情维权内容列表
- 任务详情交付稿件列表
- 威客承接任务统计
- 雇主发布的任务数量统计
- 创建任务获取任务增值服务列表
- 创建任务获取任务类型
- 威客查询交付稿件详情
- 雇主查询交付稿件详情
- 查看我同意协议信息
- 查看一级分类下的任务信息
- 我是威客首页热门任务
- 任务草稿箱
- 附件上传
- 获取省市区信息
- 任务大厅
- 威客的任务列表
- 查看评价信息
- 稿件回复
- 交易评论
- 交付稿件维权
- 交付稿件验收(成功或失败)
- 创建任务
- 稿件中标
- 稿件详情
- 创建交付稿件
- 创建稿件(投稿或报价)
- 稿件对应用户的好评率
- 根据任务id查询任务详情
- 雇主的任务列表
- 用户中心
- 登录
- 注册
- 注册手机验证码验证
- 退出登录
- 创建第三方登录信息
- 找回支付密码
- 修改支付密码
- 修改登录密码
- 找回登录密码
- 找回登录密码验证
- 发送手机验证码
- 认证
- 获取支付宝列表
- 获取银行卡列表
- 银行卡认证验证金额
- 验证支付宝认证金额
- 获取支付宝认证信息
- 支付宝认证
- 获取实名认证信息
- 获取认证的银行卡信息
- 获取银行认证可绑定的银行卡名称
- 银行卡认证
- 实名认证或企业认证接口
- Android
- Android打包用户须知
- 使用指南
- 基本配置
- 目录结构
- 第三方应用配置
- 自定义控件
- 下拉刷新,加载更多
- 图片上传
- 幻灯片控件
- 可分页的GridView
- Fragment懒加载
- 扫一扫
- 第三方jar包
- 常见问题
- iOS
- iOS打包用户须知
- 项目介绍
- 项目设计
- 目录结构
- 更改配置
- 常见问题
- App上架教程
- 苹果开发者账号如何申请?
- 第三方账号申请
- 微信
- 微博
- 支付宝
- ShareSDK
- OpenIM