philip / lampho
Lampho is like lambo but written in PHP; the two might merge one day
v0.0.3-alpha
2017-12-02 07:09 UTC
Requires
- php: >=7.1
- laravel-zero/framework: 4.0.*
- tivie/php-os-detector: ^1.1
This package is not auto-updated.
Last update: 2025-01-05 05:27:18 UTC
README
This started as a test project to help me learn Laravel. All advice is welcome. Ideally it'll be refactored several times. The initial version breaks every known best practice! :)
Things that inspired this project
- Lambo: A useful shell script that generates new Laravel projects
- Laravel: The PHP framework
- Laravel Zero: Base for this project; Laravel for CLI
- Me: reprogramming my brain from PHP 4 to PHP 7 (I'm an old-timer that still uses
array()
andOOP
is hard)
Status
- It works well and includes most lambo commands.
- However, all logic is thrown into
app\Commands\NewCommand.php
so that's not good - The name
lampho
is strange but it's probably temporary and my brain thinks replacingb
(bash) withph
(PHP) makes sense; that andlamb pho
has logo potential - Expect progress in the future
How you can help
- Refactor! Especially app\Commands\NewCommand.php (please don't laugh)
- Suggest or implement features
- Write tests
Installation
Global
$ composer global require philip/lampho
$ lampho help
Source
$ git clone git@github.com:philip/lampho.git
$ cd lampho
$ composer update
$ ./lampho help
Documentation
___ ___ ___ _ __
/ __|/ _ \ / _ \| '_ \
\__ \ (_) | (_) | | | |
|___/\___/ \___/|_| |_|
Examples
Creates a new Laravel project named foo
$ lampho new foo
Same, but with several options
$ lampho new foo --auth --link --node --createdb=sqlite
Configuration options
Soon we'll be able to define configuration options and common settings as typing all of the above can become tedious -- all suggestions welcome. Related, today only .env
is modified.
Options according to lampho help new
--auth Run make:auth
--browser Browser you want to open the project in
--createdb[=CREATEDB] Create a database; pass in sqlite or mysql
--dev Choose the dev branch instead of master
--editor[=EDITOR] Text editor to open the project in
--link Create a Valet link to the project directory
--message[=MESSAGE] Set the first commit message
--node Set to execute yarn or npm install
--path[=PATH] Base path for the installation, otherwise CWD is used