文档章节

使用PHPStorm+Composer快速初始化项目

slagga
 slagga
发布于 2016/08/10 13:54
字数 879
阅读 53
收藏 0
点赞 0
评论 0

PHPStorm是一款非常出色的PHP IDE;vim的忠实拥泵,可以添加一个IdeaVim的插件,继续使用vim的功能。二者结合,当属神器。当然,我还希望能更先进点,Composer的出现,使得PHP项目的代码组织和包依赖变的比以前简单了。三者的结合会如何?

创建项目

使用PHPStorm创建项目,这个我就不再废话了。 无论你是通过版本控制系统checkout一个项目;还是直接 create一个本地项目;或者create一个远程项目 ... ... 俺都不care。Just do it。 创建项目组织结构

所谓项目组织结构,最主要的就是目录结构了,我个人的习惯是 project_root -webroot nginx或者apache或者iis的root目录 -js -css -img -index.php 项目入口文件 -vendor composer管理的包,库所在目录 -composer.json -依赖的库,包等等,使用composer管理 -apps 自己根据情况设定或者根据使用的框架来设定子目录 -data 一些数据 -docs 一些文档 复制代码 可根据个人情况自由设定,但是使用composer一定会有vendor目录,vendor目录也不需要你手动创建,使用composer的时候会自动创建 使用composer初始化项目

直接下载 composer.phar 包(phar包类似java的jar包),放在项目根目录下 当你的工作目录是 workspace , 项目目录为 workspace/project_name,其实你可以直接把composer.phar放在workspace目录下 在workspace/project_name 目录下,执行 php ../composer.phar command 即可(command可替换为任何可用命令)

运行PHPStorm的Terminal工具,执行composer相关命令 当然你也可以 win+r键,输入cmd,进入dos命令行,然后切换目录到当前项目根目录执行命令

php composer.phar init 初始化 composer.json文件,运行命令会要求你输入一些信息,根据提示做吧 一直到 Define your dependencies 这一步,就是引入外部依赖

php composer.phar install 安装依赖包到vendor目录下,如果没有vendor目录会自动创建 当然你也可以在项目根目录下手动创建composer.json,然后再 php composer.phpar install 如果想删除对某个包的依赖,只能是手动删除vendor目录下的包,然后 php composer.phar update 顺带说下,phpstorm里面新建项目可选择创建composer项目,那为什么要使用命令行?原因就是composer的库,一直在加载的路上 不知道gfw弄的还是怎么搞的,命令行虽然慢点一定能成功。 Fuck GFW 。

composer常用命令

composer list 列出所有可用的命令 composer init 初始化composer.json文件(就不劳我们自己费力创建啦),会要求输入一些信息来描述我们当前的项目,还会要求输入依赖包 composer install 读取composer.json内容,解析依赖关系,安装依赖包到vendor目录下 composer update 更新最新的依赖关系到compsoer.lock文件,解析最新的依赖关系并且写入composer.lock文件 composer search packagename 搜索包,packagename替换为你想查找的包名称 composer require packagename 添加对packagename的依赖,packagename可修改为你想要的包名称 composer show packagename composer self-update 更新 composer.phar文件自身 composer command --help 以上所有命令都可以添加 --help选项查看帮助信息 复制代码 更详细准确的命令信息,请访问 composer cli command 后期依赖添加

本文转载自:http://www.colabug.com/thread-1050050-1-1.html

共有 人打赏支持
slagga
粉丝 15
博文 113
码字总数 103040
作品 0
深圳
程序员
白衣凡尘/saga-cli

saga-cli 版本: 用于快速创建React Saga项目 Install npm install -g saga-cli start 直接开始:初始化一个纯净的项目(只有核心代码、推荐大神使用) saga-cli init TestProject 或者 () 初始化...

白衣凡尘 ⋅ 2017/11/19 ⋅ 0

快速生成 React Redux-saga 项目--saga-cli

Saga-Cli 版本: 用于快速创建React Saga项目 Install Start 直接开始:初始化一个纯净的项目(只有核心代码、推荐大神使用) 或者 () 初始化一个带默认示例的业务项目(saga、router、bundle都集...

白衣凡尘 ⋅ 2017/11/17 ⋅ 0

前端工作流--generator-lego

generator-lego 基于 gulp 的前端工作流 快速开始 提供以下2种获取方式: Clone the repo 在克隆目录执行 链接到全局模块的位置 在空目录执行 初始化项目 npm 在空目录执行 初始化项目 文件结...

叶秀兰 ⋅ 2014/08/26 ⋅ 0

从零开始使用express搭建博客系统(一):前期环境构建与代码初始化

node 这里会有三篇文章,教你从零开始使用express搭建博客系统,每篇文章都很简单,希望大家看完文章能大致入门express。 一,安装node 直接在node官网进行下载,下载下来进行傻瓜式安装,安...

Darrell ⋅ 02/10 ⋅ 0

以太坊(Ethereum)开发框架 Truffle 入门(三):创建项目

创建项目文件夹 首先创建一个项目文件夹。你可以通过你喜欢的文件资源管理器或在命令行中执行以下命令: 初始化你的项目 接下来,初始化你的 Truffle 项目通过在命令行执行以下命令: 一旦执...

z35305515 ⋅ 2016/05/23 ⋅ 0

下拉分页选择插件 SelectPage v2.0 发布,大量更新

下拉分页选择插件 SelectPage v2.0 发布了,插件更新内容: 代码重构 修改默认样式,使用更简洁的风格 增加maxSelectLimit参数,设置多选模式下最大选择个数限制 增加eTagRemove回调函数,在...

TerryZ ⋅ 2017/08/14 ⋅ 6

基于小程序写法的跨平台应用开发框架--Hera

Hera Hera 是一个用小程序写法来写跨平台应用的开发框架,使用它可以让你的小程序除了在微信上运行,还可以打包成 Android 、 iOS应用,以及以 h5 的方式跑在浏览器端。 快速体验 安装脚手架...

卢勇福 ⋅ 2017/11/16 ⋅ 10

一篇文章带你了解微信小程序

小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户在微信中扫一扫或者搜一下即可打开应用 特点 无需安装、卸载 触手可及 用完即走 注册 在公众号中快速注册并...

angkee ⋅ 2017/09/15 ⋅ 0

腾讯生物认证平台--TENCENT SOTER

TENCENT SOTER是腾讯于2015年开始制定的生物认证平台与标准,通过与厂商合作,目前已经在一百余款、2.3亿部Android设备上得到支持,并且这个数字还在快速增长。 目前,TENCENT SOTER已经在微...

匿名 ⋅ 2017/08/04 ⋅ 0

08Vue.js快速入门-Vue综合实战项目

8.1. 前置知识学习 npm 学习 官方文档 推荐资料 需要了解的知识点 有时间专门写一个这样的专题,如果需要可以邮件我。malun666@126.com webpack基础学习 官方文档 Webpack了解的知识点: es...

aicoder ⋅ 2017/11/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Python爬虫,抓取淘宝商品评论内容

作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿“德州扒鸡”...

python玩家 ⋅ 14分钟前 ⋅ 0

MySQL 内核深度优化

MYSQL数据库适用场景广泛,相较于Oracle、DB2性价比更高,Web网站、日志系统、数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务...

java高级架构牛人 ⋅ 36分钟前 ⋅ 0

用户登录信息-钉子效果(基于jquery2.0)

本js效果使用jquery2.0,清晰的分解用户登录信息的(钉子效果),该效果直接用在作者网站(www.phpkhbd.com)上。 里面的难点有:定时器,延时。 大致效果如下: 一开始: 鼠标放上去的时候:...

宁哥实战课堂 ⋅ 37分钟前 ⋅ 0

解决yum安装报错Protected multilib versions

使用yum安装报错Protected multilib versions原因是因为多个库不能共存,不过更新的话也并不行,但是可以在安装命令后面加上如下一段命令: --setopt=protected_multilib=false 案例: 比如需...

北岩 ⋅ 49分钟前 ⋅ 0

为什么要学习Typescript???

简单来说 目前的typescript就是未来的javascript 为什么?? 这要从ECMA-262标准的第4版说起 对了 我们说的ES5 其实是ECMAScript3.1这个替代性建议被扶正了而已... 那么 第4版标准是什么? 看看...

hang1989 ⋅ 53分钟前 ⋅ 0

linux安装ipfs

一、下载ipfs # cd /usr/local/ipfs/ # wget https://dist.ipfs.io/go-ipfs/v0.4.15/go-ipfs_v0.4.15_linux-amd64.tar.gz # tar -zxvf go-ipfs_v0.4.15_linux-amd64.tar.gz 二、安装ipfs # ......

八戒八戒八戒 ⋅ 59分钟前 ⋅ 0

jvm程序执行慢诊断手册

生产环境最多的几种事故之一就是程序执行慢,如果是web服务的话,表现就是响应时间长。本文分享,从业多年形成的排查守则。 诊断步骤 系统资源查看 首先是系统资源查看,而且必须是在第一步。...

xpbob ⋅ 59分钟前 ⋅ 0

YII2 advanced 高级版本项目搭建-添加API应用以及多应用

一、YII安裝 安裝yii可以用composer安裝,也可以在yii中文社区下载归档文件安装 composer安装就不介绍了,因为要安装composer,比较麻烦,当然安装了composer是最好的,以后安装yii的插件要用...

botkenni ⋅ 今天 ⋅ 0

在jdk1.8的环境下模拟永久代内存溢出

相信不少小伙伴在看深入理解Java虚拟机的时候,作者给我们举例一个demo来发生PermGen space 1、通过List不断添加String.intern(); 2、通过设置对应的-XX:PermSize与-XX:MaxPermSize(更快看到...

虾几把写 ⋅ 今天 ⋅ 0

开发OpenDaylight组件的完整流程

在前面介绍学习了OpenDaylight的几个重要模块后,这里再来介绍下完整开发一个模块的过程。 OSGI的bundles提供被其他OSGI组件调用的服务。这个教程中展示的是Data Packet Service去解析数据包...

wangxuwei ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部