Skip to content

rulon/test-composer-package

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

test-composer-package

test-composer-package

Tutor creation composer package on github

  1. create repo user/test-composer-package (user replace with your login)

  2. add public key if needed to https://github.com/settings/keys

see here:

cat ~/.ssh/id_rsa.pub 
  1. on local computer:
mkdir test-composer-package 
cd test-composer-package
git clone [email protected]:rulon/test-composer-package.git .

put here ^^^ your real path

  1. try edit this file ./README.md

  2. check

git remote -vvvv
origin  [email protected]:rulon/test-composer-package.git (fetch)
origin  [email protected]:rulon/test-composer-package.git (push)
  1. git add .

  2. git ci -m "commit1"

  3. git push

  4. see results (put your real url): https://github.com/rulon/test-composer-package

mkdir src && cd src
  1. create your files. for example MyClass.php

composer init
  1. check composer.json
cat composer.json 
{
    "name": "rulon/test-composer-package",
    "description": "descr text",
    "type": "library",
    "autoload": {
        "psr-4": {
            "Rulon\\TestComposerPackage\\": "src/"
        }
    },
    "authors": [
        {
            "name": "author name"
        }
    ],
    "require": {}
}
  1. edit src/MyClass.php
<?php
/**
 *
 * @since 2024-07-26 20:22
 */
namespace Rulon\TestComposerPackage;

class MyClass
{
    public function __construct()
    {
        echo "\n\n" . __METHOD__ . "\n\n";
    }
}
  1. testing namespaces. create index.php
<?php
/**
 * @since 2024-07-26 20:30
 */

use Rulon\TestComposerPackage\MyClass;

require_once __DIR__ . '/vendor/autoload.php';

//relative namespace
$testObj1 = new Rulon\TestComposerPackage\MyClass;

//absolute namespace
$testObj2 = new \Rulon\TestComposerPackage\MyClass;

//short class name
$testObj3 = new MyClass;

call:

php index.php
  1. repeat items 8-11

  2. cd to project that requires your new package add sections to composer.json

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/rulon/test-composer-package"
        }
    ],
    "require": {
        "rulon/test-composer-package": "dev-master"
    }
}
composer install
  1. test
cp vendor/rulon/test-composer-package/index.php .
php index.php

result:

Rulon\TestComposerPackage\MyClass::__construct

Rulon\TestComposerPackage\MyClass::__construct

Rulon\TestComposerPackage\MyClass::__construct

Enjoy!

About

test-composer-package

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages