Recommended
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PHPの今とこれから2025 (PHP Conference Japan 2025)
PDF
PPTX
PDF
PDF
PDF
PDF
PPTX
introduction to unsafe deserialization part1
PDF
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
PDF
Modern PHP Programming @ PFI Seminar
PDF
PDF
PDF
PPTX
PDF
Good Parts of PHP and the UNIX Philosophy
PPT
PPTX
PDF
Word pressはじめの一歩 テーマ作成ハンズオン
PDF
PDF
_s + bootstrapで始めるWordPressテーマ開発入門
PPTX
PDF
How to develop Alexa Skill Kit based on Serverless Architecture
More Related Content Similar to Phpのinterfaceを使う
PDF
PHPの今とこれから2025 (PHP Conference Japan 2025)
PDF
PPTX
PDF
PDF
PDF
PDF
PPTX
introduction to unsafe deserialization part1
PDF
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
PDF
Modern PHP Programming @ PFI Seminar
PDF
PDF
PDF
PPTX
PDF
Good Parts of PHP and the UNIX Philosophy
PPT
PPTX
More from Hidetaka Okamoto
PDF
Word pressはじめの一歩 テーマ作成ハンズオン
PDF
PDF
_s + bootstrapで始めるWordPressテーマ開発入門
PPTX
PDF
How to develop Alexa Skill Kit based on Serverless Architecture
PDF
WordBench京都12月、WordCampUSからのWP REST APIな話
PPTX
PDF
PDF
Serverless WordPress & next Interface of WordPress
PDF
WebComponentsをPolymerとgulpとyeomanでさっくり使い始めよう
PDF
PDF
LODを使ったサイトとプラグインを作ってみた話[WordBenchOsaka]
PDF
How Would You Like Component Management System
PDF
YARAIYA! Opendata with WordPress
PDF
PDF
PDF
PDF
WP-APIを使ってみよう&No PHPテーマという考え方
PDF
WordBench京都 WordPress with Linked Open Data
PDF
やらいや!WebComponents wp-dfes03 LT
Phpのinterfaceを使う 1. 2. 3. 4. 5. 例えばこんな感じ
interface alerm{
public function start();
public function alert();
public function stop();
}
class AlermClock implements alerm{
public function start(){echo 'start!';}
public function alert(){echo 'alerm!';}
public function stop() {echo 'stop';}
}
6. 使用時のポイント
interface alerm{
public function start();
public function alert();
public function stop();
}
class AlermClock implements alerm{
public function start(){echo 'start!';}
public function alert(){echo 'alerm!';}
public function stop() {echo 'stop';}
}
Interfaceで定義して、
Implementsで実装させる。
7. 8. 9. INTERFACEを使って数える
class ArrayLike implements Countable{
protected $_arr;
public function __construct($arr = array()) { $this->_arr = $arr; }
public function count() { return count($this->_arr); }
}
$arrObj = new ArrayLike(array('foo', 'bar', 'baz'));
echo count($arrObj), PHP_EOL; //→3が表示される
10. CLASSの中身を変えただけ
class ArrayLike implements Countable{
protected $_arr;
public function __construct($arr = array()) { $this->_arr = $arr; }
public function count() { return count($this->_arr); }
}
$arrObj = new ArrayLike(array('foo', 'bar', 'baz'));
echo count($arrObj), PHP_EOL; //→3が表示される
11. こんなこともできる
$arrObj = new ArrayLike (array('foo', 'bar', 'baz'));
foreach ($arrObj as $key => $value) {
echo $key . $value . ’ , ’ ; // →0foo , 1bar , 2baz ,
}
*定義済みInterfaceの「Iterator」を使用すると、
オブジェクトなのにforeachで中身が取り出せた。
12. さらにはこんなことも
$arrObj = new ArrayLike (array('foo', 'bar', 'baz'));
$arrObj[1] = ‘直接追加';
echo $arrObj[1]; // =>直接追加
*普通なら「Fatal error: Cannot use object of type ArrayLike as array 」
*定義済みInterfaceの「ArrayAccess」を使用すると、
オブジェクトなのに直接配列を操作できる。
13. 14. 15. TRY IT!
・PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET :
http://www.objective-php.net/basic/interface
・PHPのinterfaceとは何か - 泥のように :
http://blog.tojiru.net/article/377526320.html
・5 分で分かる PHP の組込みインターフェイス - Born Too Late :
http://blog.yuyat.jp/archives/992