SlideShare a Scribd company logo
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 1
PHP
1 3,000 Web
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 2

•

• ( )

1.
2.
3.
4. PHP
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 3
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 4

•
•

•
•

•
•
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 5


関数
関数
関数 データ
関数
データ
データ
関数
クラスA クラスB
関数
関数
データ データ
データ 関数
関数
関数
DB処理 メール処理
役
割
分
担
が
明
確
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 6

• 1960 Simula

•
•


• ( )

•

objectA objectB
objectC
objectD
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 7

• class
 PHP class
• (class) (function)
 class
–
 (class)
•
•
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 8
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 9


• $this
• public

<?php
class Person // 人を表すクラス
{
public $name = ''; // 名前を記憶するプロパティ
public function sayHello() // あいさつするメソッド
{
echo 'こんにちは、' . $this->name . 'です。';
}
}
Person.php
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 10


•
 new
– $object = new ();
•
 $object-> = 'foo'
 echo $object->
•
 $object-> ()
<?php
require_once('Person.php');
$taro = new Person(); // newでオブジェクトを作成します
$taro->name = 'アシアル太郎'; // name属性の値を変更します
$taro->sayHello(); // 「こんにちは、アシアル太郎です。」と出力されます
index.php
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 11

•

•


URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 12

• public private protected 3
 public
• $taro = new Person();
• $taro->name = ' '; // public OK
 private
• $taro = new Person();
• $taro->name = ' '; // private
 $taro->setName(' '); // public OK
 protected
• private
•
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 13
private
 Person.php

• $name private
• $name setName()
<?php
class Person
{
private $name = '';
public function setName($name)
{
$this->name = trim($name);
}
public function sayHello()
{
echo 'こんにちは、' . $this->name . 'です。';
}
}
Person.php
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 14
 index.php
<?php
require_once('Person.php');
$taro = new Person();
$taro->setName('アシアル太郎');
$taro->sayHello();
index.php
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 15

•

•


URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 16

• private
• private
 private
•
 public
•
 private
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 17

•
• __construct
 construct
•

• __destruct()
•
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 18
 Person.php
<?php
class Person // アクセス修飾子の例
{
private $name = '';
public function __construct($name)
{
$this->setName($name);
}
public function __destruct()
{
echo 'さようなら';
}
public function setName($name)
{
$this->name = trim($name);
}
public function sayHello() { // あいさつするメソッド (publicなのでどこからでも呼べる)
echo 'こんにちは、' . $this->name . 'です。';
}
}
Person.php
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 19
 index.php
<?php
require_once('Person.php');
$taro = new Person('アシアル太郎');
$hanako = new Person('アシアル花子');
$taro->sayHello();
$hanako->sayHello();
index.php
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 20


• User
• Item
• Mail

• : read -> CsvFileReader
• : control -> OrderController
• : manage -> ConnectionManager
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 21

• save()
• getParameter($name)
• findByUserName($userName)
 boolean (true/false) is has
• isAvailable()
• isDisabled()
• hasParameter($name)

• Item isAvailable()
• Database connect()
• User isLoggedIn()
URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 22
SimpleXML
 SimpleXML
• XML
• RSS
• http://php.net/manual/ja/book.simplexml.php
 RSS
• dump
<?php
$rss = simplexml_load_file('http://blog.asial.co.jp/rss/rss2.0.php');
// var_dump($rss);
// var_dump(get_class_methods($rss));
foreach ($rss->channel->item as $item) {
echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8')."<br>¥n";
// var_dump($item->guid->attributes());
}

More Related Content

PDF
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
PDF
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
PDF
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
PDF
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
PDF
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
PDF
PHP classの教室
PDF
40分濃縮 PHP classの教室
PDF
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
PHP classの教室
40分濃縮 PHP classの教室
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~

What's hot (18)

PDF
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
PDF
よいことも悪いこともぜんぶPHPが教えてくれた
PDF
SlowQueryとの戦い
PDF
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
PDF
Symfony2 How to create your Bundle
PDF
Ruby 同好会宣言
PPTX
PHP7を魔改造した話
PDF
Web技術勉強会 20100925
PDF
Yahoo!ボックスAPI Hackathon向け資料
PDF
Yahoo!ボックスAPI Hackday資料
PDF
Perl 6 Object-Oliented Programming
PDF
traitを使って楽したい話
PDF
Django boodoo
PPTX
Zend Db Table拡張説明資料
PDF
PHP5.5新機能「ジェネレータ」初心者入門
PDF
大ざっぱにオブジェクト指向
PPT
Gen-Template-for-Perl
PPTX
J qmobiはjqueryから軽量化しているか
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
よいことも悪いこともぜんぶPHPが教えてくれた
SlowQueryとの戦い
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Symfony2 How to create your Bundle
Ruby 同好会宣言
PHP7を魔改造した話
Web技術勉強会 20100925
Yahoo!ボックスAPI Hackathon向け資料
Yahoo!ボックスAPI Hackday資料
Perl 6 Object-Oliented Programming
traitを使って楽したい話
Django boodoo
Zend Db Table拡張説明資料
PHP5.5新機能「ジェネレータ」初心者入門
大ざっぱにオブジェクト指向
Gen-Template-for-Perl
J qmobiはjqueryから軽量化しているか
Ad

Similar to 【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト (20)

PDF
Using Dancer
PDF
Silex入門
PDF
意図を表現するプログラミング
KEY
Mojoliciousをウェブ制作現場で使ってみてる
KEY
沖縄Web+db勉強会 20121026
PDF
laravel x モバイルアプリ
PPTX
HTML5プロフェッショナル認定試験対策講座
PPTX
Spring data-rest-and-spring-cloud-contract
PDF
勉強会force#4 Chatter Integration
PDF
Haikara
PPTX
Php5 4勉強会
PDF
脱コピペ!デザイナーにもわかるPHPとWP_Query
PDF
WordPress APIで作るモバイルアプリ
PDF
Integral - New O/R Mapper for Common Lisp
PDF
スマートフォン向けサービスにおけるサーバサイド設計入門
PDF
APIMeetup 20170329_ichimura
PDF
Geolocation gurunavi
PDF
AWS小ネタ集
PDF
JavaScript ライブラリーを使い倒そう #buildinsider
PDF
ChefユーザのためのAnsible入門
Using Dancer
Silex入門
意図を表現するプログラミング
Mojoliciousをウェブ制作現場で使ってみてる
沖縄Web+db勉強会 20121026
laravel x モバイルアプリ
HTML5プロフェッショナル認定試験対策講座
Spring data-rest-and-spring-cloud-contract
勉強会force#4 Chatter Integration
Haikara
Php5 4勉強会
脱コピペ!デザイナーにもわかるPHPとWP_Query
WordPress APIで作るモバイルアプリ
Integral - New O/R Mapper for Common Lisp
スマートフォン向けサービスにおけるサーバサイド設計入門
APIMeetup 20170329_ichimura
Geolocation gurunavi
AWS小ネタ集
JavaScript ライブラリーを使い倒そう #buildinsider
ChefユーザのためのAnsible入門
Ad

More from Yuki Okamoto (14)

PDF
忙しい人はSimplicityテーマに丸投げ
PDF
JavaScript祭りLTでmonacaを紹介
PPTX
サラリーマンだけど コワーキングスペースの運営に 関わってみた
PDF
WordPressAPI
PPTX
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
PPTX
CoEdoワイン会の紹介
PDF
Advanced bookmarkpresentedbymonacapressproject日本語
PPTX
Advanced bookmarkpresentedbymonacapressproject日本語
PDF
AdvancedBookmarkConcept
PDF
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
PDF
5分で分かるmonaca pressproject(草案)
PPTX
Community_Board on WordPress With mobile application
PPTX
初めてのプラグイン開発で学んだ教訓
PPTX
PHPカンファレンス2012 LT 一億総PHPer計画
忙しい人はSimplicityテーマに丸投げ
JavaScript祭りLTでmonacaを紹介
サラリーマンだけど コワーキングスペースの運営に 関わってみた
WordPressAPI
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
CoEdoワイン会の紹介
Advanced bookmarkpresentedbymonacapressproject日本語
Advanced bookmarkpresentedbymonacapressproject日本語
AdvancedBookmarkConcept
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
5分で分かるmonaca pressproject(草案)
Community_Board on WordPress With mobile application
初めてのプラグイン開発で学んだ教訓
PHPカンファレンス2012 LT 一億総PHPer計画

【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト

  • 1. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 1 PHP 1 3,000 Web
  • 2. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 2  •  • ( )  1. 2. 3. 4. PHP
  • 3. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 3
  • 4. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 4  • •  • •  • •
  • 5. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 5   関数 関数 関数 データ 関数 データ データ 関数 クラスA クラスB 関数 関数 データ データ データ 関数 関数 関数 DB処理 メール処理 役 割 分 担 が 明 確
  • 6. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 6  • 1960 Simula  • •   • ( )  •  objectA objectB objectC objectD
  • 7. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 7  • class  PHP class • (class) (function)  class –  (class) • •
  • 8. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 8
  • 9. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 9   • $this • public  <?php class Person // 人を表すクラス { public $name = ''; // 名前を記憶するプロパティ public function sayHello() // あいさつするメソッド { echo 'こんにちは、' . $this->name . 'です。'; } } Person.php
  • 10. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 10   •  new – $object = new (); •  $object-> = 'foo'  echo $object-> •  $object-> () <?php require_once('Person.php'); $taro = new Person(); // newでオブジェクトを作成します $taro->name = 'アシアル太郎'; // name属性の値を変更します $taro->sayHello(); // 「こんにちは、アシアル太郎です。」と出力されます index.php
  • 11. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 11  •  •  
  • 12. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 12  • public private protected 3  public • $taro = new Person(); • $taro->name = ' '; // public OK  private • $taro = new Person(); • $taro->name = ' '; // private  $taro->setName(' '); // public OK  protected • private •
  • 13. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 13 private  Person.php  • $name private • $name setName() <?php class Person { private $name = ''; public function setName($name) { $this->name = trim($name); } public function sayHello() { echo 'こんにちは、' . $this->name . 'です。'; } } Person.php
  • 14. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 14  index.php <?php require_once('Person.php'); $taro = new Person(); $taro->setName('アシアル太郎'); $taro->sayHello(); index.php
  • 15. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 15  •  •  
  • 16. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 16  • private • private  private •  public •  private
  • 17. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 17  • • __construct  construct •  • __destruct() •
  • 18. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 18  Person.php <?php class Person // アクセス修飾子の例 { private $name = ''; public function __construct($name) { $this->setName($name); } public function __destruct() { echo 'さようなら'; } public function setName($name) { $this->name = trim($name); } public function sayHello() { // あいさつするメソッド (publicなのでどこからでも呼べる) echo 'こんにちは、' . $this->name . 'です。'; } } Person.php
  • 19. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 19  index.php <?php require_once('Person.php'); $taro = new Person('アシアル太郎'); $hanako = new Person('アシアル花子'); $taro->sayHello(); $hanako->sayHello(); index.php
  • 20. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 20   • User • Item • Mail  • : read -> CsvFileReader • : control -> OrderController • : manage -> ConnectionManager
  • 21. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 21  • save() • getParameter($name) • findByUserName($userName)  boolean (true/false) is has • isAvailable() • isDisabled() • hasParameter($name)  • Item isAvailable() • Database connect() • User isLoggedIn()
  • 22. URL : http://www.asial.co.jp/ Copyright © Asial Corporation. All Rights Reserved. 22 SimpleXML  SimpleXML • XML • RSS • http://php.net/manual/ja/book.simplexml.php  RSS • dump <?php $rss = simplexml_load_file('http://blog.asial.co.jp/rss/rss2.0.php'); // var_dump($rss); // var_dump(get_class_methods($rss)); foreach ($rss->channel->item as $item) { echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8')."<br>¥n"; // var_dump($item->guid->attributes()); }