php教程 php手册 php5概念总结之一

php5概念总结之一

Jun 06, 2016 pm 07:50 PM
php5 this 요약 개념

/***********by garcon1986*******************/ 1. $this变量是对当前对象的引用,$this-var; $this-method(); 2. php5中的变量和常量称为property,函数称为method. 声明属性: //invalid public $var = 'hel'.'lo'; public $var2 = EOD hello EOD; public

/***********by garcon1986*******************/

 

 

1. $this变量是对当前对象的引用,$this->var; $this->method();
2. php5中的变量和常量称为property,函数称为method.
声明属性:
//invalid
public $var = 'hel'.'lo';
public $var2 = hello
EOD;
public $var3 = 1+2;
public $var4 = self::StaticMethod();
public $var5 = $myvar;
//valid
public $var6 = myConstant;
public $var7 = array(true, false);
public $var8 = hello
EOD;

3. 继承(inheritance): 使用extends
class A {
function A(){

}
}
class B extends A {
function B(){

}
}
4. parent:: 访问父类中的方法或属性
5. static属性或方法不需要实例化类就能访问。
self:: 访问本类的静态变量。
实例化的类对象中不能访问静态属性,但是能访问静态方法。
静态属性不能使用->访问。
静态调用非静态方法会发生E_STRICT级别的警告。
例子:
class Foo
{
    public static $my_static = 'foo';

    public function staticValue() {
        return self::$my_static;
    }
}

class Bar extends Foo
{
    public function fooStatic() {
        return parent::$my_static;
    }
}


print Foo::$my_static . "/n";

$foo = new Foo();
print $foo->staticValue() . "/n";
print $foo->my_static . "/n";      // Undefined "Property" my_static

print $foo::$my_static . "/n";
$classname = 'Foo';
print $classname::$my_static . "/n"; // As of PHP 5.3.0

print Bar::$my_static . "/n";
$bar = new Bar();
print $bar->fooStatic() . "/n";
?>
6. Define - 定义一个有名字的常量。
define("CONSTANT","hello world");
echo CONSTANT; //输出 hello world
echo Constant; //输出 "Constant" and issues a notice.
define("GREETING", "Hello you.", true);
echo GREETING; // outputs "Hello you."
echo Greeting; // outputs "Hello you."
true会使字母不敏感,false会使字符敏感。默认是字符敏感,即false。
7. defined()用于验证某个常量是否存在。
if(defined('CONSTANT')){
    echo CONSTANT; //output "hello world"
}
8. const 用于声明常量;
常量不需要使用$;
常量的值必须是常量表达式,不能是变量,属性,算术表达式,函数等。
如: const constant1 = "test of contant";
9. constant() 用于得到常量的值
define("mx",100);
echo mx;
echo constant("mx");
10. __autoload():
test1:
function __autoload($class_name) {
    require_once $class_name . '.php';
}
$obj  = new huanhang;
test2:
function __autoload($class_name) {
    require_once $class_name . '.php';
}
class huanhang{
    function huanghang(){
        echo "huanhang sleep";
    }
}
$obj  = new huanhang();
$obj -> huanghang();
11. __construct
__construct 构造方法,当一个对象创建时调用此方法,使用此方法的好处是:可以使构造方法有一个独一无二的名称,无论它所在的类的名称

是什么.这样你在改变类的名称时,就不需要改变构造方法的名称
__destruct 析构方法,PHP将在对象被销毁前(即从内存中清除前)调用这个方法

12. abstract: PHP5中推出了抽象类和抽象方法。
抽象类不能被实例化。
任何类包含了一个以上的抽象方法,这个类也必须声明为抽象类。
继承抽象类时,父类中所有的抽象方法必须在子类中定义;而且这些方法的可见性必须跟父类的方法保持一致或者更少的限制。如:父类的方

法是protected,子类的方法就得是protected或public。
13. interface :
接口通过interface关键字定义,但是其中的方法不需要定义内容。
接口中所有的方法必须为public
所有的方法必须在类中实现implemented,否则会产生严重错误。
一个类不能实现两个接口,因为会造成混淆。
interface也能通过extends被继承
14. visibility可见性
类的属性有public,protected,private. 通过var定义等同于public
类的方法有public,protected,private. 默认是public
15. overloading重载:指动态的创建类属性和方法。通过魔术函数实现。
所有的重载方法都必须被声明为public。
PHP5提供了一种迭代(iteration)对象的功能,就像使用数组那样,可以通过foreach  来遍历对象中的属性。默认情况下,在外部迭代只能

得到外部可见的属性的值。
16. design pattern 设计模式
工厂模式(factory)允许你在代码执行时实例化对象。
单例模式(singleton)用于为一个类生成一个唯一的对象.最常用的地方是数据库连接。
17. 魔术方法(magic method)
__construct, __destruct  (参看 构造方法和析构方法), __call, __callStatic, __get, __set, __isset, __unset (参看 重载),

__sleep, __wakeup, __toString, __set_state 和 __clone 等方法在PHP中被称为“魔术方法”(Magic methods)。
PHP把所有以__(两个下划线)开头的类方法当成魔术方法。所以你定义自己的类方法时,不要以 __为前缀。
18. Final
如果父类中的方法被声明为final,则子类无法覆盖该方法;
如果一个类被声明为final,则不能被继承。
19. clone
$copy_of_object = clone $object;

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++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은 명명된 매개변수를 지원하므로 개발자는 매개변수 순서 대신 매개변수 이름을 전달할 수 있습니다.

Linux 시스템에서 system() 함수의 사용법을 요약합니다. Linux 시스템에서 system() 함수의 사용법을 요약합니다. Feb 23, 2024 pm 06:45 PM

Linux에서의 system() 함수 요약 Linux 시스템에서 system() 함수는 명령줄 명령을 실행하는 데 사용할 수 있는 매우 일반적으로 사용되는 함수입니다. 이 기사에서는 system() 함수를 자세히 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. 1. system() 함수의 기본 사용법은 다음과 같습니다. intsystem(constchar*command) 여기서 명령 매개변수는 문자입니다.

메타버스 개념은 무엇을 의미하나요? 메타버스 개념은 무엇을 의미하나요? Feb 22, 2024 pm 03:55 PM

메타버스는 기술을 사용하여 현실 세계를 매핑하고 상호 작용하는 환상의 세계입니다. 분석 1 메타버스(Metaverse)는 기술적인 방법을 구사하여 현실세계와 연결하고 창조하며, 지도화하고 상호작용하는 환상의 세계이며, 최신 사회발전 시스템을 갖춘 데이터 생활공간이다. 2차원 우주는 본질적으로 현실 세계의 가상 기술이자 디지털 프로세스로, 콘텐츠 제작, 경제 시스템, 고객 경험 및 물리적 세계 콘텐츠의 많은 변화가 필요합니다. 3 그러나 메타버스의 발전 추세는 공유 인프라, 표준 및 프로토콜의 지원을 받아 많은 도구와 플랫폼의 지속적인 결합과 발전을 통해 최종적으로 형성됩니다. 보충: 메타버스는 무엇으로 구성되어 있나요? 1 메타버스는 메타(Meta)와 구절(Verse)로 구성되어 있는데, 메타(Meta)는 초월(Transcendence), V

Gunicorn의 기본 및 기능에 대해 자세히 알아보세요. Gunicorn의 기본 및 기능에 대해 자세히 알아보세요. Jan 03, 2024 am 08:41 AM

Gunicorn의 기본 개념 및 기능 Gunicorn은 Python 웹 애플리케이션에서 WSGI 서버를 실행하기 위한 도구입니다. WSGI(Web Server Gateway Interface)는 Python 언어로 정의된 사양으로 웹 서버와 웹 애플리케이션 간의 통신 인터페이스를 정의하는 데 사용됩니다. Gunicorn을 사용하면 WSGI 사양을 구현하여 Python 웹 애플리케이션을 프로덕션 환경에 배포하고 실행할 수 있습니다. Gunicorn의 기능은 다음과 같습니다.

클래스 개념을 사용하여 직사각형의 면적과 둘레를 계산하는 Java 프로그램을 작성하세요. 클래스 개념을 사용하여 직사각형의 면적과 둘레를 계산하는 Java 프로그램을 작성하세요. Sep 03, 2023 am 11:37 AM

Java 언어는 오늘날 전 세계에서 가장 일반적으로 사용되는 객체 지향 프로그래밍 언어 중 하나입니다. 클래스 개념은 객체지향 언어의 가장 중요한 특징 중 하나입니다. 클래스는 객체의 청사진과 같습니다. 예를 들어, 집을 짓고 싶을 때 우리는 먼저 집의 청사진을 만듭니다. 즉, 집을 어떻게 지을 것인지를 보여주는 계획을 만듭니다. 이 계획에 따르면 우리는 많은 집을 지을 수 있습니다. 마찬가지로 클래스를 사용하면 많은 객체를 만들 수 있습니다. 클래스는 자동차, 자전거, 펜 등과 같은 실제 개체인 많은 개체를 만들기 위한 청사진입니다. 클래스는 모든 객체의 특성을 가지며, 객체는 이러한 특성의 값을 갖습니다. 이 기사에서는 클래스 개념을 사용하여 직사각형의 둘레와 면을 찾는 Java 프로그램을 작성합니다.

Spring MVC의 주요 개념을 익히십시오: 이러한 중요한 기능을 이해하십시오 Spring MVC의 주요 개념을 익히십시오: 이러한 중요한 기능을 이해하십시오 Dec 29, 2023 am 09:14 AM

SpringMVC의 주요 기능 이해: 이러한 중요한 개념을 익히려면 특정 코드 예제가 필요합니다. SpringMVC는 개발자가 MVC(Model-View-Controller) 아키텍처 패턴을 통해 유연하고 확장 가능한 구조를 구축하는 데 도움이 되는 Java 기반 웹 애플리케이션 개발 프레임워크입니다. 웹 애플리케이션. SpringMVC의 주요 기능을 이해하고 익히면 웹 애플리케이션을 보다 효율적으로 개발하고 관리할 수 있습니다. 이 기사에서는 SpringMVC의 몇 가지 중요한 개념을 소개합니다.

Oracle RAC 소개 및 핵심 개념 Oracle RAC 소개 및 핵심 개념 Mar 07, 2024 am 11:39 AM

OracleRAC(RealApplicationClusters)의 소개 및 핵심 개념 기업의 데이터 양이 지속적으로 증가하고 고가용성, 고성능에 대한 요구가 부각되면서 데이터베이스 클러스터 기술은 점점 더 중요해지고 있습니다. OracleRAC(RealApplicationClusters)는 이러한 문제를 해결하기 위해 설계되었습니다. OracleRAC는 오라클이 출시한 고가용성, 고성능 클러스터 데이터베이스 솔루션입니다.

Jul 24, 2023 pm 04:57 PM

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

See all articles