본문 바로가기

php7

PHP7 use NameSpace Using namespaces: Aliasing/Importing PHP 7 - use Statement PHP7 use Namespace구문 PHP7 이후부터는 단일 use 문을 사용하여 여러 use 문 대신 동일한 namespace에서 클래스, 함수 및 상수를 가져올 수 있습니다. // Before PHP 7 use com\tutorialspoint\ClassA; use com\tutorialspoint\ClassB; use com\tutorialspoint\ClassC as C; use function com\tutorialspoint\fn_a; use function com\tutorialspoint\fn_b; use function com\tutorialspoint\fn_c; use const .. 더보기
PHP7 Expectations - Assert() Expectations New features PHP 7 - Expectations Assert() Expections Expectations는 이전 assert()함수에 대한 하위 호환성 향상입니다. 프로덕션 코드에서 비용이 없는 assertion을 허용하고 어설션이 실패 할 때 사용자 지정 예외를 throw하는 기능을 제공합니다. 이전 API는 호환성을 유지하기 위해 계속 유지되지만 assert()는 이제는 언어구문으로 제공되며, 첫 번째 매개 변수를 평가할 문자열 또는 테스트 할 부울 값이 아닌 표현식으로 사용할 수 있습니다. 운영환경에서 asert()기능을 구성하는 방법을 포함하여 기능에 대한 자세한 내용은 assert() > expectations절을 참조하세요. Configuration for Assert() 설정 .. 더보기
PHP7 CSPRNG - 암호학적으로 안전한 랜덤(pseudo-random) 함수 New features CSPRNG 함수 목록 PHP 7 - CSPRNG CSPRNG 암호학적으로 안전한 random함수 random_bytes암호학적으로 안전한 pseudo-random bytes(의사-램덤 바이트) 생성 random_int암호학적으로 안전한 pseudo-random integers # Syntax # string random_bytes ( int $length ) # $length : 바이트단위로 반환되어야하는 길이 $bytes = random_bytes(5); print(bin2hex($bytes)); // 54cc305593 # Syntax # int random_int ( int $min , int $max ) # $min : PHP_INT_MIN 보다 큰값 # $max : PH.. 더보기
PHP7 Filtered unserialize() - 시리얼라이저 복구 필터링 New features unserialize : php.net PHP 7 - Filtered unserialize() 시리얼라이저 복구 class MyClass1 { public $obj1prop; } class MyClass2 { public $obj2prop; } $obj1 = new MyClass1(); $obj1->obj1prop = 1; $obj2 = new MyClass2(); $obj2->obj2prop = 2; $serializedObj1 = serialize($obj1); $serializedObj2 = serialize($obj2); // 모든클래스 허용 옵션. 생략가능. // allowed_classes 가 false 설정하면, 모든 객체를 into __PHP_Incomplete_Cl.. 더보기
PHP7 Closure::call() - 클루저 콜 New features PHP 7 - Closure::call() 클루저 콜 PHP7은 이전 bintTo()보다 훨씬 더 빠릅니다. Pre PHP7 class A { private $x = 1; } // php7 이전 클루저 정의 $getValue = function() { return $this->x; }; // 클루저 바인딩(연결)) $value = $getValue->bindTo(new A, 'A'); var_dump($value()); // 1 PHP7 class A { private $x = 1; } // PHP 7+ code, Define $value = function() { return $this->x; }; var_dump($value->call(new A)); // 1 더보기
PHP7 Anonymous Classes - 익명 클래스 New features PHP 7 - Anonymous Classes 익명 클래스 logger; } public function setLogger(Logger $logger) { $this->logger = $logger; } } $app = new Application; // instance $app->setLogger(new class implements Logger { // anonymous classes injection public function log(string $msg) { print($msg); } }); $app->getLogger()->log("message""); // message 더보기
PHP7 constant Arrays - 배열 상수 New features PHP 7 - Constant Arrays PHP7 이전의 PHP에서 define()으로 정의할 때 배열을 사용할수 없었다. PHP7에서는 배열상수를 정의할수 있다. 더보기
PHP7 Spaceship Operator 스페이스윕 연산자 New features PHP 7 - Spaceship Operator 스페이스쉽 연산자 연산자로 좌측 항목을 기준으로 우축항목 비교 결과를 0, -1, 1 결과값을 가진다. 0 비교값이 같을 경우 -1 기준값(좌)이 작을 경우 1 기준값(좌)이 클 경우 더보기