Laradock에서 Phalcon에 입문
TL;DR
Phalcon
만져보고 싶었기 때문에 Laradock
에서 환경을 만들고 웹 응용 프로그램의 병아리를 만들려고했습니다.대상
준비
디렉토리 구성
다음과 같은 가정입니다.
/path/to
├── phalcon-sample
└── laradock
※
phalcon-sample
는 프로젝트 이름 등으로 적절하게 읽어주십시오.절차
Laradock
의 workspace
컨테이너를 통해 Phalcon
프로젝트를 만듭니다.Laradock 소개
$ cd /path/to
$ git clone https://github.com/laradock/laradock.git
Cloning into 'laradock'...
...
Resolving deltas: 100% (4755/4755), done.
※
Laradock
에 대한 자세한 사항은 할애하므로 필요한 분은 이건 봐 주세요.env 만들기
$ cd /path/to/laradock
$ cp env-example .env
$ vi .env
$ diff -u env-example .env
...
-WORKSPACE_INSTALL_PHALCON=false
+WORKSPACE_INSTALL_PHALCON=true
...
-PHP_FPM_INSTALL_PHALCON=false
+PHP_FPM_INSTALL_PHALCON=true
...
-MYSQL_VERSION=latest
+MYSQL_VERSION=5.7
.env
의 변경은 상기 3 개소입니다※
MYSQL_VERSION
에 대해서는 본제와 별로 관계가 없기 때문에 이건 참고로 「훗」정도로 괜찮습니다docker 컨테이너 시작
workspace
컨테이너 만 지정하여 시작합니다.$ docker-compose up -d workspace
Creating network "laradock_frontend" with driver "bridge"
Creating network "laradock_backend" with driver "bridge"
Creating network "laradock_default" with the default driver
Creating laradock_docker-in-docker_1 ... done
Creating laradock_workspace_1 ... done
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------
laradock_docker-in-docker_1 dockerd-entrypoint.sh Up 2375/tcp
laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222->22/tcp
phalcon/devtools 설치 및 Phalcon 프로젝트 만들기
시작된
workspace
컨테이너에 phalcon-devtools을 설치합니다.phalcon-devtools
는 Phalcon
공식적으로 제공되는 편리한 스크립트입니다.Laravel
로 말하는 곳 artisan
같은 녀석입니까? (잘 모르겠어요)공식 절차 와는 조금 다릅니다만, 한 번 컨테이너내의 글로벌하게 인스톨 해 프로젝트 작성합니다(※ 나중에 프로젝트내에서 인스톨 다시 합니다)
$ docker-compose exec --user=laradock workspace bash
# ここから コンテナ内での作業です
$ composer global require phalcon/devtools
Changed current directory to /home/laradock/.composer
Using version ^3.4 for phalcon/devtools
./composer.json has been updated
...
Writing lock file
Generating autoload files
$ php ~/.composer/vendor/bin/phalcon.php project phalcon-sample
Phalcon DevTools (3.4.0)
Success: Controller "index" was successfully created.
/var/www/phalcon-sample/app/controllers/IndexController.php
Success: Project 'phalcon-sample' was successfully created.
Please choose a password and username to use Database connection.Used default:'root' without password.
$ exit
exit
# ここまで コンテナ内での作業です
$ docker-compose down
Stopping laradock_workspace_1 ... done
Stopping laradock_docker-in-docker_1 ... done
Removing laradock_workspace_1 ... done
Removing laradock_docker-in-docker_1 ... done
Removing network laradock_frontend
Removing network laradock_backend
Removing network laradock_default
phalcon-devtools
로 프로젝트를 만들면 컨테이너가 한 번 빠져 나와 버립니다.로컬 동작 확인
/path/to/phalcon-sample
디렉토리가 호스트 측에도 완성되어 있어야하므로 Laradock
의 마운트 설정을 약간 변경합니다.$ vi .env
$ diff -u env-example .env
...
-APP_CODE_PATH_HOST=../
+APP_CODE_PATH_HOST=../phalcon-sample
...
-WORKSPACE_INSTALL_PHALCON=false
+WORKSPACE_INSTALL_PHALCON=true
...
-PHP_FPM_INSTALL_PHALCON=false
+PHP_FPM_INSTALL_PHALCON=true
...
-MYSQL_VERSION=latest
+MYSQL_VERSION=5.7
앞의 3 개소 이외에
APP_CODE_PATH_HOST
변경기본적으로
/path/to
를 컨테이너에 마운트했지만 /path/to/phalcon-sample
를 마운트하려고합니다..env
를 변경하면 workspace
이외에 nginx
와 mysql
도 함께 시작됩니다.$ docker-compose up -d workspace nginx mysql
Creating network "laradock_frontend" with driver "bridge"
Creating network "laradock_backend" with driver "bridge"
Creating network "laradock_default" with the default driver
Creating laradock_mysql_1 ... done
Creating laradock_docker-in-docker_1 ... done
Creating laradock_workspace_1 ... done
Creating laradock_php-fpm_1 ... done
Creating laradock_nginx_1 ... done
무사히 일어나면이 시점에서 localhost에서 작동을 확인할 수 있다고 생각합니다.
phalcon-devtools
는 나중에 사용할 것이라고 생각하므로 프로젝트에 다시 설치하십시오.$ docker-compose exec --user=laradock workspace bash
# ここから コンテナ内での作業です
$ composer require --dev phalcon/devtools
Using version ^3.4 for phalcon/devtools
./composer.json has been created
...
Writing lock file
Generating autoload files
$ exit
exit
결국 내용은 이런 느낌이 든다고 생각합니다.
$ ll phalcon-sample/
total 72
drwxr-xr-x 8 user group 256 6 21 12:22 app/
drwxr-xr-x 2 user group 64 6 21 12:22 cache/
-rw-r--r-- 1 user group 66 6 21 12:33 composer.json
-rw-r--r-- 1 user group 26968 6 21 12:33 composer.lock
-rw-r--r-- 1 user group 123 6 21 12:22 index.html
drwxr-xr-x 9 user group 288 6 21 12:22 public/
drwxr-xr-x 12 user group 384 6 21 12:33 vendor/
요약
phalcon-devtools
주위에서 조금 달라 붙었습니다만, 우선 최종형은 깨끗한 형태에 들어갔다고 생각합니다…
Reference
이 문제에 관하여(Laradock에서 Phalcon에 입문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/halnique/items/c583507a7bf99a914bb2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)