PHP/CodeIgniter4 12

env파일에는 항목추가가 가능합니다

생각보다 env파일에 항목추가가 가능하다는 사실을 모르는 사람들이 많습니다. 저는 slack에 메시지를 보내기 위해 웹훅을 설정했는데, 이걸 env파일에 넣어두고 불러와 사용합니다. 한마디로 env파일에 서버마다 설정을 해 놓으면 개발하고 이건 운영서버용 파일, 이건 테스트 서버용 파일 하면서 따로 관리하는등 어렵게 할 필요가 없다는겁니다. env파일 하나로 다 가능합니다. 이거 모르시는 분들이 많아 예전 방식대로 개발하시는 분들이 생각보다 많습니다.

PHP/CodeIgniter4 2020.12.28

env파일에서 DB접속시 포트번호 표시하기

mysql 과 mariadb 를 같이 사용하는경우 하나가 포트 3306번을 사용하고 있다면 보통 3307번으로 포트를 지정해 놓습니다. 대부분의 PHP프로그램에서 DB환경 설정시 굳이 포트를 지정해 놓지 않았다면 자동으로 3306을 찾아 먼저 접속을 시도합니다. 그런데 3307번으로 mariadb 10을 사용하고 있으니, 접속이 안됩니다. codeigniter.com/user_guide/database/configuration.html#configuring-with-env-file Database Configuration — CodeIgniter 4.0.4 documentation Note Depending on what database platform you are using (MySQL, Postgr..

PHP/CodeIgniter4 2020.12.16

public 폴더에는 무엇을 넣어야 할까요?

ci4 의 폴더 구조는 아래와 같습니다. app은 처음에 routes를 수정한다고 했으니 특별한 설명은 필요 없을것입니다. system은 시스템 파일이 들어 있어 어지간하면 안건드리는걸로 하세요. writable은 파일 업로드등 외부에서 입력되는 파일이나 로그가 위치하게 됩니다. 실제 웹 주소를 치고 접속할때 코드이그나이터는 public 폴더의 index.php를 해석해서 controller를 통해 view나 model을 읽습니다. 이때 view에서 화면을 만들때 필요한 css나 js파일등은 어디에 위치해 있게 되는걸까 싶었습니다. 저는 CSS나 웹을 잘 모릅니다. 그래서 저는 디자이너나 퍼블리셔 해 주실 분이 없는 경우 부트스트랩 테마를 자주 이용하게 됩니다. 자유도는 떨어진다지만, 모바일부터 PC까지..

PHP/CodeIgniter4 2020.12.06

Routes 를 수정해봅니다

코드이그나이터의 기본화면은 누구나 잘 알겁니다. 아무것도 없이 입력하면 나오는 화면이죠. 나중에 만들더라고 기본적으로 나오는 화면을 변경해 보기로 하였습니다. app/config/Routes.php 파일을 수정합니다. 수정해야할 부분은 setDefaultController 과 33번 라인의 routes->get 부분입니다. 기본 컨트롤러 그러니까 아무것도 없이 기본 도메인만 입력했을때 찾아오게 되는 기본 컨트롤러는 Main으로 지정하였고, 그 중에서 index를 불러오게 하였습니다. 이제 welcome메시지 안봐도 되는 것이죠. 그리고 기본적인 파일을 만들어줍니다. app/Controller/Main.php 를 만듭니다. index() 함수는 메소드 없이 컨트롤러만 호출했을때 어떤 메소드를 기본으로 호출..

PHP/CodeIgniter4 2020.11.27

github에는 어떤 파일을 올리게 되는 걸까요?

ci4를 하게 되면서 어떤 파일을 github에 올려서 공개해도 되는걸가 궁금했습니다. ci3에서는 database.php 파일이 config 디렉토리에 있어서 그거만 ignore에 올리고 그랬거든요. 그러다 보니 정확히 어떤 파일들을 올리는지 잘 분간이 안되었습니다. 그런 불리한점이 CI4에서는 .env파일 하나로 분리가 되어서 엄청 간단해 졌습니다. env파일을 .env로 복사합니다. env파일은 지워도 되지만 나중에 설정을 변경할때를 대비해서 남기기로 했습니다. 공식문서에도 복사해서 사용하라고 되어 있습니다. 그러고 나서 .gitignore 파일을 보니 .env파일은 제외하라고 되어 있더군요 결국엔 특별할것은 없이 받은대로 그대로 initial commit 을 할 수 있었습니다. 예전처럼 db나 환..

PHP/CodeIgniter4 2020.11.21