php教程 php手册 전자책이 포함된 PHP5 권위 있는 프로그래밍 독서 학습 노트 download_php 기본 사항

전자책이 포함된 PHP5 권위 있는 프로그래밍 독서 학습 노트 download_php 기본 사항

May 16, 2016 am 09:00 AM
php5

PHP 5 파워 프로그래밍 PDF 다운로드 주소 /books/28207.html

PHP4에서는 __construct()를 생성자 이름으로 사용하지 않고 클래스를 사용해야 합니다. C++에서와 마찬가지로 메서드입니다.
PHP5에서는 새로운 통합 생성자 명명 방법인 __construct()가 사용됩니다. 물론 클래스 이름을 사용하는 것도 가능합니다.
그러나 두 가지를 동시에 사용하는 경우 시스템은 기본적으로 __construct()를 사용합니다.

코드 복사 코드는 다음과 같습니다.

class Person {
//PHP4의 메서드
공용 함수 Person(){
echo "PHP4의 메서드"
}
//PHP5에서 권장되는 메서드
공용 함수 __construct(){
echo "PHP5에 권장되는 방법";
}
public function say(){
}
}
$p1=new Person()?> 🎜>

생성자에서는 값을 반환할 수 없으므로 생성자 내에서 오류를 생성하는 가장 일반적인 방법은 예외를 발생시키는 것입니다.
코드는 다음과 같습니다.


class Person{
private $_age;
public function __construct($age){
try {
if ($age<120){
$this- >_age=$age ;
}else {
throw new Exception("입력한 나이가 너무 늙었습니다.")
}
}catch(예외 $e){
echo $e->getMessage( );
}
}
}
$p1=new Person(121)
?> >접근 제어

객체 속성의 접근 보호는 OOP의 핵심 패러다임입니다.
공개: 어디서나 접근 가능보호: 클래스 멤버는 하위 클래스와 상위 클래스가 객체 내부의 메소드에서 접근할 수 있습니다. 자신이 위치한 클래스
Private: 클래스 멤버는 해당 클래스의 객체 내의 메서드로만 접근할 수 있으며, 상속된 클래스의 멤버에서는 접근할 수 없습니다. 전용 멤버는 상속되지 않으므로 두 개의 관련 클래스가 동일한 이름을 가진 전용 변수를 선언할 수 있습니다. 즉, 두 클래스 모두 자신의 전용 속성만 볼 수 있으며 전용 멤버 간에는 관계가 없습니다. 예:




코드 복사

코드는 다음과 같습니다. /*** MyClass 정의 */
class MyClass
{
public $public = 'Public';
protected $protected = 'Protected'
private $private = ' Private';
printHello()
echo $this->public
echo $this->private; }
}
$obj = new MyClass();
echo $obj->public; // 이 줄은 정상적으로 실행될 수 있습니다.
echo $obj->protected; 치명적인 오류가 발생합니다
echo $obj->private; // 이 줄도 치명적인 오류가 발생합니다
$obj->printHello() // Public, Protected 및 Private 출력
/ **
* MyClass2 정의
*/
class MyClass2는 MyClass를 확장합니다
{
// 공개 및 보호는 재정의할 수 있지만 비공개는
보호할 수 없습니다. $protected = 'Protected2'
function printHello ( )
{
echo $this->public;
echo $this->private;
}
}
$ obj2 = new MyClass2();
echo $obj->public; // 이 줄은 정상적으로 실행될 수 있습니다.
echo $obj2->private; // private이 정의되지 않았습니다.
echo $obj2 -> ;protected; // 이 줄은 치명적인 오류를 생성합니다
$obj2->printHello() // Public, Protected2를 출력하지만 Private은 출력하지 않습니다


참고: 클래스에서 메소드는 public, protected 또는 private 키워드를 사용하여 정의해야 합니다. 이러한 키워드가 설정되지 않은 경우 메소드는 기본 공개로 설정됩니다.

정적 메서드

정적 메서드는 객체 인스턴스를 생성하지 않고 클래스명::static 메서드를 통해 호출할 수도 있고, $this->static 메서드를 통해 객체 인스턴스 내에서 호출할 수도 있습니다. self: :호출할 정적 메서드입니다.



코드 복사

코드는 다음과 같습니다.

class Foo { public static $my_static = 'foo'; public static function staticValue() { return self::$my_static;//클래스의 정적 멤버에 액세스하려면 self 키워드를 사용하세요. } }
$obj=new Foo();
echo $obj->staticValue();//방법 1
echo Foo::staticValue();//방법 2
?


Cloner un objet
En PHP4, lorsqu'un nouvel objet est renvoyé, l'objet lui-même est renvoyé
En PHP5, lorsqu'un objet est nouveau, l'objet pointé est renvoyé. Handle"
Cela signifie qu'en PHP5, lors de l'affectation d'une instance d'objet ($obj1) à une autre variable ($obj2), les deux objets pointent vers la même zone mémoire.
Par exemple :
Copier le code Le code est le suivant :

test de classe{
public $str;
}
$obj1=new test();
$obj1->str="obj1"; obj1;
$obj2->str="obj2";
echo $obj1->str;//affichera "obj1"
?> $obj1 et $ obj2 pointent vers la même zone mémoire, donc lorsqu'un objet est utilisé pour modifier la valeur d'une variable membre, cela affectera l'autre objet.
Mais parfois, nous avons besoin de faire une copie d'un objet (deux zones mémoire indépendantes. A ce moment, vous pouvez utiliser la commande du langage clone
Reportez-vous à l'exemple ci-dessous



Copier le code
Le code est le suivant : class test{ public $str ;
} Remarque : Vous devez utiliser parent:: au lieu d'un nom spécifique de la classe parent, car cela vous permet de modifier facilement la hiérarchie de votre classe.
Exemple :


Copier le code

Le code est le suivant : class Father{ public function __construct(){ echo "Appeler le constructeur de la classe parent
"
}
}
class Son extends Father {
public function __construct(){
parent::__construct();//Méthode 1
// Father::__construct();//Méthode 2
echo "Appeler le constructeur de la sous-classe";
}
}
$son=new Son();
?>


Résultat :
Appeler le constructeur de la classe parent
Appeler le constructeur de la sous-classe Méthode 1 est recommandé pour la fonction
, pour les raisons évoquées ci-dessus.
instanceof instance




Copier le code
Le code est le suivant : < ;?php class Rectangle { public $name=__CLASS__; }
class Square extends Rectangle {
public $name=__CLASS__
}
class Cercle{
public $name=__CLASS__;
}
function checkIfRectangle($shape){
if ($shape instanceof Rectangle ){
echo $shape->name; }else {
echo "Cet objet n'est pas une instance de la classe Rectangle"
}
}
checkIfRectangle(new Square());//Sortie : Square
checkIfRectangle(new) Circle());/ /Output : L'objet n'est pas une instance de la classe Rectangle
?>


Remarque : __CLASS__ est une constante spéciale utilisée pour stocker le nom de la classe actuelle.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

php5와 php8의 차이점은 무엇입니까 php5와 php8의 차이점은 무엇입니까 Sep 25, 2023 pm 01:34 PM

php5와 php8의 차이점은 성능, 언어 구조, 유형 시스템, 오류 처리, 비동기 프로그래밍, 표준 라이브러리 기능 및 보안 측면에서 있습니다. 자세한 소개: 1. 성능 향상 PHP5와 비교하여 PHP8은 JIT 컴파일러를 도입하여 일부 고주파 실행 코드를 컴파일하고 최적화하여 실행 속도를 향상시킵니다. PHP8에는 몇 가지 새로운 언어 구조와 기능이 도입되었습니다. PHP8은 명명된 매개변수를 지원하므로 개발자는 매개변수 순서 대신 매개변수 이름을 전달할 수 있습니다.

Jul 24, 2023 pm 04:57 PM

php5에서 포트 80을 변경하는 방법: 1. Apache 서버 구성 파일에서 포트 번호를 편집합니다. 2. PHP가 새 포트에서 작동하도록 PHP 구성 파일을 편집합니다. 3. Apache 서버를 다시 시작하면 PHP 응용 프로그램이 실행됩니다. 새 포트에서 실행을 시작합니다.

php5가 포트 9000에서 수신 대기하지 않는 문제를 해결하는 방법 php5가 포트 9000에서 수신 대기하지 않는 문제를 해결하는 방법 Jul 10, 2023 pm 04:01 PM

php5가 포트 9000을 수신하지 않는 경우의 해결 단계: 1. PHP-FPM 구성 파일을 확인합니다. 2. PHP-FPM 서비스를 다시 시작합니다. 3. 방화벽을 끄거나 포트 전달을 구성합니다. 4. 다른 프로세스가 포트 9000을 사용하는지 확인합니다.

php7과 php5 구문의 차이점은 무엇입니까 php7과 php5 구문의 차이점은 무엇입니까 Jul 10, 2023 pm 03:25 PM

php7과 php5의 구문 차이점은 다음과 같습니다. 1. PHP7은 엄격한 유형 선언을 도입하지만 PHP5 변수 유형은 암시적입니다. 2. PHP7은 스칼라 유형 선언을 지원하지만 PHP5는 지원하지 않습니다. 3. PHP7은 NULL 병합 연산자를 도입합니다. PHP5는 변수가 존재하고 null이 아닌지 확인합니다. 조건문을 사용해야 합니다. 4. PHP7은 새로운 비교 연산자 "<=>"를 추가하지만 PHP5는 그렇지 않습니다. 5. PHP5는 새로운 기능인 익명 클래스를 도입합니다. 하지 않습니다.

php7 버전과 5 버전의 차이점은 무엇입니까? php7 버전과 5 버전의 차이점은 무엇입니까? Sep 15, 2023 pm 04:11 PM

php7과 5 버전의 차이점에는 성능 개선, 스칼라 유형 선언, 반환 값 유형 선언, 예외 처리 개선, 익명 클래스, 구문 개선, 새로운 연산자, 향상된 오류 처리 및 일부 이전 기능 제거가 포함됩니다. 세부 소개: 1. 성능 향상 PHP7은 Zend Engine 3.0이라는 새로운 Zend 엔진을 도입하여 향상된 메모리 관리, 최적화된 함수 호출 및 예외 처리를 통해 PHP5의 성능을 약 2배 향상시켰습니다. , 향상된 가비지 수집 등

php5가 포트 9000에서 수신 대기하지 않는 문제를 해결하는 방법 php5가 포트 9000에서 수신 대기하지 않는 문제를 해결하는 방법 Mar 21, 2023 pm 04:32 PM

PHP5를 사용할 때 일부 사용자는 포트 9000을 수신할 수 없는 상황에 직면할 수 있습니다. 현재 이 문제를 해결하려면 일부 구성 및 문제 해결 작업을 수행해야 합니다.

php5에서 포트 80을 변경하는 방법 php5에서 포트 80을 변경하는 방법 Mar 21, 2023 pm 04:32 PM

​웹사이트 관리자라면 기본 포트인 80에서 PHP5 포트를 변경해야 하는 상황이 발생할 수 있습니다. 이 과정은 다소 시간이 걸릴 수 있지만, 아래 단계만 따라오시면 쉽게 완료됩니다.

PHP7과 PHP5의 구문 차이점에 대해 토론 PHP7과 PHP5의 구문 차이점에 대해 토론 Mar 21, 2023 pm 07:10 PM

PHP는 동적 웹사이트와 애플리케이션을 개발하는 데 널리 사용되는 서버측 프로그래밍 언어입니다. 최근에는 PHP7의 출시가 주목을 받고 있습니다. PHP7은 이전 버전(예: PHP5)에 비해 많은 개선과 최적화를 제공합니다. 이 기사에서는 PHP7과 PHP5의 구문 차이점을 살펴보겠습니다.

See all articles