webpagetest
ve-composer-lock
WebPagetest.org와 상호 작용하기위한 PHP 라이브러리.
PHP 7.1+가 필요합니다
키를 얻으려면 요청 API 키를 참조하십시오.
<?php
use WidgetsBurritos WebPageTest WebPageTest ;
$ wpt = new WebPageTest ( ' YOUR_API_KEY ' );대체 연결 처리기를 지정하려면 :
<?php
use WidgetsBurritosWebPageTestWebPageTest;
$wpt = new WebPageTest('YOUR_API_KEY', $handler);
대체 호스팅 인스턴스를 지정하려면 :
<?php
use WidgetsBurritosWebPageTestWebPageTest;
$wpt = new WebPageTest('YOUR_API_KEY', $handler, 'https://www.example.com');
하드 코딩 상태 코드 대신 주전자와 같은 외부 라이브러리를 사용하는 것이 좋습니다.
<?php
use TeapotStatusCode;
# Examples:
StatusCode::CONTINUING; // 100 (Test Started)
StatusCode::SWITCHING_PROTOCOLS; // 101 (Test Pending)
StatusCode::OK; // 200 (Test Complete)
StatusCode::BAD_REQUEST; // 400 (Test Not Found)
StatusCode::UNAUTHORIZED; // 401 (Test Request Not Found)
StatusCode::PAYMENT_REQUIRED; // 402 (Test Cancelled)
?>
^ 참고 : 스위칭 프로토콜 및 지불 필요한 상태 검사는 실수가 아닙니다. 2017 년 10 월 25 일 현재, WebPagetest.org는 보류중인 테스트의 "101 스위칭 프로토콜"상태와 취소 된 테스트의 경우 "402 지불 필수"상태를 반환합니다.
<?php
if ( $ response = $ wpt -> runTest ( ' https://www.google.com ' )) {
if ( $ response -> statusCode == StatusCode:: OK ) {
// All test info is available in $response->data.
$ test_id = $ response -> data -> testId ;
}
}
?> 라이브러리는 k , f 및 url 쿼리 문자열 매개 변수를 자동으로 채 웁니다. 선택적으로 배열을 전달하여 추가 매개 변수를 제공 할 수 있습니다.
<?php
$ options = [
' label ' => ' My Test Label ' ,
' noimages ' => 1 ,
' mobile ' => 1 ,
];
if ( $ response = $ wpt -> runTest ( ' https://www.google.com ' , $ options )) {
if ( $ response -> statusCode == StatusCode:: OK ) {
// All test info is available in $response->data.
$ test_id = $ response -> data -> testId ;
}
}
?>지원되는 매개 변수에 대한 자세한 내용은 웹 페이지 테스트 API 문서를 참조하십시오.
<?php
if ( $ response = $ wpt -> getTestStatus ( $ test_id )) {
// All test info is available in $response->data.
if ( $ response -> statusCode == StatusCode:: OK ) {
// Test is complete.
}
else if ( $ response -> statusCode == StatusCode:: CONTINUING ) {
// Test is running.
}
else if ( $ response -> startCode == StatusCode:: SWITCHING_PROTOCOLS ) {
// Test is waiting to start.
}
else if ( $ response -> statusCode == StatusCode:: PAYMENT_REQUIRED ) {
// Test has been cancelled.
else {
// Test failed.
}
}
?> <?php
if ( $ response = $ wpt -> getTestResults ( $ test_id )) {
// All test result info is available in $response->data.
if ( $ response -> statusCode == StatusCode:: OK ) {
// Test is complete.
}
else if ( in_array ( $ response -> statusCode , [StatusCode:: CONTINUING , StatusCode:: SWITCHING_PROTOCOLS ])) {
// Test is not yet complete.
}
else {
// Test failed.
}
}
?> <?php
if ( $ response = $ wpt -> getLocations ()) {
if ( $ response -> statusCode == StatusCode:: OK ) {
// All locations info is available in $response->data.
}
}
?>간단히 실행하여 테스트를 취소 할 수 있습니다.
<?php
$ wpt -> cancelTest ( $ test_id );
?>