Laravel framework is too flexible, while has too simple file generators.
Since that, it leaves so many things/configs to developers to use the file generated by laravel, and our poor developers can not remember all of the points.
Now, I make more further: Generate files with templates and enable it automatically BTW
You should use this package in new project. Because it will change some config/env/script files. Strongly recommend that using git for checking what files will be changed.
- Linux / MacOS
- php 7.1.3+
- ruby
- laravel 5.7.*
Create an empty laravel project:
composer create-project --prefer-dist laravel/laravel blog 5.7.*
cd blog
composer require maimake/largen
./artisan largen:install
Now, you can setup some environments with following command
# Setup DB configurations first please
> ./artisan largen:env
# Will create Admin User([email protected], password)
> ./artisan migrate --seed
# Run server
> ./artisan serve <== Run server use default url http://localhost:8000
Or
> ./artisan largen:vhost user.test <== Generate a ngnix config file, and add item to /etc/hosts, If you have nginx already local machine
Or
> ./artisan largen:env APP_URL http://user.test <== Only set 'APP_URL',if you have already configured webserver manually
# Start HMR
> yarn start
# Setup Directories for IDEA IDE (Please open project in IDE first.)
> ./artisan largen:idea
One line install and setup
name=blog && \
composer create-project --prefer-dist laravel/laravel $name 5.7.* && \
cd $name && \
composer require maimake/largen && \
./artisan largen:install -q && \
./artisan largen:env && \
./artisan migrate --seed && \
./artisan largen:vhost && \
yarn start
optimize autoloader
composer install --optimize-autoloader --no-dev
optimize bootstrap
./artisan optimize
use redis, change your .env file
BROADCAST_DRIVER=redis
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
use cache
# merge all config file to one , and env
php artisan config:cache
# merge all routes to one function. Except closure-route
php artisan route:cache
# Compile all of the application's Blade templates
php artisan view:cache
clear optimize
./artisan optimize:clear
./artisan clear-compiled
./artisan config:clear
./artisan route:clear
./artisan view:clear
clear cache data
./artisan cache:clear
./artisan auth:clear-resets
./artisan queue:flush
# maintain mode and will show with 503.blade.php
php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16
-
fork from this repository
-
clone your repository to a local path (ie. pakcages/largen)
-
create an empty laravel project
-
add following config to the composer.json,change the url where your repository locates.
"repositories": [ { "type": "path", "url": "../packages/*" } ]
-
require the package. And then it will automatically create a Symlinking from your repository path.
composer require "maimake/largen":"dev-master"
-
change some code in path
vendor/maimake/largen
, and finally make a PR to me.
Here is one line command. Replace the path of packages
as you like:
git clone [email protected]:maimake/largen.git packages/largen && \
name=Demo && \
composer create-project --prefer-dist laravel/laravel $name 5.7.* && \
cd $name && \
sed -i '' -e '/"type": "project"/s/$/\' -e '"repositories": [{ "type": "path", "url": "..\/packages\/*" }],/' composer.json && \
composer require "maimake/largen":"dev-master"
and then you can do something with many commands in this package
./artisan largen:install -q && \
./artisan largen:env && \
./artisan migrate --seed && \
./artisan largen:vhost && \
yarn start