使用PhpStorm创建和配置Laravel项目

时间:2014-11-20 13:58:13

标签: php laravel laravel-4 phpstorm

我很满意整个Homestead的东西以及它与IDE的关系。假设我在~/Developer/PhpStorm中安装了我的PhpStorm,而Homestead位于~/Developer/Homestead。这就是我在Homestead中的YAML文件的样子:

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Developer/Homestead/workspace
      to: /home/vagrant/Code

sites:
    - map: helloworld.app
      to: /home/vagrant/Code/Laravel/public

variables:
    - key: APP_ENV
      value: local

所以,你看到我在Homestead目录中有一个工作区文件夹。 我还有另一个目录:~/Developer/workspace/PHP我计划存储我的项目,而不是在Homestead文件夹中。

我在PhpStorm中安装了Laravel插件。而且,为了使Laravel插件在PhpStorm中工作,需要this generated file。我的问题是:

  1. 我应该在哪里放置_ide_helper.php文件,以便PhpStorm与Laravel正常工作?我应该将它粘贴到每个项目中还是只粘贴一次?
  2. 我是否必须在YAML sites:map 字段中为我想要启动的每个项目编写不同的应用名称?
  3. 如何创建新的Laravel类型项目。当我在PhpStorm中创建一个新项目时,我可以选择哪些类型 - 我是否也应该在那里列出Laravel,因为我没有?因为现在,当我创建一个新的PHP项目时 - 它完全是空的。我想Laravel项目应该有一些架构和生成的文件。
  4. 我想简单解释所有这些Laravel + Homestead的东西和Vagrant以及如何控制我的项目,因为我感到很沮丧,我不得不很快开始在我的Bachelor项目上使用这些技术。

2 个答案:

答案 0 :(得分:4)

  1. 您不需要手动将_ide_helper.php文件放在任何地方,它由Artisan命令自动生成。对于每个新项目,在该项目的composer.json文件中包含IDE帮助程序:

    "require-dev": {
        "barryvdh/laravel-ide-helper": "1.*"
    }
    

    将服务提供商添加到Laravel项目的config.php文件中的providers数组中:

    'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider'
    

    然后使用Artisan为项目生成_ide_helper.php文件(从Laravel项目目录的根目录中的终端运行此命令):

    php artisan ide-helper:generate
    

    这一切都是从IDE Helper GitHub page的说明中解释的。我建议您按照这些说明设置composer.json文件,以便在编写器更新时自动生成新的_ide_helper.php


    1. 是。对于每个单独的Laravel项目,您需要在YAML文件中更新站点映射。对于我的项目,我使用此方案(请注意,您要映射到相对于您的Vagrant框的位置):

      sites:
          - map: local.project.example.com
            to: /home/vagrant/Projects/project/public
      

      然后在您的Homestead目录中,运行:

      vagrant provision
      

      您还需要更新主机文件以指向Vagrant框。

      sudo nano /etc/hosts
      

      添加以下行:

      127.0.0.1           local.project.example.com
      

      现在,您应该可以通过在网络浏览器中点击local.project.example.com:8000来访问此Laravel项目。


      1. 假设您遵循Laravel installation instructions,最简单的方法是在终端中使用Laravel命令。要创建名为“blog”的新Laravel项目,请导航到~/Developer/workspace/PHP并运行命令:

        laravel new blog
        

        1. 我希望上面的答案让你开始走正确的道路。最重要的是仔细阅读Laravel文档,因为它涵盖了我刚才所做的一切,但更详细。

答案 1 :(得分:0)

感谢Mike Andersen,你让我的方法正确,但你的解决方案1对我不起作用(使用Laravel 5)。

在对composer.json文件进行更改后,您必须运行"composer update"。但是,当我做了,我得到了这个错误:

barryvdh/laravel-ide-helper v1.2.1 requires phpdocumentor/reflection-docblock dev-master#6d705c1a0f9e2a6d73d2e9ec0e538b9dfaf4315f -> no matching package found.

我有另一个解决方案:

  1. 从composer.json文件中的require数组中删除关于“barryvdh / laravel-ide-helper”的行。
  2. 运行下一行:composer require barryvdh/laravel-ide-helper
  3. 然后您可以按照Mike Andersen提出的步骤进行操作:

    1. 将服务提供者添加到Laravel项目的config.php文件中的providers数组中:

      Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider

    2. 然后使用Artisan为项目生成_ide_helper.php文件(从Laravel项目目录的根目录中的终端运行此命令):

      php artisan ide-helper:generate

    3. 在phpStorm上打开您的项目,然后转到:File|Synchronize

    4. 您将使用最新版本的barryvdh / laravel-ide-helper扩展更新您的laravel项目

      (更多信息:https://github.com/barryvdh/laravel-ide-helper