Programming-[Backend]/php, codeigniter 4

생활코딩 codeigniter - 5. 이메일 전송, CLI, queue&cron, caching

1. 이메일 전송 이메일 라이브러리 사용 새로운 글이 등록되었을 때 이메일을 전송해준다는 기능을 가정하여 처리해본다. 기본적으로 제공하는 라이브러리를 사용하는 것이여서, 라이브러리를 사용하고 확장해보는 예제라고 생각하고 처리해보면 된다. $this->load->model('user_model'); $users = $this->user_model->gets(); // user 모델에 정의한 모든 user 정보들을 가져오는 메서드 $this->load->library('email'); foreach($users as $user){ $this->email->from('admin@gmail.com', 'name'); $this->email->to($user->email); //모든 유저에게 전송 $this->e..

생활코딩 codeigniter - 4. 세션, 사용자 인증, Core 확장처리, 로그인, 회원가입

1. Session & 사용자 인증 Session 설정 CI에서 세션 처리를 위해서 필수적으로 수정해야하는 부분은 아래와 같다. 당연히 encryption_key 값은 유출되면 안된다. 그리고 DB에 저장하지 않고 파일로써 컴퓨터에 저장하면 사용자의 로컬 컴퓨터에 저장되므로 보안상 위험할 수 있기 때문에 DB에 저장하는 것으로 설정한다. $config['encryption_key'] = ''; // 32글자의 문자 입력 $config['sess_use_database'] = TRUE; // 세션 데이터를 DB에 저장하기 위함 보안을 위해서 추가적으로 수정해야하는 부분은 아래와 같다. ip와 browser까지 체크해주는 옵션이다. $config['sess_match_ip'] = TRUE; $config['..

생활코딩 codeigniter - 3. Config, 로깅, 파일 업로드, CKEditor

1. Config 기본적인 설정값 외에 설정값들을 변경하기 위해 사용한다. root_path/config/ 디렉토리에 위치하여 처리한다. 자주 사용되고 중요한 설정 파일들은 아래와 같다. config.php: 전체적인 설정을 조정한다. database.php: 데이터베이스 관련 설정을 한다. autoload.php: 라이브러리들을 전역으로 로드해준다. hooks.php: CI의 기본적인 동작을 할 수 있는 system 디렉토리에 있는 기능등을 override할 수 있다. routes.php: url 라우팅을 위한 설정을 할 수 있다. git으로 주요 설정 파일 관리하기 config.php, database.php 파일은 DB 접속 정보 등 비밀 정보가 들어가기 때문에 여기서 해당 파일들은 중요 정보를 삭..

생활코딩 php, codeigniter 강의 - 1. php 기본, codeigniter MVC(w/ Docker, MacOS)

1. php 문법자바와 비교해서 유의해야할 점이나 중요한 부분만 작성해놓는다. 공통자바와 똑같이 세미콜론으로 표현을 끝낸다. echo 또는 print 명령어로 출력한다. . 으로 string concatenation을 할 수 있다. 여러 줄 주석은 자바처럼 /* */ 로 처리할 수 있다. $로 변수를 초기화할 수 있다. 변수 사용도 $로 불러와서 사용한다. 함수들 var_dump: 타입 및 값 출력 isset: 변수의 null 확인 array("원소들", ...) 로 배열을 선언한다. scandir(): 특정 경로의 파일 목록을 배열로 불러온다. basename(): 디렉토리 중 파일의 이름만 따온다. 보안상 공격자가 디렉토리 탐색을 못하도록 막아줄 수 있다. 함수 함수는 코드의 복잡도를 낮추고 의미를 ..