Heim Backend-Entwicklung PHP-Tutorial php5 学习记要(1)

php5 学习记要(1)

Jun 13, 2016 am 10:49 AM
class function obj print

php5 学习记录(1)

一、php5主要的新特性

1.public /private/protected访问修饰符,针对对象中的方法和属性。

可以使用通用的面向对象访问修饰符来控制方法和属性的访问级别:

class MyClass {

    private $id = 18;    public function getId() {        return $this->id;    }}
Nach dem Login kopieren
?

2.统一的构造函数名称__construct().

为避免构造函数的名字和类的名字相同,现在用__construct()来声明,从而让你更加容易在类的分层中转移类:

?

class MyClass {    function __construct() {        print 'Inside constructor';    }}
Nach dem Login kopieren

?

? 3.通过__destructor()定义对象的析构方法。

允许定义一个析构函数来注销一个对象:

?

class MyClass {    function __destruct() {        print ' Destroying object';    }}
Nach dem Login kopieren

?

? 4.接口。

一个使用接口的类可以加载不止一个相关的接口。一个类只能继承自另一个类,但是可以实现任意多个接口:

?

interface Display {    function display();}class Circle implements Display {    function dispaly() {        print ' Dispalying circle \n';    }}
Nach dem Login kopieren

?

? 5.instanceof操作符。

instanceof用来检测一个给定的对象是否属于(继承于)某个类(class)、某个类的子类、某个接口(interface)。如果是则返回true。

?

if ($obj instanceof Circle) {    print '$obj is a Circle';}
Nach dem Login kopieren
?

?

?

6.Final 标记方法。

Final关键字允许你用来标识方法,使其不能被子类重载。

?

class MyClass {    final function getBaseClassName() {        return __CLASS__;    }}
Nach dem Login kopieren
?

?

7.Final标记类。

声明一个类为final类型后,它将不能被继承。下面的例子将报错。

?

final class FinalClass {}class BogusClass extends FinalClass {}
Nach dem Login kopieren

?

?

8.强制复制对象

为了克隆一个对象,你必须使用clone关键字。你可以再类中声明一个__clone()方法,它将在克隆过程中被调用(调用在属性和方法从原对象复制过来以后进行):

?

class MyClas {    function __clone() {        print 'Object is being cloned';    }}$obj = new MyClass();$obj_copy = clone $obj;
Nach dem Login kopieren
?

?

9.类中的常量。

类定义中现在包含常量,而且可以用类来引用:

?

class MyClass {    const SUCCESS = "Success";    const FAILURE = "Failure";}print MyClass::SUCCESS;
Nach dem Login kopieren

?

? 10.静态方法。

你现在可以定义静态方法,不用实例化就能使用他们。静态方法不能使用$this变量,因为它们并没有绑定到任何具体的对象:

class MyClass {

    static function helloWorld() {        print 'Hello world';    }}MyClass::helloWorld();
Nach dem Login kopieren

?

11.静态成员。

类的定义现在包含静态成员(属性),可以通过类自身来访问。通常用的最多的是单件(Singleton)模式:

?

class Singleton {    static private $instance = NULL;    private function __construct() {    }    static public function getInstance() {        if (sell::$instance == NULL) {            self::$instance = new Singleton();        }        return self::$instance;    }}
Nach dem Login kopieren

?

?

12.抽象类。

把类声明为抽象类可以防止它被实例化。但是你可以继承一个抽象类:

?

abstract class MyBaseClass {    function dispaly() {        print 'Default dispaly routine being called';    }}
Nach dem Login kopieren
?

?

13.抽象方法。

把方法声明为抽象的,以便在继承的子类中再去定义。包含抽象方法的类本身必须是一个抽象类:

?

abstact class MyBaseClass {    abstract function dispaly();}
Nach dem Login kopieren

?

? 14.对象类型提示。

函数声明中可以对参数进行对象类型提示。如果函数调用的时候没有传递正确的对象类型,系统报错:

?

function expectsMyClass(MyClass $obj) {}
Nach dem Login kopieren

?

? 15.支持连续引用方法返回的对象。

在PHP4中,你不能直接引用方法返回的对象。你必须先赋值到一个中间变量,然后再使用该变量来引用。

php 4:

?

$dummy = $obj->method();$dummy->method2();
Nach dem Login kopieren

?

? php 5:

?

$obj->method()->method2();
Nach dem Login kopieren

?

?

16.迭代。

php5允许php类和php继承类实现iterator接口。在实现迭代接口后,你可以用foreach()语言结构遍历一个类的实例:

?

$obj = new MyIteratorImplementaion();foreach ($obj as $value) {    print $value;}
Nach dem Login kopieren

?

?

17.__autoload()方法。

__autoload()函数在你需要使用一个未定义的类的时候自动调用。通过调用这个函数,脚本的引擎在php抛出类未定义的错误之前提供最后一次加载类的机会:

?

function __autoload($class_name) {    include_once($class_name . "php");}$obj = new MyClass();$obj2 = new MyClass2();
Nach dem Login kopieren
?

18.异常处理。

php5增加了著名的try/throw/catch架构的异常处理范例。使用时,你只能抛出从Exception类继承的对象:

class SQLException extends Exception {

    public $problem;    function __construct($problem) {        $this->problem = $problem;    }}try{ ...     throw new SQLException("Couldn't connect to database"); ...} catch (SQLException $e) {     print "SQLException";} catch (Exception $e) {    print 'Other Exception';}
Nach dem Login kopieren

?

19.foreach 函数支持引用。

在php 4中,你不能遍历一个数组的同时更改它的值。但是php 5可以通过给foreach()循环的参数加速&(引用)符号,让你在遍历数组的循环中更改数组的值:

?

foreach ($array as &$value) {    if ($value === "NULL") {        $VALUE = NULL    }}
Nach dem Login kopieren

?

? 20.给引用参数设置默认值。

在php 4中,你只能给传递值的参数设置默认值。php 5 现在可以让你给传递引用的参数设置默认值:

?

function my_func(&$arg = null) {    if ($arg === NULL) {        print '$arg is empty';    }}my_func();
Nach dem Login kopieren
?

?

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1673
14
PHP-Tutorial
1278
29
C#-Tutorial
1257
24
So verwenden Sie Klassen und Methoden in Python So verwenden Sie Klassen und Methoden in Python Apr 21, 2023 pm 02:28 PM

Konzepte und Instanzen von Klassen und Methoden Klasse (Klasse): wird verwendet, um eine Sammlung von Objekten mit denselben Eigenschaften und Methoden zu beschreiben. Es definiert die Eigenschaften und Methoden, die jedem Objekt in der Sammlung gemeinsam sind. Objekte sind Instanzen von Klassen. Methode: In der Klasse definierte Funktion. Klassenkonstruktionsmethode __init__(): Die Klasse verfügt über eine spezielle Methode (Konstruktionsmethode) namens init(), die automatisch aufgerufen wird, wenn die Klasse instanziiert wird. Instanzvariablen: In der Deklaration einer Klasse werden Attribute durch Variablen dargestellt. Solche Variablen werden Instanzvariablen genannt. Instanziierung: Erstellen Sie eine Instanz einer Klasse, ein bestimmtes Objekt der Klasse. Vererbung: Das heißt, eine abgeleitete Klasse (derivedclass) erbt die Basisklasse (baseclass).

Was bedeutet Funktion? Was bedeutet Funktion? Aug 04, 2023 am 10:33 AM

Funktion bedeutet Funktion. Es handelt sich um einen wiederverwendbaren Codeblock mit bestimmten Funktionen. Er kann Eingabeparameter akzeptieren, bestimmte Operationen ausführen und Ergebnisse zurückgeben. Code, um die Wiederverwendbarkeit und Wartbarkeit des Codes zu verbessern.

Was bedeutet Klasse in Python? Was bedeutet Klasse in Python? May 21, 2019 pm 05:10 PM

Klasse ist ein Schlüsselwort in Python, das zum Definieren einer Klasse verwendet wird: Fügen Sie nach der Klasse ein Leerzeichen hinzu und fügen Sie dann den Klassennamen hinzu. Wenn es mehrere Wörter gibt, verwenden Sie die Groß-/Kleinschreibung Benennung, wie zum Beispiel [class Dog()].

Ersetzen Sie den Klassennamen eines Elements mit jQuery Ersetzen Sie den Klassennamen eines Elements mit jQuery Feb 24, 2024 pm 11:03 PM

jQuery ist eine klassische JavaScript-Bibliothek, die in der Webentwicklung weit verbreitet ist. Sie vereinfacht Vorgänge wie die Verarbeitung von Ereignissen, die Bearbeitung von DOM-Elementen und die Durchführung von Animationen auf Webseiten. Bei der Verwendung von jQuery kommt es häufig vor, dass Sie den Klassennamen eines Elements ersetzen müssen. In diesem Artikel werden einige praktische Methoden und spezifische Codebeispiele vorgestellt. 1. Verwenden Sie die Methoden „removeClass()“ und „addClass()“. jQuery stellt die Methode „removeClass()“ zum Löschen bereit

Detaillierte Erläuterung der Verwendung der PHP-Klasse: Machen Sie Ihren Code klarer und leichter lesbar Detaillierte Erläuterung der Verwendung der PHP-Klasse: Machen Sie Ihren Code klarer und leichter lesbar Mar 10, 2024 pm 12:03 PM

Beim Schreiben von PHP-Code ist die Verwendung von Klassen eine weit verbreitete Praxis. Durch die Verwendung von Klassen können wir verwandte Funktionen und Daten in einer einzigen Einheit kapseln, wodurch der Code klarer, leichter lesbar und einfacher zu warten ist. In diesem Artikel wird die Verwendung von PHPClass ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, besser zu verstehen, wie Klassen zur Optimierung von Code in tatsächlichen Projekten angewendet werden. 1. Klassen erstellen und verwenden In PHP können Sie das Schlüsselwort class verwenden, um eine Klasse zu definieren und Eigenschaften und Methoden in der Klasse zu definieren.

Vue-Fehler: V-bind kann nicht verwendet werden, um Klasse und Stil korrekt zu binden. Wie kann das Problem gelöst werden? Vue-Fehler: V-bind kann nicht verwendet werden, um Klasse und Stil korrekt zu binden. Wie kann das Problem gelöst werden? Aug 26, 2023 pm 10:58 PM

Vue-Fehler: V-bind kann nicht verwendet werden, um Klasse und Stil korrekt zu binden. Wie kann das Problem gelöst werden? In der Vue-Entwicklung verwenden wir häufig die V-Bind-Anweisung, um Klasse und Stil dynamisch zu binden. Manchmal können jedoch Probleme auftreten, z. B. dass wir V-Bind nicht korrekt zum Binden von Klasse und Stil verwenden können. In diesem Artikel werde ich die Ursache dieses Problems erläutern und Ihnen eine Lösung anbieten. Lassen Sie uns zunächst die v-bind-Direktive verstehen. v-bind wird zum Binden von V verwendet

So beheben Sie den Fehler „[Vue warn]: v-bind:class/ :class'. So beheben Sie den Fehler „[Vue warn]: v-bind:class/ :class'. Aug 26, 2023 am 08:17 AM

So beheben Sie den Fehler „[Vuewarn]:v-bind:class/:class“ Während des Entwicklungsprozesses bei der Verwendung von Vue stoßen wir häufig auf einige Fehlermeldungen. Einer der häufigsten Fehler ist „[Vuewarn]:v-bind:class Fehler „/:class“. Diese Fehlermeldung erscheint normalerweise, wenn wir das Attribut v-bind:class oder :class verwenden, was darauf hinweist, dass Vue den von uns festgelegten Klassenwert nicht korrekt analysieren kann. Dann, wenn

So ermitteln Sie, ob ein Element eine Klasse in jquery hat So ermitteln Sie, ob ein Element eine Klasse in jquery hat Mar 21, 2023 am 10:47 AM

So bestimmt jquery, ob ein Element eine Klasse hat: 1. Bestimmen Sie, ob ein Element eine bestimmte Klasse hat, mit der Methode „hasClass(‘classname‘)“. 2. Bestimmen Sie, ob ein Element eine bestimmte Klasse hat, mit der Methode „is(‘.classname“. ')"-Methode.

See all articles