PHP7之匿名类 php7.0 php7 编译安装 apache php7.0 配置
匿名类跟匿名函数一样,创建一次性的简单对象
<code><span><span><span><?php </span> /** * Created by PhpStorm. * User: bee * Date: 2016/4/24 * Time: 00:17 */</span><span>echo</span><span>'匿名函数'</span>; <span>$anonymous_func</span> = <span><span>function</span><span>()</span>{</span><span>return</span><span>'function'</span>;}; <span>echo</span><span>$anonymous_func</span>(); <span>echo</span><span>'<br>'</span>; <span>echo</span><span>'<hr>'</span>; <span><span>class</span><span>common</span> {</span><span>public</span><span>$default</span> = <span>10</span>; <span><span>function</span><span>__construct</span><span>(<span>$key</span>)</span>{</span><span>$this</span>->getVal(<span>$key</span>); } <span>public</span><span><span>function</span><span>getVal</span><span>(int <span>$i</span>)</span>:<span>int</span>{</span><span>$this</span>-><span>default</span> += <span>$i</span>; <span>return</span><span>$this</span>-><span>default</span>+<span>0.1</span>; } } <span>echo</span><span>'有名函数'</span>;<span>echo</span><span>'<br>'</span>; <span>$com</span> = <span>new</span> common(<span>1</span>); <span>echo</span><span>$com</span>->getVal(<span>2.2</span>).<span>'--'</span>; <span>echo</span><span>$com</span>->getVal(<span>2.2</span>).<span>'--'</span>; <span>echo</span> (<span>new</span> common(<span>1</span>))->getVal(<span>8.9</span>); <span>echo</span><span>'<hr>'</span>;<span>echo</span><span>'匿名类'</span>; <span>//定义匿名类需继承</span><span>echo</span> (<span>new</span><span><span>class</span>(1) <span>extends</span><span>common</span>{</span>})->getVal(<span>90</span>);<span>echo</span><span>'<br>'</span>; <span>echo</span> (<span>new</span><span><span>class</span>(2) <span>extends</span><span>common</span>{</span>})->getVal(<span>90</span>);</span></span></code>
匿名类被嵌套进普通 Class 后,不能访问这个外部类(Outer class)的
private(私有)、protected(受保护)方法或者属性。 为了访问外部类(Outer class)protected
属性或方法,匿名类可以 extend(扩展)此外部类。 为了使用外部类(Outer class)的 private
属性,必须通过构造器传进来:
<code><?php <span><span>class</span><span>Outer</span> {<span>private</span> $prop = <span>1</span>; <span>protected</span> $prop2 = <span>2</span>; <span>protected</span> function func1() { <span>return</span><span>3</span>; } <span>public</span> function func2() { <span>return</span><span>new</span><span><span>class</span>($<span>this</span>-><span>prop</span>) <span><span>extends</span></span><span>Outer</span> {</span><span>private</span> $prop3; <span>public</span> function __construct($prop) { $<span>this</span>->prop3 = $prop; } <span>public</span> function func3() { <span>return</span> $<span>this</span>->prop2 + $<span>this</span>->prop3 + $<span>this</span>->func1(); } }; } } echo (<span>new</span> Outer)->func2()->func3();<span>//6</span></code>
匿名函数可以实现闭包,那么相应的匿名类也可以实现闭包
<code><span><?php </span><span>/** * Created by PhpStorm. * User: bee * Date: 2016/4/24 * Time: 1:51 */</span><span>$arr</span> = <span>array</span>(); <span>for</span> (<span>$i</span>=<span>0</span>; <span>$i</span>3</span>; <span>$i</span>++){ <span>$arr</span>[] = <span>new</span><span><span>class</span>{</span><span>public</span><span>$index</span>=<span>0</span>; <span><span>function</span><span>__construct</span><span>()</span> {</span><span>echo</span><span>'create'</span>; } <span>public</span><span><span>function</span><span>getVal</span><span>(<span>$index</span>)</span>{</span><span>$this</span>->index = <span>$index</span>; <span>echo</span><span>$this</span>->index; } <span>public</span><span><span>function</span><span>getIndex</span><span>()</span>{</span><span>echo</span><span>$this</span>->index; } }; } <span>$arr</span>[<span>2</span>]->getVal(<span>2</span>); <span>echo</span><span>'<br>'</span>; var_dump(<span>$arr</span>[<span>1</span>]); <span>$arr</span>[<span>1</span>]->getIndex(); </code>
以上就介绍了PHP7之匿名类,包括了php7方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam php5, kita boleh menggunakan fungsi fsockopen() untuk mengesan port TCP. Fungsi ini boleh digunakan untuk membuka sambungan rangkaian dan melakukan beberapa komunikasi rangkaian. Tetapi dalam php7, fungsi fsockopen() mungkin menghadapi beberapa masalah, seperti tidak dapat membuka port, tidak dapat menyambung ke pelayan, dsb. Untuk menyelesaikan masalah ini, kita boleh menggunakan fungsi socket_create() dan fungsi socket_connect() untuk mengesan port TCP.

Cara memasang sambungan mongo dalam php7.0: 1. Buat kumpulan pengguna dan pengguna mongodb 2. Muat turun pakej kod sumber mongodb dan letakkan pakej kod sumber dalam direktori "/usr/local/src/" 3. Masukkan direktori "src/" 4. Buka zip pakej kod sumber 5. Buat direktori fail mongodb 6. Salin fail ke direktori "mongodb/" 7. Buat fail konfigurasi mongodb;

Untuk menyelesaikan pemalam yang tidak menunjukkan isu yang dipasang dalam PHP 7.0: Semak konfigurasi pemalam dan dayakan pemalam. Mulakan semula PHP untuk menggunakan perubahan konfigurasi. Semak kebenaran fail pemalam untuk memastikan ia betul. Pasang kebergantungan yang hilang untuk memastikan pemalam berfungsi dengan betul. Jika semua langkah lain gagal, bina semula PHP. Punca lain yang mungkin termasuk versi pemalam yang tidak serasi, memuatkan versi yang salah atau isu konfigurasi PHP.

Berbanding dengan PHP7, PHP8 mempunyai beberapa kelebihan dan penambahbaikan dari segi prestasi, ciri baharu dan penambahbaikan sintaks, sistem jenis, pengendalian ralat dan sambungan. Walau bagaimanapun, memilih versi yang hendak digunakan bergantung pada keperluan khusus anda dan keadaan projek. Pengenalan terperinci: 1. Peningkatan prestasi, PHP8 memperkenalkan pengkompil Just-in-Time (JIT), yang boleh meningkatkan kelajuan pelaksanaan kod 2. Ciri baharu dan penambahbaikan sintaks, PHP8 menyokong pengisytiharan parameter yang dinamakan dan parameter pilihan, membuat fungsi Panggilan adalah lebih fleksibel kelas tanpa nama, jenis pengisytiharan sifat, dsb.

Penyelesaian biasa untuk persekitaran pelayan PHP termasuk memastikan versi PHP yang betul dipasang dan fail yang berkaitan telah disalin ke direktori modul. Lumpuhkan SELinux buat sementara waktu atau selama-lamanya. Semak dan konfigurasikan PHP.ini untuk memastikan sambungan yang diperlukan telah ditambah dan disediakan dengan betul. Mulakan atau mulakan semula perkhidmatan PHP-FPM. Semak tetapan DNS untuk isu penyelesaian.

Cara memasang dan menggunakan php7.0: 1. Pergi ke laman web rasmi PHP untuk memuat turun versi pemasangan yang sepadan dengan sistem tempatan 2. Ekstrak fail zip yang dimuat turun ke direktori yang ditentukan 3. Buka tetingkap baris arahan dan pergi ke direktori "E:\php7" Hanya jalankan arahan "php -v".

Dengan perkembangan teknologi Internet, bahasa pengaturcaraan komputer juga terus dibangunkan dan dikemas kini. Sebagai bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan web, PHP telah mengalami pelbagai kemas kini versi selama bertahun-tahun, dan versi terkini PHP7 telah meningkatkan prestasi dan kestabilannya. Untuk menggunakan bahasa pengaturcaraan PHP dengan lebih baik, artikel ini akan memperkenalkan tutorial muat turun dan pemasangan PHP7 untuk rujukan pemula.

Perbezaan sintaks antara php7 dan php5 ialah: 1. PHP7 memperkenalkan pengisytiharan jenis yang ketat, manakala jenis pembolehubah PHP5 adalah tersirat 2. PHP7 memperkenalkan sokongan untuk pengisytiharan jenis skalar, tetapi PHP5 tidak memperkenalkan operator NULL Merge; PHP5 menyemak sama ada pembolehubah wujud dan tidak batal, anda perlu menggunakan pernyataan bersyarat 4. PHP7 menambah operator perbandingan baharu "<=>", tetapi PHP5 tidak 5. PHP7 memperkenalkan kelas tanpa nama yang baharu, manakala PHP5 tidak.
