SheetSu PHP 라이브러리는 작곡가를 통해 제공됩니다.
composer.json 파일을 편집하거나 터미널 에서이 명령을 눌 수 있습니다.
composer require emilianozublena/sheetsu-php
메인 SheetSu 객체를 인스턴스화하고 SheetSu 대시 보드 에서이 URL을 찾을 수있는 SheetID를 제공해야합니다. Composer의 자동로드를 사용해야합니다.
require ( ' vendor/autoload.php ' );
use Sheetsu Sheetsu ;
$ sheetsu = new Sheetsu ([
' sheetId ' => ' sheetId '
]); API에 대한 HTTP 기본 인증이 켜져있는 경우 다음과 같은 key 와 secret 전달해야합니다.
require ( ' vendor/autoload.php ' );
use Sheetsu Sheetsu ;
$ sheetsu = new Sheetsu ([
' sheetId ' => ' sheetId ' ,
' key ' => ' key ' ,
' secret ' => ' secret '
]);필요한 경우 생성 후 라이브러리를 다시 이용하거나 초기화 할 수 있습니다.
# Initialize after creation
$ sheetsu = new Sheetsu ();
$ sheetsu -> initialize ([
' sheetId ' => ' sheetId ' ,
' key ' => ' key ' ,
' secret ' => ' secret '
])SheetSu PHP 라이브러리에는 수집 초록 데이터 유형의 작은 구현이 있습니다.
모델은 컬렉션 단위입니다 (이 경우 각 모델은 주어진 시트의 행을 나타냅니다).
CRUD 작업의 경우 Seyetsu 클라이언트에 배열을 제공하는 대신 다음과 같은 작업을 수행 할 수 있습니다.
$ collection = new Collection ();
$ collection -> addMultiple ([
Model:: create ([ ' name ' => ' John ' ]),
Model:: create ([ ' name ' => ' Steve ' ])
]);
$ response = $ sheetsu -> create ( $ collection );컬렉션과 모델은 API를 호출 할 때마다 얻을 두 가지 객체입니다.
문서 링크
Google 스프레드 시트에 데이터를 추가하려면 배열, 배열 배열 또는 간단히 모델이나 컬렉션으로 작동합니다.)
# Adds single row from array
$ sheetsu -> create ([ ' name ' => ' John ' ]);
# Adds multiple rows from array
$ sheetsu -> create ([
[ ' name ' => ' John ' ],
[ ' name ' => ' Steve ' ]
]);
# Adds single row from Model
$ sheetsu -> create (Model:: create ([ ' name ' => ' John ' ]));
# Adds multiple rows from Collection
$ collection = new Collection ();
$ collection -> addMultiple ([
Model:: create ([ ' name ' => ' John ' ]),
Model:: create ([ ' name ' => ' Steve ' ])
]);
$ response = $ sheetsu -> create ( $ collection );호출이 완료되면 응답 객체를 반환합니다.
문서 링크
전체 시트를 읽으십시오
$ response = $ sheetsu -> read ();
$ collection = $ response -> getCollection ();읽기 함수는 2 개의 매개 변수를 허용합니다
limit - 결과 수offset - N 첫 레코드에서 시작합니다 # Get first two rows from sheet starting from the first row
$ response = $ sheetsu -> read ( 2 , 0 );
$ collection = $ response -> getCollection ();문서 링크
검색 기준과 일치하는 행을 얻으려면 기준으로 배열을 전달하십시오.
# Get all rows where column 'id' is 'foo' and column 'value' is 'bar'
$ response = $ sheetsu -> search ([
' id ' => ' foo ' ,
' value ' => ' bar '
]);
$ collection = $ response -> getCollection ();
# Get all rows where column 'First name' is 'Peter' and column 'Score' is '42'
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
]);
$ collection = $ response -> getCollection ();
# Get first two row where column 'First name' is 'Peter',
# column 'Score' is '42' from sheet named "Sheet3"
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
], 2 , 0 );
$ collection = $ response -> getCollection ();
# Get first two row where column 'First name' is 'Peter',
# column 'Score' is '42' from sheet named "Sheet3"
# with ignore case
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
], 2 , 0 , true );
$ collection = $ response -> getCollection ();문서 링크
행을 업데이트하려면 열 이름과 그 값이 행을 찾는 데 사용되는 값과 데이터가있는 배열 또는 모델을 업데이트 할 수 있습니다.
# Update all columns where 'name' is 'Peter' to have 'score' = 99 and 'last name' = 'Griffin'
$ model = Model:: create ([ ' score ' => ' 99 ' , ' last name ' => ' Griffin ' ]);
$ response = $ sheetsu -> update ( ' name ' , ' Peter ' , $ model ); 기본적으로 패치 요청이 전송되며, 이는 수집 된 수집품에 전달 된 값만이 메소드에 전달됩니다. 풋 요청을 보내려면 4 번째 인수가 true 입니다. SheetSu 문서의 Put과 Patch의 차이점에 대해 자세히 알아보십시오.
문서 링크
행을 삭제하려면 열 이름과 행을 찾는 데 사용되는 값을 전달하십시오.
# Delete all rows where 'name' equals 'Peter'
$ response = $ sheetsu -> delete ( ' name ' , ' Peter ' );작업중 인 시트를 변경 해야하는 경우 시트 기능을 사용하고 새 Seyetsu ID를 전달하여 수행 할 수 있습니다.
# Change active sheetsu to 'THIS'
$ sheetsu -> sheet ( ' THIS ' )당신은 또한이 기능을 다른 사람들과 함께 연쇄 할 수 있습니다.
# Change active sheetsu to 'THIS'
$ sheetsu -> sheet ( ' THIS ' )-> read ();전체 스프레드 시트를 사용해야하는 경우 쉽습니다.
# Back to whole spreadsheet
$ sheetsu -> whole ()당신은 또한이 기능을 다른 사람들과 함께 연쇄 할 수 있습니다.
# Back to whole spreadsheet
$ sheetsu -> whole ()-> read ();SheetSu PHP 라이브러리는 연결 클래스를 통해 연결을 처리합니다. 이 클래스는 연결을 위해 컬을 사용하고 응답 클래스를 반환으로 사용합니다. 응답 개체는 컬렉션, 모델 또는 오류를 제공하는 담당자 (또는 마지막 호출의 다른 응답) 오류 처리도 응답 객체를 통해 이루어집니다 (응답은 ErrorHandler 클래스를 사용하여 시도/캐치 블록을 추상화하고 ErroreXception PHP 클래스에 단단히 결합됩니다).
$ response = $ sheetsu -> read ();
#if you need only the error messages, you can get the errors like this
$ errors = $ response -> getErrors ();
$ firstError = $ response -> getError ();
#if you need to get the exceptions thrown, do it like this.
$ exceptions = $ response -> getExceptions ();
$ firstException = $ response -> getException ();이 라이브러리는 코드 적용 범위의 97% 이상이 있습니다. 일부 테스트는 Mock Objects를 사용하지 않습니다. 이것은 우리의 할 일 목록에 있으며 우리가 그렇게 할 수 있기를 바랍니다. 테스트는 PhPunit과 함께 사용할 준비가되어 있으며 테스트 스위트는 XML을 통해 구성 되므로이 리베르의 포크 버전에서 PHPUnit을 실행하면됩니다.
./vendor/bin/phpunit