bojaghi / continy
Re-usable tiny container for WordPress themes and plugins.
Requires
- php: >=8.0
- bojaghi/contract: ^1.3
Requires (Dev)
- bojaghi/dictionary: ^1.0
- bojaghi/wp-tests: ^1.0
- phpunit/phpunit: ^9
- yoast/phpunit-polyfills: ^3.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
워드프레스 테마/플러그인 특성과 동작에 맞춰 개발된 단순한 컨테이너.
Continy는 무엇입니까?
워드프레스 플러그인이나 테마를 커스텀으로 개발하게 되면, 코드가 조금씩 커질수록 어떤 기능이 어떤 액션과 필터의 조합으로 구현되었는지 파악하기 어려워집니다. 또한 수많은 콜백들이 난무하고, 클래스별로 의존관계가 형성되는 등 코드의 유지보수와 확장이 어려워집니다.
이것을 해결하기 위해 컨테이너를 도입하여 객체 관리, 의존성 주입 등을 사용합니다. Continy는 이와 유사한 컨테이너입니다. 여타 다른 컨테이너가 DI (Dependency Injection)나 여러 다양한 기능을 지원하는데 비해, Continy는 워드프레스 플러그인과 테마 개발에 맞추어 보다 경량화되고 필요한 기능만을 제공하는데 초점을 맞추고 있습니다.
Continy는 워드프레스 라이프사이클을 고려하여 제작되었습니다. 커스텀할 기능을 논리적으로 각각 구분한 '모듈'이라는 단위를 제공합니다.
Continy의 설정에 따라 모듈을 생성하면 개발자는 일일이 모듈의 생성 코드를 작성하지 않아도 됩니다.
설정된 모듈은 워드프레스의 do_action() 시점에 정확히 생성되어 각자의 독립된 영역에서 동작하도록 보장해 줍니다.
Continy가 가진 기능
Continy의 기능은 간결합니다. do_action()에 맞춰 모듈 클래스를 생성하여 워드프레스 플러그인/테마 구현을 보다 간결하게 합니다.
또한, 컨테이너의 아래 기본적인 동작들을 지원합니다.
- 모듈 선언
- 객체 관리
- 의존성 주입
- 콜백 문자열 해석, 호출
요구사항
- PHP 8.3 이상
- 워드프레스 6.9 이상
설치
워드프레스 플러그인에서 composer 패키지 매니저를 사용하여 설치합니다.
composer require bojaghi/continy
빠른 시작
Factory에 설정을 담은 배열이 있는 파일의 경로, 또는 설정 배열을 인자로 집어 넣으면 됩니다.
$continy = Bojaghi\Continy\Factory::create( __DIR__ . '/conf/setup.php' ); // 또는, $continy = Bojaghi\Continy\Factory::create( array( /* ... 설정 배열 ... */ ) );
보다 상세한 사용법은 팩토리 설정과 Continy 사용법를 참조하세요.