인프런 커뮤니티 질문&답변

개foot님의 프로필 이미지

작성한 질문수

PHP 7+ 프로그래밍

php.ini

해결된 질문

작성

·

372

0

php.ini 설정을 함수로도 설정을 하던데, 보통 그러면 일단 php.ini 를 파일을 만들어서 함수로 셋팅을 하기도 하나요?

그리고, 이 강의가 지금 함수형으로 구현들을 해보는데 서비스를 할때 함수 지향적으로도 해도 괜찮을까요?

추후에 객체 지향 강의도 하신다고는 하셨는데, 제가 서비스를 할려면 기다려야 하는지 느낌적인 질문을 하겠습니다. 

그리고 보안은 가르쳐주신 대로만 해도 웹서비스 할때 기본적인건 갖추어져 있는지도 궁금합니다!! ㅎㅎ

ps.  이강의 php 이지만, 내용적으로 웹 전반적인 이해를 도와주기에 좋은 강의인거 같습니다.

답변 3

1

정상우님의 프로필 이미지
정상우
지식공유자

수강 후기도 남겨주시면 감사합니다!

0

개foot님의 프로필 이미지
개foot
질문자

친절한 답변 감사합니다!! ㅎㅎ

0

정상우님의 프로필 이미지
정상우
지식공유자

안녕하세요! 긍정적으로 평가해주셔서 감사합니다.

Q. php.ini 를 파일을 만들어서 함수로 셋팅을 하기도 하나요?

대부분의 프로젝트에서는 함수로 셋팅하기보다는 개발프로덕션 각각 php.ini 를 별도로 두고 배포서버에는 프로덕션용 설정을 사용합니다. 다만 일부 프레임워크에서는 php.ini 가 아닌, 특정 설정(세션의 라이프타임과 같은 것)을 php 코드로 설정하고 내부에서 함수를 통해 변경하기도 하기때문에, ini_set 을 사용하기도 하고, 테스트용도로 사용되기도 합니다.

Q. 이 강의가 지금 함수형으로 구현들을 해보는데 서비스를 할때 함수 지향적으로도 해도 괜찮을까요?

PHP 라는 언어는 함수형객체지향을 둘 다 사용할 수 있고, 실제 현업에서도 제법 함수의 형태로 진행 된 것들도 있습니다. 다만, 프로덕션에서도 함수형으로 사용할 수 있으나, 라라벨과 같은 프레임워크에서는 객체지향을 적극적으로 사용하고 있고, 아직까지, 레거시입니까? 강의에서는 함수화를 통해 MVC 패턴을 일부 모방하고 있으나 진짜는 아니므로 타 언어에서 제공하는 프레임워크에서 차용하고 있는 여러 아키텍쳐들을 PHP 에서 사용하려면 객체지향을 알아두는 것이 좋습니다. (객체지향이 PHP 프로그래밍에서 필수적이지는 않으나 레거시를 탈출하기 위해서는 필요합니다.)

Q. 보안은 가르쳐주신 대로만 해도 웹서비스 할때 기본적인건 갖추어져 있는지도 궁금합니다!! ㅎㅎ

기본적으로 저 정도만 하더라도 어느 정도 괜찮다고 볼 수 있습니다. 코드 자체에서 이야기하는 것 뿐만 아니라, 세션 부분 즈음에 언급이 되겠지만, php.ini 설정에서도 보안과 관련된 부분을 건드리기도 합니다. 그 외에 클라이언트에서 자바스크립트로 폼 값체크 등이 있으면 더욱 좋겠죠.

서버단에서 임의의 규칙에 따라 array_filter 를 사용하여 네거티브한 값들(false, null, '', 0, []) 등을 걸러주거나 값의 범위를 제한하는 등의 행위를 처리(filter_var, filter_input)하는 것도 추가적으로 할 수도 있겠습니다. 일부 레거시에서는 $_GET, $_POST 등을 생으로 받아서 처리하는 경우도 있으므로 이는 나쁜 버릇이니 반드시 필터함수를 사용해주세요.

개foot님의 프로필 이미지

작성한 질문수

질문하기