官术网_书友最值得收藏!

Installing Laravel as a git submodule

There may be a time when we want to have our Laravel installation separate from the rest of our public files. In this case, installing Laravel as a git submodule would be a solution. This will allow us to update our Laravel files through git without touching our application code.

Getting ready

To get started, we should have our development server running as well as have git installed. In the server's web directory, create a myapp directory to hold our files. Installation will all be done in the command line.

How to do it...

To complete this recipe, follow these steps:

  1. In your terminal or command line, navigate to the root of myapp. The first step is to initialize git and download our project files:
    $ git init
    $ git clone git@github.com:laravel/laravel.git
    
  2. Since all we need is the public directory, move to /laravel and delete everything else:
    $ cd laravel
    $ rm –r app bootstrap vendor
    
  3. Then, move back to the root directory, create a framework directory, and add Laravel as a submodule:
    $ cd ..
    $ mkdir framework
    $ cd framework
    $ git init
    $ git submodule add https://github.com/laravel/laravel.git
    
  4. Now we need to run Composer to install the framework:
    php composer.phar install
    
    Tip

    More information about installing Composer can be found at http://getcomposer.org/doc/00-intro.md. The rest of the book will assume we're using composer.phar, but we could also add it globally and simply call it by typing composer.

  5. Now, open /laravel/public/index.php and find the following lines:
    require __DIR__.'/../bootstrap/autoload.php';
    $app = require_once __DIR__.'/../bootstrap/start.php';
    
  6. Change the preceding lines to:
    require __DIR__.'/../../framework/laravel/bootstrap/autoload.php';
    $app = require_once __DIR__.'/../../framework/laravel/bootstrap/start.php';
    

How it works...

For many, simply running git clone would be enough to get their project going. However, since we want to have our framework act as a submodule, we need to separate those files from our project.

First, we download the files from GitHub, and since we don't need any of the framework files, we can delete everything but our public folder. Then, we create our submodule in the framework directory and download everything there. When that's complete, we run composer install to get all our vendor packages installed.

To get the framework connected to our application, we modify /laravel/public/index.php and change the require paths to our framework directory. That will let our application know exactly where the framework files are located.

There's more...

One alternative solution is to move the public directory to our server's root. Then, while updating our index.php file, we'll use __DIR__ . '/../framework/laravel/bootstrap' to include everything correctly.

主站蜘蛛池模板: 台中市| 阿坝| 咸丰县| 商洛市| 梧州市| 淳安县| 白河县| 新巴尔虎右旗| 尤溪县| 河津市| 新源县| 贵港市| 丰宁| 舞阳县| 和硕县| 永春县| 当阳市| 南和县| 明溪县| 阜宁县| 武陟县| 沂南县| 芦山县| 新宾| 莎车县| 浪卡子县| 固镇县| 咸宁市| 安岳县| 襄樊市| 静安区| 大名县| 泰安市| 安远县| 八宿县| 仙游县| 林芝县| 邓州市| 阿鲁科尔沁旗| 兴和县| 那曲县|