Coder Social home page Coder Social logo

phpup's Introduction

phpup
The PHP Toolchain

Phpup is a single-file binary with zero dependencies that includes Composer and other PHP tools. It also allows installing a per-project PHP based on your composer.json.

You don't need to have PHP or anything at all on your system to run it.

Warning

Under heavy development
Currently, this is an MVP, and only macOS aarch64 is supported.

Installation

Download phpup binary from the release page and put it into a directory on your PATH, so you can simply call phpup from any directory.

curl -OL https://github.com/pronskiy/phpup/releases/latest/download/phpup
chmod +x phpup
sudo mv phpup /usr/local/bin/phpup

Usage

  • phpup list – See the list of available commands.

  • phpup <file> – Run any php file. 🚧

  • phpup composer – Composer that does not require PHP to be installed.

  • phpup conductor <command> – Like npx but for PHP. 🚧

  • phpup locus – Installs PHP binary under your project's vendor/bin/php based on the requirements in composer.json.

  • phpup phpstan – PHPStan that does not require PHP. 🚧

  • phpup rector – Rector that does not require PHP. 🚧

Contributing

Contributions are very welcome! However, it's recommended to first create an issue describing the idea — let's find the best approach together.

See some ideas in the todo list below.

Build Requirements

Before you begin, ensure you have met the following requirements:

  • Make (version 3.0 or later)
  • Box (version 4.x)

Building Binary

make build

TODO

Credits

This package entirely relies on https://github.com/static-php and https://github.com/easysoft/phpmicro.

phpup's People

Contributors

pronskiy avatar priyashpatil avatar

Stargazers

 avatar the dev avatar Jose Ruzafa avatar Ichi avatar Andrew Weir avatar Len Woodward avatar Bernie avatar Stanislav Gamaiunov avatar Florian avatar Watheq Alshowaiter avatar René Backhaus avatar Siarhei Bautrukevich avatar Ji Yong, Kim avatar Lakatos Tibor avatar Shahrom avatar Ilya Sitnikov avatar  avatar  avatar Serg N. Kalachev avatar Denys Zaloha avatar Daniel avatar Dmitry Kaufman avatar  ShaoBo Wan(無尘) avatar PheRum avatar Johannes Reiners avatar Thanh Trần avatar Theo Gotsopoulos avatar Anton Orlov avatar HAMI avatar Pekhov Anton avatar Tomasz Sawicki avatar Bödei Károly avatar Benjamin Lewandowski avatar Resurser avatar John Nunez avatar Franco Gilio avatar Arnaud Ligny avatar Mathieu Santostefano avatar Simon André avatar Artem Goutsoul avatar Klaas Skelte van der Werf avatar Mike Funk avatar  avatar Nordine avatar Damien Fernandes avatar Gennaro Landolfi avatar Nico Müller avatar Philip Leung avatar Arsel avatar  avatar Sam Lu avatar Nicolas Perraut avatar  avatar Sam avatar Michael Arawole avatar João Alves avatar Marco Silva avatar Julius Härtl avatar Noé De Cuyper avatar Davi avatar Simon Benjámin avatar Andoni Zubimendi avatar karyo avatar Mihails Krasilnikovs avatar Dima avatar Mortexa avatar Samuel avatar Marco "Mint" Introini avatar Julien RAVIA avatar Pascal Chevrel avatar Raphael Stolt avatar Aleksei Gagarin avatar Tomasz Kane avatar Puria Gol avatar Sérgio Santos avatar Loyen avatar Elias Häußler avatar Madalin Tache avatar Romain Gautier avatar Chad avatar Sander avatar Adrien Brault avatar Eser DENIZ avatar JR Tashjian avatar mojtabaa hn avatar Frrrrr avatar Anton Shevchuk avatar Jose M. Valera Reales avatar Alex Vanderbist avatar Luca Patera avatar liang.shan avatar Brent Roose avatar AuroraHe avatar guanguans avatar Jcoder avatar Chuong avatar Niels Dossche avatar  avatar  avatar Valentin Udaltsov avatar

Watchers

Arnaud Ligny avatar Serg N. Kalachev avatar Сергей Каспирович avatar  avatar Len Woodward avatar Luca Patera avatar ArchBlood avatar Marco "Mint" Introini avatar

phpup's Issues

Allow executing php files without installing additional php interpreter

Suggested by @marco-introini:

Something like "if the first parameter is not in phpup list of commands execute vendor/bin/php passing the argument". I don't know if it makes sense.
In this way, we can be up and running in very few steps:

phpup composer init
<add PHP version in composer.json>
phpup locus
<create my first PHP file>
phpup myFile.php (as an extra: maybe this can execute phpup locus if no PHP binary is found inside the vendor directory)

Better yet, maybe creating a new init command can reduce the effort:
phpup init
can: make composer init, add PHP version in composer.json, execute phpup locus

In this way to create a new project:

phpup init 8.3
<create myFile.php>
phpup myFile.php

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.