首页
统计
友链
留言
Search
1
php解答leetcode第7题- 整数反转
2,753 阅读
2
Windows下搭建Laravel开发环境~homestead
2,749 阅读
3
基于php的sphinx和coreseek全文搜索,中文分词(一)
2,577 阅读
4
Laravel 安装 jwt 及基本使用
2,355 阅读
5
php解答leetcode第26题-删除排序数组中的重复项
1,947 阅读
PHP
laravel
svn
nginx
leetcode
算法
Golang
登录
Search
标签搜索
设计模式
leetcode
laravel
sphinx
coreseek
全文搜索
中文分词
compsoer
svn
centos
jwt
homestead
算法
php
yangpanyao
累计撰写
45
篇文章
累计收到
76
条评论
首页
栏目
PHP
laravel
svn
nginx
leetcode
算法
Golang
页面
统计
友链
留言
搜索到
4
篇与
laravel
的结果
2020-04-06
为你的laravel验证器加上多验证场景
前言在我们使用laravel框架的验证器,有的时候需要对表单等进行数据验证,当然laravel也为我们提供了Illuminate\Http\Request 对象提供的 validate 方法 以及FormRequest和Validator。FormRequest通过新建文件将我们的验证部分单独分开,来避免控制器臃肿。如果验证失败,就会生成一个让用户返回到先前的位置的重定向响应。这些错误也会被闪存到 Session 中,以便这些错误都可以在页面中显示出来。如果传入的请求是 AJAX,会向用户返回具有 422 状态代码和验证错误信息的 JSON 数据的 HTTP 响应。如果是接口请求或ajax,那么我们可能还需要将返回的json数据修改成我们想要的格式。当我们实际开发中,可能一个模块需要有多个验证场景,如果为每一个验证场景都新建一个FormRequest不就太过繁琐了。那么给laravel加上一个验证场景通过一个验证类一个模块或多个模块来适应不同的场景不就方便很多了。开始首先 我们封装了一个基类 BaseValidate.php并将其放在 app\Validate下,当然你也可以放在其他地方,只要修改好命名空间就好。<?php namespace App\Validate; use Illuminate\Support\Facades\Validator; /** * 扩展验证器 */ class BaseValidate { /** * 当前验证规则 * @var array */ protected $rule = []; /** * 验证提示信息 * @var array */ protected $message = []; /** * 验证场景定义 * @var array */ protected $scene = []; /** * 设置当前验证场景 * @var array */ protected $currentScene = null; /** * 验证失败错误信息 * @var array */ protected $error = []; /** * 场景需要验证的规则 * @var array */ protected $only = []; /** * 设置验证场景 * @access public * @param string $name 场景名 * @return $this */ public function scene($name) { // 设置当前场景 $this->currentScene = $name; return $this; } /** * 数据验证 * @access public * @param array $data 数据 * @param mixed $rules 验证规则 * @param array $message 自定义验证信息 * @param string $scene 验证场景 * @return bool */ public function check($data, $rules = [], $message = [],$scene = '') { $this->error =[]; if (empty($rules)) { //读取验证规则 $rules = $this->rule; } if (empty($message)) { $message = $this->message; } //读取场景 if (!$this->getScene($scene)) { return false; } //如果场景需要验证的规则不为空 if (!empty($this->only)) { $new_rules = []; foreach ($this->only as $key => $value) { if (array_key_exists($value,$rules)) { $new_rules[$value] = $rules[$value]; } } $rules = $new_rules; } // var_dump($rules);die; $validator = Validator::make($data,$rules,$message); //验证失败 if ($validator->fails()) { $this->error = $validator->errors()->first(); return false; } return !empty($this->error) ? false : true; } /** * 获取数据验证的场景 * @access protected * @param string $scene 验证场景 * @return void */ protected function getScene($scene = '') { if (empty($scene)) { // 读取指定场景 $scene = $this->currentScene; } $this->only = []; if (empty($scene)) { return true; } if (!isset($this->scene[$scene])) { //指定场景未找到写入error $this->error = "scene:".$scene.'is not found'; return false; } // 如果设置了验证适用场景 $scene = $this->scene[$scene]; if (is_string($scene)) { $scene = explode(',', $scene); } //将场景需要验证的字段填充入only $this->only = $scene; return true; } // 获取错误信息 public function getError() { return $this->error; } }使用接下来我们来验证一个文章的提交信息,首先我们新建一个文章验证类ArticleValidate.php并填充一些内容<?php namespace App\Validate; use App\Validate\BaseValidate; /** * 文章验证器 */ class ArticleValidate extends BaseValidate { //验证规则 protected $rule =[ 'id'=>'required', 'title' => 'required|max:255', 'content' => 'required', ]; //自定义验证信息 protected $message = [ 'id.required'=>'缺少文章id', 'title.required'=>'请输入title', 'title.max'=>'title长度不能大于 255', 'content.required'=>'请输入内容', ]; //自定义场景 protected $scene = [ 'add'=>"title,content", 'edit'=> ['id','title','content'], ]; }如上所示,在这个类中我们定义了验证规则rule,自定义验证信息message,以及验证场景scene非场景验证我们只需要定义好规则public function update(){ $ArticleValidate = new ArticleValidate; $request_data = [ 'id'=>'1', 'title'=>'我是文章的标题', 'content'=>'我是文章的内容', ]; if (!$ArticleValidate->check($request_data)) { var_dump($ArticleValidate->getError()); } }check 方法中总共有四个参数,第一个要验证的数据,第二个验证规则,第三个自定义错误信息,第四个验证场景,其中2,3,4非必传。如果验证未通过我们调用getError()方法来输出错误信息,getError()暂不支持返回所有验证错误信息 。场景验证我们需要提前在验证类中定义好验证场景如下,支持使用字符串或数组,使用字符串时,要验证的字段需用,隔开//自定义场景 protected $scene = [ 'add'=>"title,content", 'edit'=> ['id','title','content'], ];然后在我们的控制器进行数据验证public function add(){ $ArticleValidate = new ArticleValidate; $request_data = [ 'title'=>'我是文章的标题', 'content'=>'我是文章的内容', ]; if (!$ArticleValidate->scene('add')->check($request_data)) { var_dump($ArticleValidate->getError()); } }控制器内验证当然我们也允许你不创建验证类来验证数据,public function add(){ $Validate = new BaseValidate; $request_data = [ 'title'=>'我是文章的标题', 'content'=>'我是文章的内容', ]; $rule =[ 'id'=>'required', 'title' => 'required|max:255', 'content' => 'required', ]; //自定义验证信息 $message = [ 'id.required'=>'缺少文章id', 'title.required'=>'请输入title', 'title.max'=>'title长度不能大于 255', 'content.required'=>'请输入内容', ]; if (!$Validate->check($request_data,$rule,$message)) { var_dump($Validate->getError()); } }通过验证场景,既减少了控制器代码的臃肿,又减少了FormRequest文件过多,还可以自定义json数据是不是方便多了呢,参考文档laravel表单验证 :https://learnku.com/docs/laravel/5.5/validation/1302thinkphp验证场景 :https://www.kancloud.cn/manual/thinkphp5_1/354104
2020年04月06日
1,395 阅读
0 评论
0 点赞
2019-11-22
Windows下搭建Laravel开发环境~homestead
什么是homestead? Laravel Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果出现问题,你可以在几分钟内销毁并创建 Box!Homestead 可以运行在任何 Windows,Mac,或 Linux 系统,它包括了 Nginx web 服务器, PHP 7.2,PHP 7.1,PHP 7.0,PHP 5.6, MySQL,PostgreSQL,Redis,Memcached, Node,以及开发 Laravel 应用程序所需要的东西。安装准备Virtualbox , Vagrant , git , homestead boxVirtualbox VirtualBox 是 Oracle 公司的开源虚拟机软件。VirtualBox 号称是最强的免费虚拟机软件,它不仅功能齐全,而且性能也很优异!VirtualBox 支持大部分流行的系统,如:Mac, Windows, Linux 等。下载完后直接双击安装包进行安装即可下载链接https://download.virtualbox.org/virtualbox/6.0.14/VirtualBox-6.0.14-133895-Win.exeVagrantVagrant 是用来管理虚拟机的工具,支持当前主流的虚拟机系统如 VirtualBox、VMware、AWS 等。Vagrant 的主要作用是提供一个可配置、可移植和复用的软件环境。Vagrant 让你通过编写一个 Vagrantfile 文件来控制虚拟机的启动、虚拟机网络环境的配置、虚拟机与主机间的文件共享,以及启动后自动执行一些配置脚本,如自动执行一个 Shell Script 来安装一些必备的开发工具,如安装配置 MySQL、PHP,甚至是自动配置 Nginx 站点等, 下载完后直接双击安装包进行安装即可下载链接https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.msiGit下载链接 下载完后直接双击安装包进行安装即可https://github.com/git-for-windows/git/releases/download/v2.24.0.windows.2/Git-2.24.0.2-64-bit.exehomestead box 下载链接http://download.fsdhub.com/lc-homestead-6.4.1-2019072300.zipHomestead 介绍Homestead 利用 Vagrantfile 提供的便利,定制了一整套的可配置、可移植和复用的 Laravel 开发环境。Homestead 虚拟机里面包含了 Nginx Web 服务器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时需要用到的各种软件。Homestead 包含了两个东西:Homestead 管理脚本;Homestead Box 虚拟机盒子。1. Homestead 管理脚本Homestead 脚本使用 Ruby 和 Shell 脚本编写而成。原理是对 Vagrantfile 文件做定制。将从 ~/Homestead/Homestead.yaml 读取的配置信息,在 provision 时,解析为 Vagrant 命令并进行对虚拟机的配置。Homestead 脚本的作用在于,提供了极其简单易用的接口,使我们只需要通过傻瓜化配置,即可完成复杂的任务。以下是几个常用的任务:IP 配置,端口映射;Nginx Site 创建;数据库创建;主机文件夹挂载到虚拟机等任务。2. Homestead Box 虚拟机盒子homestead.box 虚拟机盒子是提前打包好的 Vagrant Box 虚拟机盒子,里面预装了 Nginx Web 服务器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时所需要用到的各种软件。安装和使用 Homestead请在非中文目录下解压下载的Homestead Box,中文路径会出现不可预知问题解压成功后,lc-homestead-6.4.1-2019072300 文件夹可任意删除。在目录 lc-homestead-6.4.1-2019072300下包含两个文件:virtualbox.box(Homestead 盒子)metadata.json(盒子的导入配置文件)(注意:此处需要修改 metadata.json 里的lc/homestead 为 laravel/homestead 不然会导致安装不成功)导入盒子在解压目录中 lc-homestead-6.4.1-2019072300 打开git命令行运行以下命令导入 Box:vagrant box add metadata.json下载 Homestead 管理脚本cd ~ git clone https://git.coding.net/summerblue/homestead.git HomesteadWindows 下,~ 目录代表着 C:\Users\你的用户名,而 ~/Homestead 代表着 C:\Users\你的用户名\Homestead 目录接下来我们需要初始化 Homestead:cd Homestead/ bash init.sh运行以上命令后,会在 ~/Homestead 目录下生成以下三个文件:Homestead.yaml - 主要配置信息文件,我们可以在此文件中配置 Homestead 的站点和数据库等信息;after.sh - 每一次 Homestead 盒子重置后(provision)会调用的 shell 脚本文件;aliases - 每一次 Homestead 盒子重置后(provision),会被替换至虚拟机的 ~/.bash_aliases 文件中,aliases 里可以放一些快捷命令的定义。接下来我们将会对 Homestead.yaml 文件的各项配置信息进行详细讲解。Homestead.yaml 配置文件Homestead.yaml 里的配置大致可以分为以下几种:虚拟机设置;SSH 秘钥登录配置;共享文件夹配置;站点配置;数据库配置;自定义变量;1. 虚拟机设置Homestead 支持我们对虚拟机的 IP,内存,CPU,虚拟机的默认提供者进行配置。这里我们基本不需要做任何配置,因此可以跳过。ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox2. SSH 秘钥登录配置authorize 选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地址,虚拟机初始化时,此文件里的内容会被复制存储到虚拟机的 /home/vagrant/.ssh/authorized_keys 文件中,从而实现 SSH 免密码登录。在这里我们默认填写即可。authorize: ~/.ssh/id_rsa.pubkeys 是数组选项,填写的是本机的 SSH 私钥文件地址。虚拟机初始化时,会将此处填写的所有 SSH 私钥文件复制到虚拟机的 /home/vagrant/.ssh/ 文件夹中,从而使虚拟机能共享主机上的 SSH 私钥文件,使虚拟机具备等同于主机的身份认证。此功能为 SSH 授权提供了便利,例如在后面章节中,我们只需要在 GitHub 上配置一个 SSH 公钥,即可实现 GitHub 对虚拟机和主机共同认证。此处我们将公钥和私钥一起同步到虚拟机中:keys: - ~/.ssh/id_rsa - ~/.ssh/id_rsa.pub接下来我们来生成 SSH Key,开始之前,我们先使用以下命令来检查主机上是否已经生成过 SSH Key:ls -al ~/.ssh如果存在 id_rsa 和 id_rsa.pub 的话,请跳过以下生成 SSH 的步骤继续阅读剩下内容。否则使用以下方法来生成 SSH Key,请将 your_email@example.com 替换为你的邮箱:ssh-keygen -t rsa -C "your_email@example.com"命令行会提示让你指定秘钥的名称密码等,按回车键默认即可,密码默认为空这个时候如果我们再使用:ls -al ~/.sshSSH 秘钥的两个文件:id_rsa —— SSH 秘钥的 私钥 (Private Key)id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)3. 共享文件夹配置我们可以通过 folders 来指明本机要映射到 Homestead 虚拟机上的文件夹。map 对应的是我们本机的文件夹,格式例如:E:/Homestead/Code,以开发者实际项目目录为准。to 对应的是 Homestead 上的文件夹。folders: - map: ~/Code to: /home/vagrant/Code默认 Homestead 会将我们本机的 ~/Code 文件夹映射到 /home/vagrant/Code 文件夹上。现在我们本机还没有 ~/Code 文件夹,让我们来创建一个:cd ~ mkdir Code我们将会在该文件夹下放置我们所有的 Laravel 项目,Homestead 会把该文件夹下的项目自动映射到虚拟机的 /home/vagrant/Code 文件夹上。4. 站点配置站点配置允许你在主机里,通过域名来访问虚拟机里的 Laravel 应用。如下面 sites 配置所示,将 homestead.test 映射到一个 Laravel 项目的 public 目录上。这一行配置,会命令 Homestead 为我们新建一个 Nginx 站点,并且把 Web Root 配置到指定目录下。Laravel 应用的 Nginx 站点 Web Root 配置,默认就是在根目录下的 public 目录。sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public目前 Laravel 项目并不存在。这里先统一配置为以上,请不用着急,在后面我们会创建该 Laravel 项目。另外,主机里直接访问虚拟机站点,必须通过绑定 hosts 来实现。接下来我们利用 hosts 文件绑定 homestead.test 到虚拟机 IP 192.168.10.10 上。hosts 文件的完整路径为 C:\Windows\System32\Drivers\etc\hosts在 hosts 文件的最后面加入以下一行:192.168.10.10 homestead.test至此站点就配置好了,等我们在后面创建 Laravel 项目后,即可通过浏览器访问 homestead.test 站点。5. 数据库配置我们可以为 Homestead 指定数据库名称,这里使用默认设置即可。databases: - homestead6. 自定义变量最后,如果你需要自定义一些在虚拟机上可以使用的自定义变量,则可以在 variables 中进行定义。variables: - key: APP_ENV value: localHomestead 自定义变量在本文中并未使用,知悉有此功能即可。运行 Vagrant完成了 Homestead 的配置,接下来我们要开始启动虚拟机了。在命令中输入 vagrant,能看到 Vagrant 为我们提供了一些便利的命令行,下面简单介绍一下 Vagrant 常用的一些命令行的使用:命令行说明vagrant init初始化 vagrantvagrant up启动 vagrantvagrant halt关闭 vagrantvagrant ssh通过 SSH 登录 vagrant(需要先启动 vagrant)vagrant provision重新应用更改 vagrant 配置vagrant destroy删除 vagrant启动 Homestead:cd ~/Homestead vagrant up第一次启动时,Vagrant 会做以下这几件事情:以导入的 Homestead 虚拟机盒子为模板,新建一台虚拟机;并按照 Homestead.yaml 里的配置信息,对这台新建的虚拟机进行配置;配置完成后启动虚拟机。成功启动后,还是在 ~/Homestead 目录中,通过以下命令来 SSH 登录 Homestead 虚拟机中请确保你的电脑 intel vt-x 是开启的 如未开启则ssh登录无响应在我们登录成功后,你能看到类似于如下图的界面,现在我们在该终端界面中输入的所有命令都将运行在 Homestead 虚拟机上。运行一个laravel项目首先更改我们虚拟机上的composer镜像为阿里云镜像composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/到虚拟机的code目录安装laravel应用:Cd ~/Code composer create-project laravel/laravel Laravel --prefer-dist "5.5.*"完成之后,访问 http://homestead.test 你能看到如下图所示界面,这是 Laravel 为我们生成默认界面。打开电脑的 Code 文件夹可以看到刚刚创建的 Laravel 应用,在虚拟机界面下可以输入退出虚拟机:exit最后尝试关闭 Homestead:vagrant halt参考文章 : 开发环境搭建 - Windows
2019年11月22日
2,749 阅读
1 评论
1 点赞
2019-08-29
Laravel 安装 jwt 及基本使用
什么是jwt?JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,用于在各方之间作为JSON对象安全地传输信息。此信息可以通过数字签名进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。jwt简介链接 https://jwt.io/introduction/我们在做api请求的时候,通常要使用token,来验证是否这个请求能不能访问。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的JWT的一个特性,因为它的开销很小,并且可以轻松地跨域使用。本文中所使用的版本Laravel 5.5jwt-auth 1.0.0-rc.1(在安装中也参考了很多文章 其他版本一直配置的不太顺利,这个版本比较好点)开始安装jwt(本次安装不建议直接在项目中安装及使用)1.composer 安装jwtcomposer require tymon/jwt-auth 1.0.0-rc.12.在config 文件夹的app.php 中注册服务提供者'providers' => [ Tymon\JWTAuth\Providers\LaravelServiceProvider::class, ] 'aliases' => [ 'JWTAuth'=> Tymon\JWTAuth\Facades\JWTAuth::class, 'JWTFactory'=> Tymon\JWTAuth\Facades\JWTFactory::class, ]3.生成配置文件php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"4.生成jwt 密钥php artisan jwt:secret然后会在我们的 .env 文件中生成jwt密钥5.在auth.php 文件中 配置 auth guard 让api的driver使用jwt'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'jwt',//更改此处为jwt 'provider' => 'users', ], ],6.更改 User model使其支持 jwt-auth<?php namespace App; use Tymon\JWTAuth\Contracts\JWTSubject; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements JWTSubject { use Notifiable; protected $table = 'users'; /** * Get the identifier that will be stored in the subject claim of the JWT. * * @return mixed */ public function getJWTIdentifier() { return $this->getKey(); } /** * Return a key value array, containing any custom claims to be added to the JWT. * * @return array */ public function getJWTCustomClaims() { return []; } 7.配置 中间件 在 Middleware 文件夹下新建 ApiAuth.php 中间件文件<?php namespace App\Http\Middleware; use Closure; use Tymon\JWTAuth\Facades\JWTAuth; use Tymon\JWTAuth\Exceptions\JWTException; use Tymon\JWTAuth\Exceptions\TokenExpiredException; use Tymon\JWTAuth\Exceptions\TokenInvalidException; class ApiAuth { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { try { if (! $user = JWTAuth::parseToken()->authenticate()) { //获取到用户数据,并赋值给$user return response()->json([ 'errcode' => 1004, 'errmsg' => '无此用户' ], 404); } return $next($request); } catch (TokenExpiredException $e) { return response()->json([ 'errcode' => 1003, 'errmsg' => 'token 过期' , //token已过期 ]); } catch (TokenInvalidException $e) { return response()->json([ 'errcode' => 1002, 'errmsg' => 'token 无效', //token无效 ]); } catch (JWTException $e) { return response()->json([ 'errcode' => 1001, 'errmsg' => '缺少token' , //token为空 ]); } } }注册中间件 在 Kernel.php 中注册中间件 并设置别名 protected $routeMiddleware = [ 'api.auth' => \App\Http\Middleware\ApiAuth::class, ];到此你的jwt就算安装配置完成了基本使用1.新建AuthCtorller.php 控制器php artisan make:controller AuthController2.编辑 测试控制器<?php namespace App\Http\Controllers; use App\User; use Illuminate\Http\Request; use Tymon\JWTAuth\Facades\JWTAuth; use Illuminate\Support\Facades\Hash; class AuthController extends Controller { /** * jwt 测试 */ //登录 public function login(Request $request){ $username = $request->get('username'); $password = $request->get('password'); $user_mes = User::where('username','=',$username)->first(); if (!$user_mes || !Hash::check($password, $user_mes->password)) { return "账号或密码错误"; } $token=JWTAuth::fromUser($user_mes);//生成token if (!$token) { return "登录失败,请重试"; } return response()->json(['token'=>$token]); } //获取用户信息 public function home(){ $user=JWTAuth::parseToken()->touser();//获取用户信息 return $user; } //退出 public function logout(){ JWTAuth::parseToken()->invalidate();//退出 return '退出成功'; } } 3.编辑路由<?php Route::post('/login','AuthController@login');//登录 Route::group(['middleware' => 'api.auth'], function () { Route::post('/home','AuthController@home');//获取用户信息 Route::post('/logout','AuthController@logout');//退出 });4.开始测试测试登录 /api/login 这里就成功的拿到了token获取用户信息 /api/home退出 /api/logout再次访问 /api/home 就会发现token 无效其他 - 设置token 永不过期在jwt.php 中 找到此处把过期时间设置为null在这个地方删除exp 即可设置token 永不过期
2019年08月29日
2,355 阅读
1 评论
0 点赞
2019-08-21
windows下使用composer 安装 laravel
一. composer的安装1.什么是composerComposer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。2.如何安装composer 为我们提供的两种安装方式 一种是安装包安装 一种是composer.phar 安装2.1 安装包安装这是composer的安装包连接 https://getcomposer.org/download/我们打开后 点击composer-Setup.exe 然后下载 composer进行安装运行composer安装包 点击next 然后会出现下面的界面这个是让我我们选择自己的php执行文件 ,大家根据实际情况自行选择,然后一直继续就好了安装完成后 我们打开命令行 输入 composer 如出现一下界面就代表你的composer 安装完成了接下来我们需要将composer的镜像切换为中国镜像https://pkg.phpcomposer.com/ 此为composer 中国镜像链接composer 镜像为我们提供了两种 配置方式 一种是全局安装 一种是 局部安装在这里我们推荐全局安装在命令行输入composer config -g repo.packagist composer https://packagist.phpcomposer.com至此 composer 的安装包安装就完成了2.2 composer.phar 安装还是这个连接 https://getcomposer.org/download/打开后我们选择最新的1.9.0 版本即可 点击 1.9.0 即可下载composer.phar下载完成后我们将它放在 php执行文件的根目录 也就是跟php.exe 同一个目录接下来我们创建一个执行文件 composer.bat 打开它并插入一下代码并保存@php "%~dp0composer.phar" %*然后打开命令行 输入composer 出现你的composer.phar方法安装composer成功了 后面的切换镜像就跟上面的一样了二.laravel 安装1.什么是laravelLaravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 – Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。这里我们安装的是laravel5.5首先 打开laravel5.5 文档手册 这里有安装方式 http://laravelacademy.org/post/7620.html切换composer中国镜像后在命令行输入composer create-project --prefer-dist laravel/laravel blog "5.5.*" -vvv接下来我们只需耐心等待即可 如果不切换目录的话 默认laravel5.5 会被下载到 C:UsersAdministrator名为blog 的文件夹 就是下载好的 laravel5.5 这时 我们将blog 整体放入的www目录下(这里我是用的是phpstudy)如使用其他请放入自己的网站根目录放入好后大家要看一下laravel5.5 的php 版本 以及扩展 (没有开的请自行开启,不然是没办法操作的)以下是laravel 的环境满足要求`PHP >= 7.0.0PHP OpenSSL 扩展PHP PDO 扩展PHP Mbstring 扩展PHP Tokenizer 扩展PHP XML 扩展`如果以上都满足了 接下来我们就可以成功安装laravel 了 laravel 默认的入口文件在public 下 所以 我们需要下浏览器输入localhost/blog/public 如出现一下界面就代表你的laravel 安装成功了!使用phpstudy 的phper 也可配置虚拟域名 访问 只需将 目录指向 public 即可 也是同样可以访问的!当然了 laravel 也为我们提供了一键安装包 http://laravelacademy.org/resources-download 后续都是一样的 但为了学习laravel需要 还是建议大家使用composer 安装
2019年08月21日
1,418 阅读
0 评论
0 点赞