tự tạo composer package cho php

Composer là gì?

  • Composer là ứng dụng giúp quản lý các thư viện bên ngoài trong project php.
  • Composer giúp lập trình viên dễ dàng thêm, update, loại bỏ các thư viện một cách dễ dàng.

Làm sao để tạo một composer package ?

  • Cài đặt Composer : thảm khảo tại https://viblo.asia/thangtd90/posts/jlA7GKWGKZQ2 của anh Tran Duc Thang
  • Update php lên phiên bản 5.3 hoặc cao hơn.
  • Sử dụng phần mềm quản lý code git, svn
  • Tạo tài khoản github và packagist.org (có thể sử dụng luôn tài khoản github)

Các bước để tạo một package composer

1 - Khởi tại project

  • Tạo thư mục: ** hello-world ** tại thư mục web root theo cấu trúc.

hello-world.png 2 - Tạo file composer.json với nội dung

{
    "name": "kynm/hello-world",
    "description": "the first composer package",
    "type": "php",
    "license": "aaa",
    "authors": [
        {
            "name": "kynm",
            "email": "[email protected]"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.3.0",
    },
    "autoload": {
        "psr-4": {
            "kynm\\SayHello\\": "src/"
        }
    }
}

3 - Tạo file Test.php

<?php
namespace kynm\SayHello;
class SayHello
{
    public static function world()
    {
        return 'Hello World, Composer!';
    }
}

4 - push code lên github 5 - Đăng ký package trên packages.org:

  • Đăng nhập vào tài khoản
  • Truy cập link: https://packagist.org/packages/submit
  • Nhập đường dẫn github của package submitpackage.png
  • như vậy là đã tạo đăng ký thành công một package cho php

Cách sử dụng

  • Trên file composer.json của project muốn include package đó cần thêm vào dòng
   "require": {
        "kynm/hello-world": "dev-master"
    }
  • Dùng lệnh : composer update để load package về project
  • Trên file index của project cần require file autoload
require_once __DIR__ . '/vendor/autoload.php';
  • Khi sử dụng chỉ cần sử dụng đúng namespace:
use kynm\SayHello\Sayhello;
$hello = new SayHello();
echo $hello->world();

Tổng kết