CINXE.COM

Packagist

<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Packagist</title> <meta name="description" content="The PHP Package Repository" /> <meta name="author" content="Jordi Boggiano" /> <meta name="canonical" href="https://packagist.org/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="shortcut icon" href="/favicon.ico?v=1744200421" /> <link rel="stylesheet" href="/build/app.css?v=1744200421" /> <link rel="alternate" type="application/rss+xml" title="Newly Submitted Packages - Packagist" href="https://packagist.org/feeds/packages.rss" /> <link rel="alternate" type="application/rss+xml" title="New Releases - Packagist" href="https://packagist.org/feeds/releases.rss" /> <link rel="search" type="application/opensearchdescription+xml" href="/search.osd?v=1744200421" title="Packagist" /> <script nonce="PxXDtUbsflIu2nOMDjE6/w=="> var onloadRecaptchaCallback = function() { document.querySelectorAll('.recaptcha-protected').forEach((el) => { el.closest('form').querySelectorAll('button, input[type="submit"]').forEach((submit) => { grecaptcha.render(submit, { 'sitekey' : '6LfKiPoUAAAAAGlKWkhEEx7X8muIVYy6oA0GNdX0', 'callback' : function (token) { submit.form.submit(); } }); }) }); }; </script> </head> <body> <section class="wrap"> <header class="navbar-wrapper navbar-fixed-top"> <section class="banner alert-error hidden"> Composer v1 support is <a href="https://blog.packagist.com/shutting-down-packagist-org-support-for-composer-1-x/">coming to an end</a> <i class="glyphicon glyphicon-remove banner-close" data-banner-id="composer1eol"></i> </section> <nav class="container"> <div class="navbar" role="navigation"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <h1 class="navbar-brand"><a href="/">Packagist</a> <em class="hidden-sm hidden-xs">The PHP Package Repository</em></h1> </div> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li> <a href="/explore/">Browse</a> </li> <li> <a href="/packages/submit">Submit</a> </li> <li> <a href="/register/">Create account</a> </li> <li class="nav-user"> <section class="nav-user-signin"> <a href="/login/">Sign in</a> <section class="signin-box"> <form action="/login/" method="POST" id="nav_login"> <div class="input-group"> <input class="form-control" type="text" id="_username" name="_username" placeholder="Username / Email"> <span class="input-group-addon"><span class="icon-user"></span></span> </div> <div class="input-group"> <input class="form-control" type="password" id="_password" name="_password" placeholder="Password"> <span class="input-group-addon"><span class="icon-lock"></span></span> </div> <div class="checkbox"> <label for="_remember_me"> <input type="checkbox" id="_remember_me" name="_remember_me" value="on" checked="checked" /> Remember me </label> </div> <div class="signin-box-buttons"> <a href="/login/github" class="pull-right btn btn-primary btn-github"><span class="icon-github"></span>Use Github</a> <button type="submit" class="btn btn-success" id="_submit_mini" name="_submit">Log in</button> </div> </form> <div class="signin-box-register"> <a href="/register/">No account yet? Create one now!</a> </div> </section> </section> </li> </ul> </div> </div> </nav> </header> <section class="wrapper wrapper-search"> <div class="container with-description"> <form name="search_query" method="get" action="/search/" id="search-form" autocomplete="off"> <div class="sortable row"> <div class="col-xs-12 js-search-field-wrapper col-md-9"> <input type="search" id="search_query_query" name="query" required="required" autocomplete="off" placeholder="Search packages..." tabindex="1" class=" form-control" value="" /> </div> </div> </form> <div class="row"> <div class="col-sm-9 hidden-xs"> <img src="/img/logo-small.png?v=1744200421" class="logo"> <p>Packagist is the main <a href="https://getcomposer.org/">Composer</a> repository. It aggregates public PHP packages installable with Composer. </p> </div> </div> </div> </section> <section class="wrapper"> <section class="container content" role="main"> <div id="search-container" class="hidden"> <div class="row"> <div class="search-list col-md-9"></div> <div class="search-facets col-md-3"> <div class="search-facets-active-filters"></div> <div class="search-facets-type"></div> <div class="search-facets-tags"></div> </div> </div> <div class="row"> <div class="col-md-9"> <div id="powered-by"> Search by <a href="https://www.algolia.com/"><img src="/img/algolia-logo-light.svg?v=1744200421"></a> </div> <div id="pagination-container"> <div class="pagination"></div> </div> </div> </div> </div> <section class="row"> <section class="col-lg-6 getting-started"> <h2 class="title">Getting Started</h2> <div> <h3>Define Your Dependencies</h3> <p>Put a file named <em>composer.json</em> at the root of your project, containing your project dependencies:</p> <pre><code>{ "require": { "vendor/package": "1.3.2", "vendor/package2": "1.*", "vendor/package3": "^2.0.3" } }</code></pre> <p>For more information about packages versions usage, see the <a href="https://getcomposer.org/doc/01-basic-usage.md#package-versions">composer documentation</a>.</p> <h3>Install Composer In Your Project</h3> <p>Run this in your command line:</p> <pre><code>curl -sS https://getcomposer.org/installer | php</code></pre> <p>Or <a href="https://getcomposer.org/composer.phar">download composer.phar</a> into your project root.</p> <p>See the Composer documentation for complete <a href="https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos">installation instructions</a> on various platforms.</p> <h3>Install Dependencies</h3> <p>Execute this in your project root.</p> <pre><code>php composer.phar install</code></pre> <h3>Autoload Dependencies</h3> <p>If your packages specify <a href="https://getcomposer.org/doc/01-basic-usage.md#autoloading">autoloading information</a>, you can autoload all the dependencies by adding this to your code:</p> <pre><code>require 'vendor/autoload.php';</code></pre> <p><a href="/explore/">Browse</a> the packages we have to find more great libraries you can use in your project.</p> </div> </section> <section class="col-lg-6 publishing-packages"> <h2 class="title">Publishing Packages</h2> <div> <h3>Define Your Package</h3> <p>Put a file named <em>composer.json</em> at the root of your package's repository, containing this information:</p> <pre><code>{ "name": "your-vendor-name/package-name", "description": "A short description of what your package does", "require": { "php": ">=8.2", "another-vendor/package": "1.*" } }</code></pre> <p>This is the strictly minimal information you have to give.</p> <p>For more details about package naming and the fields you can use to document your package better, see the <a href="/about">about</a> page.</p> <h3>Validate The File</h3> <p>Run <code>composer validate</code> to check that your file has no syntax errors.</p> <h3>Commit The File</h3> <p>Add the <code>composer.json</code> to your git or other VCS repository and commit it.</p> <h3>Publish It</h3> <p><a href="/login/">Log in</a> or <a href="/register/">register</a> on this site, then hit the <a href="/packages/submit">submit</a> button in the menu.</p> <p>Once you entered your public repository URL in there, your package will be automatically crawled periodically. You just have to make sure you keep the composer.json file up to date.</p> <h3>Sharing Private Code</h3> <p>Use <a href="https://packagist.com">Private Packagist</a> if you want to share private code as a Composer package with colleagues or customers without publishing it for everyone on Packagist.org. Private Packagist allows you to manage your own private Composer repository with per-user authentication, team management and integration in version control systems.</p> </div> </section> </section> </section> </section> </section> <footer class="wrapper-footer"> <nav class="container"> <div class="row"> <ul class="social col-xs-7 col-sm-4 col-md-2 pull-right"> <li><a href="http://github.com/composer/packagist" title="GitHub"><span class="icon-github"></span></a></li> <li><a href="https://twitter.com/packagist" title="Follow @packagist"><span class="icon-twitter"></span></a></li> <li><a href="mailto:contact@packagist.org" title="Contact"><span class="icon-mail"></span></a></li> </ul> <ul class="col-xs-4 col-sm-4 col-md-2"> <li><a href="/about">About Packagist</a></li> <li><a href="/feeds/" rel="nofollow">Atom/RSS Feeds</a></li> </ul> <div class="clearfix visible-xs-block"></div> <ul class="col-xs-3 col-sm-4 col-md-2"> <li><a href="/statistics" rel="nofollow">Statistics</a></li> <li><a href="/explore/">Browse Packages</a></li> </ul> <div class="clearfix visible-xs-block visible-sm-block"></div> <ul class="col-xs-3 col-sm-4 col-md-2"> <li><a href="/apidoc">API</a></li> <li><a href="/mirrors">Mirrors</a></li> </ul> <div class="clearfix visible-xs-block"></div> <ul class="col-xs-3 col-sm-4 col-md-2"> <li><a href="https://status.packagist.org/">Status</a></li> <li><a href="https://p.datadoghq.com/sb/x98w56x71erzshui-4a54c45f82bacc991e83302548934b6a">Dashboard</a></li> </ul> </div> <div class="row sponsor"> <p class="col-xs-12 col-md-6">Maintenance and hosting provided by <a href="https://packagist.com/"><img alt="Private Packagist" src="/img/private-packagist.svg?v=1744200421" /></a></p> <p class="col-xs-12 col-md-6">Bandwidth and CDN provided by <a href="https://bunny.net/"><img alt="Bunny.net" src="/img/bunny-net.svg?v=1744200421" /></a></p> <p class="col-xs-12 col-md-6">Monitoring provided by <a href="https://datadog.com/"><img alt="Datadog" src="/img/datadog-light.png?v=1744200421" /></a></p> </div> </nav> </footer> <script nonce="PxXDtUbsflIu2nOMDjE6/w=="> var algoliaConfig = {"app_id":"M58222SH95","search_key":"5ae4d03c98685bd7364c2e0fd819af05","index_name":"packagist"}; window.process = { env: { DEBUG: undefined }, }; </script> <script nonce="PxXDtUbsflIu2nOMDjE6/w==" src="/build/app.js?v=1744200421"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10