- Laravel Application Development Cookbook
- Terry Matula
- 423字
- 2021-07-23 15:33:30
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:
- 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
- Since all we need is the
public
directory, move to/laravel
and delete everything else:$ cd laravel $ rm –r app bootstrap vendor
- 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
- 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 typingcomposer
. - Now, open
/laravel/public/index.php
and find the following lines:require __DIR__.'/../bootstrap/autoload.php'; $app = require_once __DIR__.'/../bootstrap/start.php';
- 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.
- 智能網聯汽車V2X與智能網聯設施I2X
- GPS/GNSS原理與應用(第3版)
- Learning Karaf Cellar
- 企業私有云建設指南
- Building RESTful Web Services with Spring 5(Second Edition)
- Building RESTful Web services with Go
- 網管員必讀:網絡管理(第2版)
- 基于性能的保障理論與方法
- 網絡環境中基于用戶視角的信息質量評價研究
- 異構蜂窩網絡關鍵理論與技術
- 中國互聯網發展報告2021
- 計算機網絡技術
- LwIP應用開發實戰指南:基于STM32
- 智能物聯網:區塊鏈與霧計算融合應用詳解
- Building Microservices with Spring