XAMPP에 PHP7.0.0α1 설치
htp //php. 네 t/
htp //php. 네 t/아 r ゔぇ/2015. php #i d2015-06-11-3
Windows용 PHP7이 되었으므로 XAMPP 환경에 설치해 보겠습니다.
덧붙여 α판이므로, 모방하는 경우는 자기 책임으로.
VCRUNTIME140.dll
Visual C++ 2015 런타임이 필요하므로 포함되어 있지 않으면 설치합니다.
h tp : / / s tac ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 30811668 / php7 - 미신 gvc
다운로드
ㅡㅡㅡㅜㅜㅜㅜㅜㅜㅜㅜ php. 네 t/쿠/
PHP 7.0 (7.0.0alpha1)을 선택.
32비트 PC에서는 「VC14 x86 Thread Safe」, 64비트는 「VC14 x64 Thread Safe」를 다운로드.
설치
기존 xampp/php 디렉토리를 삭제하고 이름 바꾸기로 제거하고 압축을 푼 파일을 통째로 xampp/php 디렉토리에 복사합니다.
php.ini
php.ini-development를 php.ini에 복사합니다.
필요한 extension을 활성화합니다.
우선 php_curl, php_gmp, php_mbstring, php_pdo_mysql 당의 코멘트를 제외했다.
기타 필요한 설정. ↓당.
date.timezone = Asia/Tokyo
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
xampp\apache\conf\extra\httpd-xampp.conf
php5_module, php5apache2_4.dll 등, php5가 되어 있는 곳을 php7로 변경.
시작
XAMPP 제어판에서 시작.
여러가지 부족하지만 일단 작동했다.
PHP7 기능
<?php
// 厳密なタイプヒンティング
declare(strict_types=1);
/**
* スカラー型タイプヒンティング、返り値のタイプヒンティング
* @param int
* @return bool booleanではないらしい
*/
function hoge(int $i):bool{
// return null; // Fatal error: Uncaught TypeException: Return value of hoge() must be an instance of boolean, null returned
return true;
}
hoge(1);
// hoge('1'); // Fatal error: Uncaught TypeException: Argument 1 passed to hoge() must be of the type integer, string given
// 無名クラス
$obj = new class(1) { // ()内はコンストラクタ引数
public function __construct(int $i){
$this->i = $i;
}
};
// 環境によらず使える暗号論的擬似乱数生成器
var_dump(random_int(100, 999));
// 鮫
var_dump("\u{9BAB}"); // ''では不可
// 致命的エラー
try {
require_once('fail.php'); // fail.phpのパースエラーを受け取れる
// a // このファイルがパースエラーの場合は死ぬ
} catch (ParseException $e) {
var_dump($e->getMessage()); // syntax error, unexpected end of file
}
// <=>
var_dump(1<=>2, 2<=>2, 3<=>2 ); // 何故かApahceが落ちる
// ??
var_dump($_REQUEST['hoge'] ?? 'fuga'); // 未定義でもNoticeの発生しない?:
// 商
var_dump(intdiv(6, 4), 6%4); // 商1、余り2
// ジェネレータ
$gen = (function(){
yield 1;
yield from [2, 3];
return 4;
yield 5;
})();
foreach($gen as $v){
var_dump($v); // 1,2,3になる。4は無い
}
var_dump($gen->getReturn()); // 4
// ReflectionGenerator
$gen = (function(){ yield from [5, 4, 3, 2, 1]; })();
$ref = new ReflectionGenerator($gen); // 使った後のジェネレータは不可?
var_dump(
$ref->getExecutingLine(), // 現在yieldしてる行?
$ref->getExecutingFile(), // 定義されてるファイル
$ref->getTrace(), // []しか入ってこない
$ref->getFunction(), // [ReflectionFunction]
$ref->getExecutingGenerator() // $gen?
);
왜냐하면 <=> 연산자가 Apache를 잡고 떨어지지만, 그 이외는 우선 동작했습니다.
음, 아직 α판이고 실용해서는 안 됩니다.
퍼포먼스 측정 등은 특별히 하고 있지 않기 때문에, 고속화의 결과는 불명.
그리고 ReflectionGenerator 되는 클래스를 발견했습니다만 상세 불명.
Reference
이 문제에 관하여(XAMPP에 PHP7.0.0α1 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rana_kualu/items/447995347acb2f8997a3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)