本文主要讲述在PHPStorm编辑器中如何使用PHPStorm的Laravel插件和Laravel IDE Helper来开发Laravel程序,结合我的积累的一点经验来讲明使用PHPStorm编辑器来开发程序仍是很顺手的,内容主要基于PHPStorm官方文档Laravel Development using PhpStorm
。php
本文主要涉及如下几个技巧:html
Composer的初始化mysql
Laravel IDE Helper的安装laravel
Laravel Plugin的安装git
PHPStorm对Laravel框架的支持github
PHPStorm对Blade模板引擎的支持sql
使用PHPStorm调试Laravel程序数据库
使用PHPStorm的单元测试功能json
使用PHPStorm的数据库功能bootstrap
(1)
、初始化composer
PHPStorm提供了composer配置功能,能够在PHPStorm新建一个空项目,而后在空项目根目录右键选择Composer|Init Composer...
,而后点击从getcomposer.org
网上下载,PHPStorm会自动下载composer.phar
文件,并在项目根目录下生成composer.json
文件,速度也很快:
对于composer.json
文件中数组key字段值能够在Composer官网上查找相关解释,包括重要的require
和require-dev
字段解释。(2)
、安装Laravel IDE Helper
安装也很简单,仍是在项目根目录右键找到Composer选择Add Dependancy...
,搜索laravel-ide-helper选择安装就行,若是composer.json文件中"minimum-stability":"stable"
那就必需要安装个稳定版的,我这里选择v2.1.2稳定版。安装后就会在根目录下自动生成一个vendor
文件夹,该文件夹存放各类依赖包。固然也可直接在composer.json里添加上require字段值及对应的laravel-ide-helper值,再php composer.phar composer.json update
就行,具体能够去packagist.org里去搜laravel-ide-helper找对应的安装方法。
其实,Laravel IDE Helper就是一个第三方安装包,安装后会有些代码提示等一些好处,也可选择不安装,固然安装也比较简单。安装后须要在config/app.php
里注册下Service Provider
就行:
return array( // ... 'providers' => array( // ... 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', // Laravel IDE helper ), // ... );
Laracasts官网上有一个有关Laravel Ide Helper的视频,能够看下,PHPStorm's Laravel Facades Issue
(3)
、安装Laravel Plugin
选择Preference
或者Command + ,
,选择下方的Browse repositories...
浏览插件仓库,并选择安装Laravel Plugin,并重启PHPStorm就行,最后在Preference|Other Settings|Laravel Plugin
里选择enable plugin for this project
再重启下PHPStorm就OK了:
So,安装Laravel Plugin有啥好处没:主要就是代码补全。针对Routes/Controllers/Views/Configuration/Services/Translations
的代码补全,比较方便而已,懒得装也能够不装。举个视图代码补全例子:
效率会高不少,并且安装也很简单,装一个也无妨嘛。
PHPStorm提供了对Blade模板语法高亮,并且还包括一些指令的补全和浏览,如@include/@section/@extends
等等,写代码时很方便:
总的来讲,PHPStorm对Blade模板的代码提示和补全仍是支持的比较好的,使用很顺手。
这里,还推荐一个Laravel Live Templates for PhpStorm
,安装地址:https://github.com/koomai/php...,这个小依赖包也比较好用,建议在PHPStorm中安装下,安装方法和好处能够进去看看,安装很简单。
Xdebug是调试PHP程序的神器,尤为在调试Laravel代码时会很是有用。在PHPStorm中配置Xdebug也很简单,首先看下PHP版本中是否安装了Xdebug扩展:
php -m [PHP Modules] apcu bcmath bz2 calendar Core ctype curl date dom exif fileinfo filter ftp gd gettext gmp hash http iconv imap intl json ldap libxml mbstring mcrypt mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_pgsql pdo_sqlite pgsql Phar posix propro raphf readline Reflection session shmop SimpleXML soap sockets SPL sqlite3 standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xdebug xml xmlreader xmlrpc xmlwriter xsl Zend OPcache zip zlib [Zend Modules] Xdebug Zend OPcache
若是没有装Xdebug扩展的话须要装一下,装完后修改下php.ini把xdebug.so前的路径';'去掉,并重启下PHP就行。若是你是本地开发,是MAC系统的话,能够装集成环境MAMP,该PHP中都有xdebug.so,不过须要使能下php.ini中xdebug扩展。
安装好后xdebug后,须要配置下PHP:
使能下PHPStorm中Debug Listening:点击Run->Start listening for PHP Debug Connections,而后点击右上角的下三角设置下:
能够选择新建一个PHP Web Application或者PHP Script,选择PHP Web Application的话须要配置下Server,默认本地开发而且路由为localhost,则配置以下:
这里以PHP Script举例,以下:
而后点击右上角的爬虫图标执行调试,而且各个变量值在调试控制台中显示:
大概聊了下在PHPStorm中配置Xdebug,无论咋样,必定要配置好Xdebug,这在平时读代码尤为Laravel源码时会很是有用。
首先须要在本地安装下PHPUnit:
wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar sudo mv phpunit.phar /usr/local/bin/phpunit phpunit --version
而后在PHPStorm中配置下PHPUnit:
Configuration file指向本地的phpunit.xml.dist文件,该文件是用来配置phpunit的测试套件的,能够看官网中文版的:[用 XML 配置来编排测试套件
][16],好比本人这里的套件配置:
<?xml version="1.0" encoding="UTF-8"?> <phpunit backupGlobals="false" backupStaticAttributes="false" bootstrap="vendor/autoload.php" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" syntaxCheck="true" verbose="true" > <testsuites> <testsuite name="flysystem/tests"> <directory suffix=".php">./tests/</directory> </testsuite> </testsuites> <filter> <whitelist> <directory suffix=".php">./src/</directory> </whitelist> </filter> <listeners> <listener class="Mockery\Adapter\Phpunit\TestListener" file="./vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/TestListener.php"></listener> </listeners> <logging> <!--<log type="coverage-text" target="php://stdout" showUncoveredFiles="true"/>--> <!--<log type="coverage-html" target="coverage" showUncoveredFiles="true"/>--> <!--<log type="coverage-clover" target="coverage.xml" showUncoveredFiles="true"/>--> </logging> </phpunit>
在写好PHPUnit测试后,能够在终端执行phpunit命令就行,或者单独执行某个测试类,能够在测试类里右键选择Run xxxTest.php就行,如:
写测试仍是颇有必要的,并且是必须的。PHPUnit写测试,之后还会详聊。
PHPStorm中提供了database插件,功能也比较强大,我想用过PHPStorm的应该都知道如何使用,这里聊下一个很好用的一个功能。常常遇到这样的一个情景:数据库装在数据库服务器db.test.com中,但本地是登录不上去的,但
在开发服务器host.company.com是能够连接数据库服务器的,那如何使用database来链接数据库服务器呢?
能够经过SSH tunnel来链接,如:
这里Auth type能够选择Password或者Key Pair,若是你是经过密码登陆开发服务器的,选择Password;若是是经过密钥登录的,选择Key Pair。而后在general tab中配置下数据库服务器就OK了。
PHPStorm还提供了Remote Host插件来连接远程服务器,点击Tools->Deployment->Browse Remote Host就可看到,这个插件和Database同样一样的方便看服务器的东西,并能够在本地修改病Upload到服务器上,而不用在Terminal中登陆到远程服务器,在Terminal上查看修改东西。
欢迎关注Laravel-China。