PHP 기본집 (2) ~ 반 ~
클래스를 정의하는 방법
학급이란 쉽게 말하면 설계도다.
대상을 대상으로 하는 것을 모방하여 만든다.
객체(PHP)
만화'원피스'의 세계를 예로 들면 바이킹의 등급이 있다고 가정한다(설계도).
<?php
class PirateShip { //クラス名の頭文字は大文字にする
//クラスの内容
}
?>
인스턴스
실례는 유형의 실제에 따라 실현된 실체이다.
마치 설계도에 따라 배를 만든 것 같다.
인스턴스를 생성할 때 $인스턴스 이름 = New 클래스 이름 () 으로 기술됩니다.
<?php
class PirateShip { //海賊船の設計図
}
$goingMerry = new PirateShip(); //ゴーイング・メリー号を造船
$mobyDick = new PirateShip(); //モビー・ディック号を造船
$arkMaxim = new PirateShip(); //方舟マキシムを造船
?>
클래스 속성
속성은 클래스가 가지고 있는 데이터를 가리킨다.
키 (데이터의 제목) 와 값 (데이터 내용) 을 조합합니다.
클래스에서 속성을 정의하는 키를 통해 각 실례에 따라 데이터 내용을 변경할 수 있습니다.
<?php
class PirateShip { //海賊船の設計図
public $captain; //船長プロパティの定義。
}
//インスタンスの生成
$goingMerry = new PirateShip(); //ゴーイング・メリー号を造船
$mobyDick = new PirateShip(); //モビー・ディック号を造船
$arkMaxim = new PirateShip(); //方舟マキシムを造船
//プロパティの値を定義
$goingMerry->captain = 'luffy'; //船長はルフィ
$mobyDick->captain = 'newgate'; //船長は白ひげ
$arkMaxim->captain = 'enel'; //船長はエネル
각 인스턴스의 속성 값에 액세스할 때는 [$인스턴스 이름 -> 속성 이름]으로 설정됩니다.<?php echo $goingMerry->captain; //「luffy」が出力される ?>
유형 방법
방법은 일련의 처리를 종합하여 만든 것이다.
같은 클래스에서 속성과 방법에 접근할 때 "$this"를 사용할 수 있습니다.
<?php
class PirateShip { //海賊船の設計図
public $captain; //船長プロパティ。
public function introduction() { //船の船長名を出力するメソッドを定義
echo 'この海賊船の船長は'.$this->captain.'です';
}
}
?>
각 인스턴스의 메서드를 호출할 때 [$인스턴스 이름 -> 메서드 이름]으로 설정합니다.<?php $goingMerry->introduction; //出力結果:この海賊船の船長はluffyです ?>
구조 함수
'__construct'라는 방법을 사용하면 new를 사용하여 실례를 생성할 때 자동으로 방법을 호출할 수 있습니다.
<?php
class PirateShip { //海賊船の設計図
public $captain; //船長プロパティ。
public function __construct() {
//インスタンス生成時に自動的に船の種類を出力する処理が行われる
echo 'これは海賊船です';
}
}
?>
예를 들어 속성을 정의하는 값이 없더라도 상기 구조 함수에 파라미터를 전달하면 파라미터를 이용하여 자동으로 속성 값을 설정할 수 있다.<?php
class PirateShip { //海賊船の設計図
public $captain; //船長プロパティ。
public function __construct($captain) { //仮引数で値(luffy)を受け取る
$this->captain = $captain; //インスタンス生成時に自動的にcaptainデータに値をセット
}
}
$goingMerry = new PirateShip('luffy'); //テータにセットする値(luffy)を引数で渡す
?>
HTML에 PHP 포함
<?php
class PirateShip { //海賊船の設計図
public $captain; //船長プロパティ。
public function __construct($captain) { //仮引数で値(luffy)を受け取る
$this->captain = $captain; //インスタンス生成時に自動的にcaptainデータに値をセット
}
}
$goingMerry = new PirateShip('luffy'); //テータにセットする値(luffy)を引数で渡す
?>
<p>船長は<?php echo $goingMerry->captain ?>である<p>
내장 조건 분기 또는 중복 처리
foreach 문장을 사용할 때
':'대신'{','endforeach'대신'}'를 사용합니다.
<?php
$captains = ['luffy', 'newgate', 'enel'] //配列作成
?>
<h1>参加する船長名<h1>
<?php foreach($captains as $captain): ?>
<p><?php echo $captain ?></p>
<?php endforeach ?>
이로써 p 라벨 부분에서 배열에 넣은 선장 3명의 이름을 반복적으로 표시한다.foreach문장을 제외하고if문장,for문장,while문장,switch문장도 상기와 같은 설명을 한다.
<?php if($age >= 20): ?>
内容
<?php endif ?>
<?php for($i = 0; $i < 100; $i++): ?>
内容
<?php endfor ?>
<?php while($i < 50): ?>
内容
<?php endwhile ?>
파일 버스트
그러나 위에서 설명한 바와 같이 PHP와 HTML 코드를 한데 묶으면 복잡하고 똑똑히 보기 어려워진다
이런 상황에서 파일을 클래스 정의용 파일, 데이터 정의용 파일, 디스플레이용 파일 등으로 분할한다.
"require_once("읽고 싶은 파일 이름")를 사용하여 읽으면 다른 파일에 정의된 클래스, 방법, 처리 내용을 반영할 수 있습니다.
index.php
<?php require_once('one_piece.php') ?>
<p><?php echo $goingMerry->introduction ?></p>
Reference
이 문제에 관하여(PHP 기본집 (2) ~ 반 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SIS-CATS/items/7cc818f0fb0046590683텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)