Jadual Kandungan
为什么选择 QeePHP
更具挑战性的任务
领域驱动设计
新希望 —— QeePHP
Rumah php教程 php手册 新一代 PHP 框架 QeePHP 发布

新一代 PHP 框架 QeePHP 发布

Jun 06, 2016 pm 07:56 PM
php kenapa lepaskan generasi baru bingkai pilih

为什么选择 QeePHP 回顾一下曾经开发过的 PHP应用,大部分开发者都会发现这些应用中,数据的创建、读

为什么选择 QeePHP

回顾一下曾经开发过的 PHP 应用,大部分开发者都会发现这些应用中,数据的创建、读取、更新和删除操作是重复最多次的操作。但是不管我们如何简化这些 CRUD(创建、读取、更新、删除)操作,面对客户不断变化的需求,应用程序的内在结构总是逐渐变得凌乱。

而造成这种情况的根本原因就是我们没有正确使用面向对象的技术来设计和实现这些应用程序。由于业务逻辑固有的复杂性被所谓的 CRUD 快速开发能力所掩盖。本应是内聚的业务逻辑却拆散为一个个 CRUD 操作,分散到了应用程序的不同部分。如此一来,业务逻辑的变化必然会导致应用程序内部产生连锁反应式的改动,应用程序内在结构的逐渐腐朽变成了不可逆转的趋势。

更具挑战性的任务

随着 PHP 越来越多的应用在大型 Web 应用中,如何构造这些复杂应用已经成了一项挑战。下图是一位开发者通过反向工程获得的 Facebook 对象关系图 。虽然这张图并不完全准确,而且也有许多简化,但可以看出对象间仍然存在复杂的关系。对于这种应用,传统的 CRUD 操作根本不可能胜任。

新一代 PHP 框架 QeePHP 发布

Facebook 对象关系图

正是因为多年 PHP 开发的经验教训,以及面对复杂应用时的捉襟见肘,让我们下定决心改变现状。将“领域驱动设计”引入到 PHP 世界中。

领域驱动设计

“领域驱动设计”由 Eric Evans 于 2003 出版的《Domain-Driven Design: Tackling Complexity in the Heart of Software》(国内译名: 领域驱动设计–软件核心复杂性应对之道 )一书中进行全面阐述。“领域驱动设计”回归了面向对象思想的本质,提出了一系列创建面向对象应用程序的指导原则,以及实践这些原则的设计模式和解决方案。

可惜的是虽然已经经过了 5 年时间,但领域驱动在 PHP 世界并没有引起大的反响,因为大多数 PHP 开发者已经习惯了编写那些“一次性”的代码。即便是各种 PHP 开发框架的出现,也没有改变这种状况。造成困境的根本原因,并不在于 PHP 语言本身的限制,而是使用 PHP 开发的 Web 应用直到今天才逐步发展为具有高度内在复杂性的软件系统。正所谓没有需求就没有市场,在大多数 PHP 应用都很简单的情况下,领域驱动这样一种需要从思想上进行改变的开发模式自然难以在 PHP 世界中流行。

但市场已经发生了变化,今天的用户要求我们能够更快更好的创建高质量的应用程序,改变传统 PHP 开发模式的时机已经完全成熟。

新希望 —— QeePHP

QeePHP 是一个遵循“领域驱动设计”思想设计和实现的 PHP 开发框架。在保持易学易用、快速稳定的同时,QeePHP 为创建具有复杂内在逻辑的 Web 应用提供了全面的支持。

“领域驱动设计”是一种设计和架构思想,以“模型”为核心,将业务逻辑封装到一个个内聚的模型之中,从而避免业务逻辑被分散到应用程序的各个部分。 这样一来,不管是增加了新的业务需求还是已有需求的改变,我们都能够将修改局限在一个相对较小的范围。从根本上避免了需求快速更新导致应用程序内在结构逐 渐腐朽的问题。

由于“领域驱动设计”的思想基础就是“模型”,所以框架必须为“模型”的定义、封装、持久化,以及模型关系的维护和扩展提供良好支持。QeePHP 实现了完善的 ORM(对象关系映射)系统,能够应付各种复杂的业务需求。利用 QeePHP 提供的帮助,开发者可以将精力放到如何完成“业务逻辑”之上,而不是不断的重复 CRUD 操作。

 

更进一步,QeePHP 提供了灵活的视图机制,让开发者可以轻松完成用户界面组件化工作,为高效开发奠定了基础。除此以外,QeePHP 的表单模型、用户界面控件、可扩展内核架构,都是构建复杂应用程序不可或缺的强力工具。

除了技术上的创新,QeePHP 还凝聚了 起源科技 团队及社区超过 5 年的框架设计和开发经验。无论是易用性、可靠性、运行性能还是扩展能力,QeePHP 都达到了当今 PHP 开发框架的极致。

最后,我们想说经过近两年的开发,QeePHP 已经为实践“领域驱动设计”做好了准备、为开发复杂应用提供了一个坚实的基础。我们坚信,随着 PHP 开发者面对的需求越来越困难,QeePHP 开源开发框架及其背后的思想必定会为大家所了解、信任与采用。

 

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Muzium Dua Point: Semua Pameran dan Di Mana Mencari Mereka
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Apakah keutamaan bahasa C! X? Apakah keutamaan bahasa C! X? Apr 03, 2025 pm 02:06 PM

Non-operator logik (!) Mempunyai keutamaan di sebelah kurungan, yang bermaksud bahawa dalam ungkapan, ia akan mendahului kebanyakan pengendali lain. Memahami keutamaan bukan sahaja memerlukan hafalan, tetapi lebih penting lagi, memahami logik dan perangkap yang berpotensi di belakangnya untuk mengelakkan kesilapan yang tidak dapat dikesan dalam ekspresi kompleks. Menambah kurungan dapat menjelaskan niat ekspresi, meningkatkan kejelasan kod dan pemeliharaan, dan mencegah tingkah laku yang tidak dijangka.

Amalan terbaik untuk lalai bahasa c Amalan terbaik untuk lalai bahasa c Apr 03, 2025 pm 03:48 PM

Amalan terbaik lalai dalam bahasa C: Letakkannya pada akhir pernyataan suis sebagai pemprosesan lalai untuk nilai yang tidak dapat ditandingi; Ia digunakan untuk mengendalikan nilai yang tidak diketahui atau tidak sah untuk meningkatkan ketahanan program; mengelakkan pertindihan dengan cawangan kes untuk mengekalkan kesimpulan; Komen dengan jelas mengenai tujuan cawangan lalai untuk meningkatkan kebolehbacaan; Elakkan menggunakan pelbagai kegagalan dalam satu kes untuk mengekalkan kejelasan; Pastikan cawangan lalai ringkas dan elakkan operasi kompleks; Pertimbangkan menggunakan nilai penghitungan sebagai syarat kes untuk meningkatkan kebolehkerjaan; Dalam pernyataan suis yang besar, gunakan pelbagai cawangan lalai untuk mengendalikan situasi yang berbeza.

Tutorial mengenai cara mewakili pembahagi biasa dalam fungsi bahasa c Tutorial mengenai cara mewakili pembahagi biasa dalam fungsi bahasa c Apr 03, 2025 pm 11:21 PM

Kaedah untuk mencari pembahagi umum yang paling baik dan elegan dalam bahasa C: menggunakan bahagian fasa untuk menyelesaikan dengan sentiasa membahagikan selebihnya sehingga selebihnya adalah 0. Dua kaedah pelaksanaan disediakan: rekursi dan lelaran adalah ringkas dan jelas, dan pelaksanaan berulang lebih tinggi dan lebih stabil. Beri perhatian untuk mengendalikan nombor negatif dan 0s, dan pertimbangkan pengoptimuman prestasi, tetapi bahagian fasa itu sendiri cukup cekap.

Bacaan fail fileReader front-end: Mengapa anda perlu memberi instantiate terlebih dahulu dan kemudian membaca? Bacaan fail fileReader front-end: Mengapa anda perlu memberi instantiate terlebih dahulu dan kemudian membaca? Apr 04, 2025 pm 01:48 PM

Mengenai instansiasi dan bacaan fail dalam pembangunan front-end, kita sering perlu memproses fail yang dimuat naik oleh pengguna. gunakan

Mengapa kod RXJS saya tidak berkuatkuasa semasa beroperasi di sungai? Mengapa kod RXJS saya tidak berkuatkuasa semasa beroperasi di sungai? Apr 04, 2025 pm 06:27 PM

Mengapa kod saya tidak berkuat kuasa apabila menggunakan RXJS untuk beroperasi di sungai? Belajar RXJS ...

Pembolehubah yang tidak digunakan dalam C/C: Mengapa dan Bagaimana? Pembolehubah yang tidak digunakan dalam C/C: Mengapa dan Bagaimana? Apr 03, 2025 pm 10:48 PM

Dalam tinjauan kod C/C, sering terdapat kes di mana pembolehubah tidak digunakan. Artikel ini akan meneroka sebab -sebab umum untuk pembolehubah yang tidak digunakan dan menerangkan bagaimana untuk mendapatkan pengkompil untuk mengeluarkan amaran dan bagaimana untuk menindas amaran tertentu. Punca -punca pembolehubah yang tidak digunakan Terdapat banyak sebab untuk pembolehubah yang tidak digunakan dalam kod: kelemahan kod atau kesilapan: Sebab yang paling langsung ialah terdapat masalah dengan kod itu sendiri, dan pembolehubah mungkin tidak diperlukan sama sekali, atau mereka diperlukan tetapi tidak digunakan dengan betul. Kod Refactoring: Semasa proses pembangunan perisian, kod akan diubahsuai dan refactored secara berterusan, dan beberapa pembolehubah penting sekali boleh ditinggalkan dan tidak digunakan. Pembolehubah Reserved: Pemaju boleh mendahului beberapa pembolehubah untuk kegunaan masa depan, tetapi mereka tidak akan digunakan pada akhirnya. Penyusunan Bersyarat: Sesetengah pembolehubah hanya boleh berada di bawah keadaan tertentu (seperti mod debug)

Adakah Null nilai dalam C? Adakah Null nilai dalam C? Apr 03, 2025 am 11:57 AM

Null adalah makro dalam bahasa C, biasanya ditakrifkan sebagai 0 atau penunjuk null pemalar (tidak sah *) 0. Ini bermakna penunjuk tidak menunjuk kepada alamat memori yang sah, dan akses kepada memori yang dirujuk oleh penunjuk adalah dilarang untuk mengelakkan menyebabkan program itu terhempas. Adalah penting untuk menggunakan null dengan betul (seperti memeriksa jika penunjuk kosong) untuk mengelakkan kesilapan penunjuk dan meningkatkan ketahanan program.

See all articles