Countable
ArrayAccess
Iterator
메소드 : count()
SPL 및 PHP 인터페이스
PHP는 클래스에서 이러한 인터페이스를 구현하여 객체를 배열과 유사하게 만들 수있는 사전 정의 된 인터페이스 라이브러리를 제공합니다.
이 용어가 위협적으로 들리면 걱정하지 마십시오. 당신은 전에 입니다.
인터페이스 메소드를 구현하면 객체를
인터페이스
불행히도
이 예에서는 연대순 순서로 트윗 블록을 검색하여 버퍼에 저장하여 타임 라인의 트윗을 루프합니다. 우리는이 버퍼가 다 떨어질 때 까지이 버퍼를 반복 한 다음 마지막 트윗의 ID를 오프셋으로 사용하여 다른 트윗을 얻습니다. 메소드가 들어오는 곳입니다. 다음 10 개의 트윗을 얻을 수있는 곳에서 오프셋을 시작하기 위해 최신 10 개의 트윗을 얻습니다.
우리는 끝났다! 이것은 사용자 트윗을 통한 루핑의 매우 기본적인 구현입니다. API 통화를 저장하기위한 로컬 캐시와 같이 수행 할 수있는 일이 더 많지만 인터페이스를 사용하는 것의 아름다움입니다. 배경에서 정책을 변경할 수 있으며 구현이 여전히 올바른 한 기대할 수 있습니다. 여전히 작동합니다. 결론 <code class="language-php">class Members {
public function __construct(array $members) {
$this->members = $members;
}
// 其他方法
}</code>
메소드가 있어야합니다. 클래스 가이 계약을 만족 시킨다는 키워드가 있습니다 : . __iter__
<code class="language-php">class Members implements Iterator {
private $members;
private $position = 0;
public function __construct(array $members) {
$this->members = $members;
}
public function current() {
return $this->members[$this->position];
}
public function key() {
return $this->position;
}
public function next() {
$this->position++;
}
public function rewind() {
$this->position = 0;
}
public function valid() {
return isset($this->members[$this->position]);
}
}
$ls = new Members(["你", "我"]);
foreach ($ls as $member) {
echo $member . "\n";
}</code>
이러한 인터페이스 중 일부는 사전 정의 된 인터페이스 및 클래스 목록에 포함되어 있으며 일부는 표준 PHP 라이브러리 (SPL)에 포함되어 있습니다. __contains__
를 사용했습니다. <code class="language-php">class Members {
public function __construct(array $members) {
$this->members = $members;
}
public function contains($member) {
return in_array($member, $this->members);
}
}
$members = new Members(["你", "我"]);
if ($members->contains("我")) {
echo "我是一个成员!\n";
}</code>
반면에, 문서에 따르면 SPL은 <code class="language-php">isset($myObject["test"]);</code>
<code class="language-php">class Members {
public function __construct(array $members) {
$this->members = $members;
}
// 其他方法
}</code>
<code class="language-php">class Members implements Iterator {
private $members;
private $position = 0;
public function __construct(array $members) {
$this->members = $members;
}
public function current() {
return $this->members[$this->position];
}
public function key() {
return $this->position;
}
public function next() {
$this->position++;
}
public function rewind() {
$this->position = 0;
}
public function valid() {
return isset($this->members[$this->position]);
}
}
$ls = new Members(["你", "我"]);
foreach ($ls as $member) {
echo $member . "\n";
}</code>
<code class="language-php">class Members {
public function __construct(array $members) {
$this->members = $members;
}
public function contains($member) {
return in_array($member, $this->members);
}
}
$members = new Members(["你", "我"]);
if ($members->contains("我")) {
echo "我是一个成员!\n";
}</code>
를 실행하십시오. 작곡가에 익숙하지 않은 경우 SitePoint의 이전 기사를 참조하십시오. 파일을 열고 필요한 OAUTH 데이터를 추가하십시오. <code class="language-php">isset($myObject["test"]);</code>
인터페이스는 아마도 가장 자명 할 수 있습니다. composer install
index.php
구현 후 는 객체에 맵처럼 액세스 할 수있게합니다. 달성하는 방법은 로 전달하여 수행 할 수 있습니다.
Countable
이렇게하려면 트윗 ID에 대한 요청을 수행하면됩니다. Countable
를 차례로 호출 할 수 있습니다. count
count()
를 사용하여 <code class="language-php">interface Multiplier {
public function multiply($num1, $num2);
}</code>
인터페이스
ArrayAccess
인터페이스는 여기서는 매우 유용합니다. 여기에서 매우 유용합니다. 왜냐하면 일반적인 배열을 반복하는 것과 같은 타임 라인 객체를 반복하는 것보다 원격 수집 페이지 매출의 세부 사항을 캡슐화하는 더 좋은 방법이 없기 때문입니다. ArrayAccess
rewind
<code class="language-php">class Members {
public function __construct(array $members) {
$this->members = $members;
}
// 其他方法
}</code>
메소드는 루프가 계속되는지 여부를 나타내는 데만 사용됩니다. 트윗 버퍼가 비어 있는지 확인하여 수행 할 수 있습니다.
valid()
및 <code class="language-php">class Members implements Iterator {
private $members;
private $position = 0;
public function __construct(array $members) {
$this->members = $members;
}
public function current() {
return $this->members[$this->position];
}
public function key() {
return $this->position;
}
public function next() {
$this->position++;
}
public function rewind() {
$this->position = 0;
}
public function valid() {
return isset($this->members[$this->position]);
}
}
$ls = new Members(["你", "我"]);
foreach ($ls as $member) {
echo $member . "\n";
}</code>
key()
마지막으로 current()
메소드. 여기서 우리는 버퍼의 헤드에서 다음 요소를 반복하기 위해 버퍼의 헤드에서 탈취합니다. 그런 다음 버퍼의 마지막 요소에 있으면 다음 트윗 세트를 얻을 수 있습니다. <code class="language-php">class Members {
public function __construct(array $members) {
$this->members = $members;
}
public function contains($member) {
return in_array($member, $this->members);
}
}
$members = new Members(["你", "我"]);
if ($members->contains("我")) {
echo "我是一个成员!\n";
}</code>
next
<code class="language-php">isset($myObject["test"]);</code>
위 내용은 배열 인터페이스로 재미의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!