>  기사  >  백엔드 개발  >  PHP7 업그레이드의 함정을 소개합니다!

PHP7 업그레이드의 함정을 소개합니다!

coldplay.xixi
coldplay.xixi앞으로
2021-02-08 10:13:042524검색

PHP7 업그레이드의 함정을 소개합니다!

추천(무료): PHP7

이전에 php7 버전이 많이 개선됐고, 드디어 회사 프로젝트도 PHP7로 업그레이드 된다고 들었습니다.

업그레이드하기 전에 여러분이 정리한 몇 가지 소개를 읽어보니 이번 버전은 밑바닥부터 많은 변화가 있었음은 물론 효율성도 많이 향상되었습니다.

몇 가지 새로운 기능 외에도(모두가 이미 전체 내용을 작성했으며, 아직 보지 못한 내용도 작성할 예정이며, 프로젝트가 진행됨에 따라 천천히 업데이트하겠습니다)

Extensions

1. PHP 버전에 해당 확장을 다운로드/설치합니다. Windows 환경이므로 사용할 dll 파일을 다운로드합니다. 친숙한 알림: 처음에는 ini 구성의 확장 주소에 주목하세요. 확장 기능이 없습니다. phpinfo()에는 정보가 없습니다!

주소가 잘못 적혀 있을 줄은 상상도 못했어요!

~~맞아야 할 때 2.5에서는 memcache를 사용하는 분들이 더 많아졌을 텐데, 저희도 비교적 늦게 업그레이드를 해서 PHP7을 지원하는 버전을 올려주셨어야 했다는 생각이 들어서 정말 찾아봤습니다. .

링크 게시 후 해당 버전으로 바로 이동: https://github.com/nono303/PHP7-memcache-dll

3.phalcon에도 php7을 지원하는 버전이 있으니, 해당 버전으로 바로 이동도 가능합니다 : https://github.com/phalcon/cphalcon/releases/tag/v3.4.1

코드 부분

1.split 이 방법은 더 이상 PHP에서 사용할 수 없습니다.

preg_split

또는 필요에 따라 str_split 또는 explode를 사용하여 2. 매개변수를 사용자 정의 함수에 전달할 때 매개변수에 값이 없어야 합니다. 다음 코드 설명을 참조하세요.

function test($name)

{

    if(empty($name))

    {

            echo 'php7时会出现致命错误!~'根本到不了这里;

    }

}

정확함 :

function test($name=null)

{

    if(empty($name))

    {

            echo '这里就可以正常执行了~';

    }

}

안타깝게도 제 프로젝트에는 이렇게 써있는게 많습니다(시간 값이 없을 때 기본 시간을 대충 읽어요!~)

2018-10-23 18:28

변수, 속성, 메소드의 변경을 간접적으로 활용

Expressions PHP 5의 구문 분석 방법$$foo['bar']['baz']${$foo['bar'] ['baz']} $foo->{$bar ['baz']} $foo->{$bar ['baz']} ()Foo::{$bar['baz'] }()오래된 오른쪽에서 왼쪽으로 구문 분석 순서를 사용하는 코드는 괄호를 명시적으로 사용하여 순서를 나타내도록 다시 작성해야 합니다(위 표 참조). ). 이를 통해 코드는 PHP 7.x와의 상위 호환성 및 PHP 5.x와의 하위 호환성을 유지할 수 있습니다. (문서에 적혀있음) 또 다른 점은 7과 비교하면 경고가 더 많다는 점입니다.
PHP 7의 구문 분석 방법
($$foo)['bar']['baz'] $$foo['bar']['baz']
($$foo)['bar']['baz'] $$foo['bar']['baz']
($$foo)['bar']['baz'] Foo::$bar'baz'
( Foo::$bar)['baz']()

위 내용은 PHP7 업그레이드의 함정을 소개합니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제