상세 컨텐츠

본문 제목

PHP composer 경로 연결..?

php

by 개발일지작성 2024. 4. 1. 15:55

본문

728x90

와 음 모르겠다

무지성 작성 가보자고

 

composer\src\Greeting\En\Hi.php 생성

<?php
/*
클래스 이름 뿐만 아니라 지정한 namespace까지 그룹화 해줌

namespace Greeting\En;

class Hello {
    public static function sayHello() {
        return "Hello!";
    }
}

이렇게 작성 했을 때 Hello 클래스를 호출하기 위해선
use Greeting\En\Hello
echo Hello::sayHello(); 작성해야함 // 출력 : Hello!
*/

namespace Greeting\En;
class Hi {
    function __construct() {
        echo 'Hi!';
    }
}

대충 요래 작성 주석 설명은 namespace가 뭔지 모르는 나를 위해 작성해놓음

Hi 클래스 를 호출하면 Hi! 가 출력

 

composer\main.php 폴더 생성

<?php
require_once __DIR__.'/vendor/autoload.php';
use Greeting\En\Hi;
new Hi();
?>

전 게시물에서 무지성으로 박으라던 aotoload.php 박아버리고 Hi 클래스를 호출 하면 지금 안될거임

 

gercomposer.org 사이트 -> Documentaion

Basic usage->Autoloading(7번) 클릭

{
    "autoload": {
        "psr-4": {"Acme\\": "src/"}
    }
}

이게 있음 위에 설명을 보면

You can even add your own code to the autoloader by adding an autoload field to composer.json.

 

대충 composer.json에다가 추가하라는거 같음

{
    "name": "egoing/composer-app",
    "autoload": {
        "psr-4": {
            "Egoing\\ComposerApp\\": "src/"
        }
    },
    "authors": [
        {
            "name": "------",
            "email": "-------"
        }
    ],
    "require": {
        "monolog/monolog": "^3.5"
    },
    "autoload": {
        "psr-4": {"Greeting\\": "src/Greeting/"}
    }
}

이렇게 추가해주는데         "psr-4": {"Greeting\\": "src/Greeting/"}

이게 다르다는걸 봐야함

Greeting은 src/Greeting/ 에서 찾아봐라 라고 말해주는 거

 

이제 cmd에서 composer install 을 입력해줘서 composer에게 알려주자

이제 보면

뭔진 잘 모르겠는데 일단 됨.. 그냥 생활코딩님 영상 보세요 나도 모르겠음...

'php' 카테고리의 다른 글

PHP laravel(라라벨) 사용해서 프로젝트 생성하기  (1) 2024.04.01
PHP composer 사용해보기  (0) 2024.04.01
PHP composer  (0) 2024.04.01
PHP 함수 사용과 객체 사용의 차이  (0) 2024.04.01
PHP 객체지향이란?  (0) 2024.04.01

관련글 더보기