PHPackages                             usmanakram/php-autoload-hello-world - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. usmanakram/php-autoload-hello-world

ActiveLibrary

usmanakram/php-autoload-hello-world
===================================

My first Composer project.

v0.0.4(6y ago)010MITPHPPHP ^7.1.2

Since Sep 28Pushed 6y ago1 watchersCompare

[ Source](https://github.com/usmanakram/php-autoload-hello-world)[ Packagist](https://packagist.org/packages/usmanakram/php-autoload-hello-world)[ RSS](/packages/usmanakram-php-autoload-hello-world/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (5)Used By (0)

php-autoload-hello-world
========================

[](#php-autoload-hello-world)

Create directory named `php-autoload-hello-world`

Files Structure We can put all files inside the main dir, but recommended way is to create another dir, as `src` to be easier to understand and maintain our code organized. The project structure will start with the follow: `php-autoload-hello-world/src/HelloWorld/`

We will create our classes inside "HelloWorld" directory.

Let's create a class named `OurFirstClass`.

`/php-autoload-hello-world/src/HelloWorld/OurFirstClass.php`

```
namespace HelloWorld;

class OurFirstClass
{
    public static function hello()
    {
        return 'Hello World, Composer!';
    }
}
```

Now we need to have `composer.json` file. For that we need to go inside our project's root directory using terminal. Then run `$ composer init` and answer simple questions. It will create `composer.json`

```
{
    "name": "usmanakram/php-autoload-hello-world",
    "description": "My first Composer project.",
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "Usman Akram",
            "email": "usman.akram99@hotmail.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {}
}

```

Add some configuration in `composer.json`

```
{
    "name": "usmanakram/php-autoload-hello-world",
    "description": "My first Composer project.",
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "Usman Akram",
            "email": "usman.akram99@hotmail.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "php": "^7.1.2"
    },
    "autoload": {
        "psr-4": {
            "HelloWorld\\": "src/HelloWorld/"
        }
    }
}

```

Now, run `$ composer install` inside root directory. It will create `vendor` directory and `composer.lock` file inside root directory.

To test our working code, create `tests/test.php` file inside root directory and call any class method that we have created inside `src/HelloWorld` directory.

#### Uploading code at GitHub

[](#uploading-code-at-github)

Create file named `.gitignore` and put following line in it.

```
/vendor/
composer.lock

```

Create repository named `php-autoload-hello-world` at github. And run following commands inside our project root directory.

```
$ git init
$ git remote add origin git@github.com:usmanakram/php-autoload-hello-world.git
$ git add --all
$ git commit -m "initial files"
$ git tag -a v1.0.0 -m "initial release"
$ git push -u origin master
$ git push --tags
```

#### Publish at Packagist

[](#publish-at-packagist)

Now, we need to publish our project at `Packagist`. Login at github.com and go to our newly created repository page. Click `Settings` &gt; `Webhooks` &gt; `Add Webhook`. Here we need to put our `Packagist` detail.

Under

- `Payload URL` put `https://packagist.org/api/github?username=usmanakram`
- `Content Type` select `application/json`
- `Secret` put your Packagist API token (you will find API token at )

Here is the reference link: `https://packagist.org/about#how-to-update-packages`

To use your library, simply run following commands

```
$ composer init
$ composer require usmanakram/php-autoload-hello-world
```

Then create an `index.php` file that will load the autoloader

```
require 'vendor/autoload.php';

use HelloWorld\OurFirstClass;

echo OurFirstClass::hello();
```

All the classes inside our library is now ready to use!

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

2414d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/52f042b285a8304514f73a42d165233e11fa536e998a44a3ab67c0ab9b83c454?d=identicon)[usmanakram](/maintainers/usmanakram)

---

Top Contributors

[![usmanakram](https://avatars.githubusercontent.com/u/6502306?v=4)](https://github.com/usmanakram "usmanakram (11 commits)")

### Embed Badge

![Health badge](/badges/usmanakram-php-autoload-hello-world/health.svg)

```
[![Health](https://phpackages.com/badges/usmanakram-php-autoload-hello-world/health.svg)](https://phpackages.com/packages/usmanakram-php-autoload-hello-world)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
