php5.3 과 5.6 차이가 많이 나나요..?

php5.3 과 5.6 차이가 많이 나나요..?

QA

php5.3 과 5.6 차이가 많이 나나요..?

본문

서버 이전하면서 php7 설치했다가 사용중인 스킨들이 다 깨져서 당장 수정할 시간도 없고 해서 답이 안나요 버전을 낮추려고 하는데... 이전전 서버 php버전이 5.3.x 였는데.. 이걸 5.6.x 버전으로 변경해도 스킨에 문제가 없을까요...?   ㅠ.ㅠ  그래도 같은 5버전 때라서리...  문의 드려봅니다.

이 질문에 댓글 쓰기 :

답변 5

같은 5x 버전대라면 크게 문제 없습니다.

헌데 5.3 이나 5.6 이나 성능향상은 미미합니다. 그냥 5.3 쓰시는게 나을수도 있어요.

5.3과 5.6 그리 큰차이가 없을까요...? php7 관련 스킨 오류만 잡으면 되는데 완전 까막눈이라서... ㅠ.ㅠ 의뢰하려해도 비용부담때문에.. 일단 php5.6으로 가고 예산 잡아서 재작업해야 할 것 같습니다.

chatgpt 답변입니다.

이 두 버전 사이에는 다양한 문법적인 차이가 있으며, 주요한 차이점은 다음과 같습니다:

  1. 네임스페이스(Namespace): PHP 5.3에서부터 네임스페이스가 도입되었습니다. 네임스페이스는 클래스, 함수 및 상수에 대한 이름 충돌을 방지하기 위한 기능으로, 코드를 모듈화하고 구조화하는 데 도움을 줍니다. PHP 5.3 이전 버전에서는 네임스페이스를 사용할 수 없습니다.

  2. 익명 함수(Anonymous Functions): PHP 5.3에서부터 익명 함수(또는 클로저)가 지원됩니다. 익명 함수는 변수에 할당되거나 다른 함수에 전달되어 사용될 수 있습니다. 이를 통해 콜백 함수 또는 간단한 함수 로직을 정의할 수 있습니다. PHP 5.6 이전 버전에서는 익명 함수를 사용할 수 없습니다.

  3. 콜백 형식의 타입 힌트(Type Hinting): PHP 5.4에서부터는 함수 파라미터 및 반환 값에 타입 힌트를 지정할 수 있게 되었습니다. 이를 통해 함수의 인자나 반환 값이 특정한 형식을 따르도록 강제할 수 있습니다. PHP 5.3에서는 이러한 타입 힌트 기능이 제공되지 않습니다.

  4. 비밀번호 해싱 함수: PHP 5.5에서는 비밀번호 해싱을 보다 쉽게 처리할 수 있는 password_hash() 함수와 검증을 위한 password_verify() 함수가 도입되었습니다. 이러한 함수를 사용하여 안전한 방식으로 비밀번호를 저장하고 검증할 수 있습니다. PHP 5.3과 5.6에서 이러한 함수를 사용할 수 있지만, PHP 5.5 이전 버전에서는 해당 함수가 지원되지 않습니다.

  5. 엄격한 예외 처리(Strict Exception Handling): PHP 5.4부터는 엄격한 예외 처리가 도입되었습니다. 이를 통해 예외 처리 관련 오류를 더욱 강력하게 관리하고, 코드에서 발생할 수 있는 잠재적인 문제를 사전에 탐지할 수 있습니다. PHP 5.3에서는 이러한 엄격한 예외 처리 기능이 제공되지 않습니다.

배열 초기화 문법: PHP 5.4부터 도입된 단축 배열 초기화 문법인 []를 사용할 수 있습니다. PHP 5.3에서는 array() 문법을 사용해 배열을 초기화해야 합니다.

// PHP 5.3
$array = array(1, 2, 3);
// PHP 5.4 이상
$array = [1, 2, 3];
문자열 리터럴 문법: PHP 5.6에서는 변수를 문자열 안에서 중괄호({})로 묶어 사용하는 새로운 문자열 보간 문법을 도입했습니다.

// PHP 5.3 이전
$name = "John";
echo "My name is ".$name.".";
// PHP 5.6 이상
$name = "John";
echo "My name is {$name}.";
::class 상수: PHP 5.5부터 ::class 상수를 사용하여 클래스 이름을 문자열로 얻을 수 있습니다. 이를 통해 클래스 이름에 대한 오타를 줄이고, IDE의 코드 완성 기능을 더욱 효과적으로 사용할 수 있습니다.

// PHP 5.4 이전
echo get_class(new MyClass());
// PHP 5.5 이상
echo MyClass::class;
use 구문의 변경: PHP 5.6부터 use 구문을 통해 네임스페이스의 클래스를 더욱 편리하게 가져올 수 있습니다. use 구문 다음에 중괄호({})를 사용하여 여러 개의 클래스를 한 번에 가져올 수 있습니다.

// PHP 5.3 이전
use Namespace\SubNamespace\MyClass;
// PHP 5.6 이상
use Namespace\SubNamespace\{Class1, Class2};

그누보드 버젼이 뭔가요?

사용에 지장멊습니다

아미나 적용된 그누보드 5.3 마지막 버전입니다.(보안패지는 다되어 있고요)  php7 대응 관련 코어 코드는 다 수정인 된 거 같은데 문제는 기존 사용하던 테마하고 보드스킨에서 오류가 있는지 다 깨져 버리네요.. ㅠ.ㅠ 그래서 php7은 포기하고 이전 쓰던  php5.3에서 조금이나마 업데이트 된 5.6으로 변경할까 하는데... 고민입니다.

오류 메시지는 안나오는데 페이지가 다 깨지네요.. 그리고 특정 게시판 스킨도 문제고... 관리자 모드에서 화면 전혀 이상 없는 것이 스킨만 수정하면 되기는 하는데.. 스킨이 2~3개 정도에 추가된 프로그램이 있어서리..   당장에는 답이 안나오고..   그냥 php7에서 php5.6으로 다운한 후 차후 그누 버전을 5.3  이상으로 변경해야 겠습니다. ㅠ.ㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 129,103 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT