Minor【 PHP框架】5.事件,minorphp框架事件_PHP教程
Minor【 PHP框架】5.事件,minorphp框架事件
5.1 事件Event
Minor的 Event
类提供一个简单的观察者实现,允许您在应用程序里订阅与监听事件。
5.1.1 订阅事件
首先创建一个事件类:
<?<span>php namespace App\Event; </span><span>use</span><span> Minor\Event\Event; </span><span>class</span> DemoEvent <span>extends</span><span> Event { </span><span>private</span> <span>$name</span><span>; </span><span>public</span> <span>function</span> __construct(<span>$name</span><span>) { </span><span>$this</span>->name = <span>$name</span><span>; } </span><span>public</span> <span>function</span> setName(<span>$name</span><span>) { </span><span>$this</span>->name = <span>$name</span><span>; } </span><span>public</span> <span>function</span><span> getName() { </span><span>return</span> <span>$this</span>-><span>name; } }</span>
然后在配置文件中注册这个事件:
<?<span>php </span><span>return</span> <span>$events</span> =<span> [ </span>'App\Event\DemoEvent' =><span> [ </span>'App\Listener\DemoListener' => 'handle',<span> ]</span>,<span> ];</span>
5.1.2 触发事件
Minor提供了一个事件管理类:Minor\Event\EventManger,通过调用该类的静态方法fire:EventManager::fire($event)就可以触发这个事件,例:
<span>class</span> FooController <span>extends</span><span> Controller { </span><span>public</span> <span>function</span> bar(<span>$productName</span><span>) { </span><span>$event</span> = <span>new</span> DemoEvent('DemoEvent'<span>); EventManager</span>::fire(<span>$event</span><span>); </span>...<span> } }</span>
5.2 监听器
当触发事件后事件管理器EventManager就会通过配置文件去触发监听器的制定方法。在5.1.1配置文件中我们配置了DemoEvent的监听器为App\Listener\DemoListener的handle方法,可以看一下这个类的实现:
<?<span>php namespace App\Listener; </span><span>use</span><span> App\Event\DemoEvent; </span><span>use</span><span> Minor\Event\Listener; </span><span>class</span> DemoListener <span>extends</span><span> Listener { </span><span>public</span> <span>function</span> handle(DemoEvent <span>$event</span><span>) { </span><span>echo</span> '[DemoListener] handle the event:[' . <span>$event</span>->getName() .'] success!<br/><br/>'<span>; } }</span>

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



Perbezaan antara php5 dan php8 adalah dari segi prestasi, struktur bahasa, sistem jenis, pengendalian ralat, pengaturcaraan tak segerak, fungsi perpustakaan standard dan keselamatan. Pengenalan terperinci: 1. Peningkatan prestasi Berbanding dengan PHP5, PHP8 mempunyai peningkatan besar dalam prestasi PHP8 memperkenalkan pengkompil JIT, yang boleh menyusun dan mengoptimumkan beberapa kod pelaksanaan frekuensi tinggi, dengan itu meningkatkan kelajuan berjalan; PHP8 memperkenalkan beberapa struktur dan fungsi bahasa baharu PHP8 menyokong parameter yang dinamakan, membenarkan pembangun menghantar nama parameter dan bukannya susunan parameter, dsb.

Cara menukar port 80 dalam php5: 1. Edit nombor port dalam fail konfigurasi pelayan Apache; mula berjalan pada port baru berjalan pada port.

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.

Langkah penyelesaian untuk php5 tidak mendengar port 9000: 1. Semak fail konfigurasi PHP-FPM 2. Mulakan semula perkhidmatan PHP-FPM 3. Matikan tembok api atau konfigurasikan pemajuan port 4. Semak sama ada proses lain menduduki port 9000;

Jika anda seorang pentadbir laman web, anda mungkin menghadapi situasi di mana anda perlu menukar port PHP5 daripada port lalai 80. Proses ini mungkin sedikit tergesa-gesa, tetapi selagi anda mengikuti langkah-langkah di bawah, ia akan mudah diselesaikan.

Apabila menggunakan PHP5, sesetengah pengguna mungkin menghadapi situasi yang port 9000 tidak boleh didengari. Pada masa ini, kami perlu melakukan beberapa kerja konfigurasi dan penyelesaian masalah untuk menyelesaikan masalah ini.

Perbezaan antara versi php7 dan 5 termasuk peningkatan prestasi, pengisytiharan jenis skalar, pengisytiharan jenis nilai pulangan, penambahbaikan pengendalian pengecualian, kelas tanpa nama, penambahbaikan sintaks, pengendali baharu, pengendalian ralat yang dipertingkatkan dan penyingkiran beberapa ciri lama. Pengenalan terperinci: 1. Peningkatan prestasi PHP7 memperkenalkan enjin Zend baharu, bernama Zend Engine 3.0, yang membawa peningkatan prestasi yang ketara , pengumpulan sampah dipertingkatkan, dsb.

PHP ialah bahasa pengaturcaraan bahagian pelayan yang digunakan secara meluas untuk membangunkan laman web dan aplikasi dinamik. Dalam beberapa tahun kebelakangan ini, keluaran PHP7 telah menarik perhatian. PHP7 mempunyai banyak penambahbaikan dan pengoptimuman berbanding versi sebelumnya (seperti PHP5). Dalam artikel ini, kami akan meneroka perbezaan sintaks antara PHP7 dan PHP5.
