ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 카카오톡 알림톡 API를 사용시 프로젝트 생성할때 composer사용
    PHP/Composer 2021. 12. 23. 11:43
    728x90

    알림톡은 무조건 대행사를 사용 해야 하는데, 대행사에서 제공하는 api 문서가 잘 되있긴하나, 따로 SDK가 존재 하지 않았다. 그래서 php용 SDK를 직접 만들어서 Packagist.org에 올리는게 목표다.

    프로젝트 경로 
    KAKAO
      /PAY
        /alimtalk.php
        /history.php

    KAKAO 경로에서 composer init명령어 실행.

    $ composer init
    PS 프로젝트경로> composer init
    
    
      Welcome to the Composer config generator
    
    
    
    This command will guide you through creating your composer.json config.
    
    Package name (<vendor>/<name>) [administrator/kakao]: 패키지명
    The package name Bizpay/aligo is invalid, it should be lowercase and have a vendor name, a forward slash, and a package name, matching: [a-z0-9_.-]+/[a-z0-9_.-]+
    Package name (<vendor>/<name>) [administrator/kakao]: 패키지명
    Description []: aligo sdk
    Author [, n to skip]:
    Invalid author string.  Must be in the format: John Smith <john@example.com>
    Author [, n to skip]: 유저명<이메일>
    Invalid author string.  Must be in the format: John Smith <john@example.com>
    Author [, n to skip]: 유저명<이메일>
    Minimum Stability []:
    Package Type (e.g. library, project, metapackage, composer-plugin) []:
    License []: MIT
    
    Define your dependencies.
    
    Would you like to define your dependencies (require) interactively [yes]?
    Search for a package:
    Would you like to define your dev dependencies (require-dev) interactively [yes]? no
    Add PSR-4 autoload mapping? Maps namespace "Bizpay\Aligo" to the entered relative path. [src/, n to skip]: src/
    
    {
        "name": "bizpay/aligo",
        "description": "aligo sdk",
        "license": "MIT",
        "autoload": {
            "psr-4": {
                "Bizpay\\Aligo\\": "src/"
            }
        },
        "authors": [
            {
                "name": "유저명",
                "email": "이메일"
            }
        ],
        "require": {}
    }
    
    Do you confirm generation [yes]? yes
    Generating autoload files
    Generated autoload files
    PSR-4 autoloading configured. Use "namespace Bizpay\Aligo;" in src/
    Include the Composer autoloader with: require 'vendor/autoload.php';
    //완료 후 프로젝트 폴더 구조
    프로젝트 경로 
    KAKAO
      /PAY
        /alimtalk.php
        /history.php
      /src
      /vendor
        /composer
       autoload.php
    composer.json

    -git 연동하기

    주의 : 하기전에 

    $ git config --global user.name "John Doe"
    $ git config --global user.email johndoe@example.com

    설정 해주는데 프로젝트마다 다르게 설정 하고 싶으면 --global 빼주면 됨.

     

    echo "# Bizpay-Aligo" >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git branch -M main
    git remote add origin 깃레포주소
    git push -u origin main

    --- git 연동 완료 ---

     

     

    autoload로 내 클래스 불러오는거 테스트중에 에러발생

    Fatal error: Uncaught Error: Class 'Bizpay\Aligo\Token' not found in C:\home\www2\insa\KAKAO\PAY\test.php:9 Stack trace: #0 {main} thrown in C:\home\www2\insa\KAKAO\PAY\test.php on line 9

    composer.json에 autoload가 src인데 
    src/get_token.php라고 클래스 파일을 만들고 

    <?php
    namespace Bizpay\Aligo;
    
    
    class Token
    {
        
        public static function test()
        {
            return "autoload 성공!";
        }
    
    
    }
    ?>

    이렇게 class이름이 Token이라서 에러가 남.

    autoload 할려면 파일명이랑 클래스명이랑 같게 해줘야함!!!!

     

     

    728x90

    'PHP > Composer' 카테고리의 다른 글

    Composer로 깔아야될 필수 라이브러리인듯  (0) 2022.01.11
Designed by Tistory.