Heim Backend-Entwicklung PHP-Tutorial ThinkPHP3.0认识_PHP教程

ThinkPHP3.0认识_PHP教程

Jul 13, 2016 pm 05:49 PM
版本 von

看到ThinkPHP3.0新出的版本,很兴奋,因为它提出了很多新概念,如CBD模式,AOP编程思想。着重对这两个新概念做个总结。
 
CBD认识
 
引用官方手册:ThinkPHP3.0版本引入了全新的CBD(核心Core+行为Behavior+驱动Driver)架构模式,因为从底层开始,框架就采用核心+行为+驱动的架构体系,核心保留了最关键的部分,并在重要位置设置了标签用以标记,其他功能都采用行为扩展和驱动的方式组合,开发人员可以根据自己的需要,对某个标签位置进行行为扩展或者替换,就可以方便的定制框架底层,也可以在应用层添加自己的标签位置和添加应用行。而标签位置类似于AOP概念中的“切面”,行为都是围绕这个“切面”来进行编程,如果把系统内置的核心扩展看成是一种标准模式的话,那么用户可以把这一切的行为定制打包成一个新的模式,所以在ThinkPHP里面,称之为模式扩展,事实上,模式扩展不仅仅可以替换和增加行为,还可以对底层的MVC进行替换和修改,以达到量身定制的目的。利用这一新的特性,开发人员可以方便地通过模式扩展为自己量身定制一套属于自己或者企业的开发框架,新版的模式扩展是框架扩展的集大成者,开创了新的里程碑,这正是新版的真正魅力所在。
 
AOP认识
 
引用官方手册:
 
AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。对于其他类型的代码,如安全性、异常处理和透明的持续性也是如此。这种散布在各处的无关的代码被称为横切(cross-cutting)代码,在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。而AOP技术则恰恰相反,它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP代表的是一个横向的关系,如果说“对象”是一个空心的圆柱体,其中封装的是对象的属性和行为;那么面向方面编程的方法,就仿佛一把利刃,将这些空心圆柱体剖开,以获得其内部的消息。而剖开的切面,也就是所谓的“方面”了。然后它又以巧夺天功的妙手将这些剖开的切面复原,不留痕迹。
 
使用“横切”技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。Aop 的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。正如Avanade公司的高级方案构架师Adam Magee所说,AOP的核心思想就是“将应用程序中的商业逻辑同对其提供支持的通用服务进行分离。”
 
 
 
个人认识:AOP是编程思想,就是把整个项目的一些需要重复使用的功能模块做成一个一个切面,这样我们在这个项目里就不会重复编写代码。而CBD是AOP思想的实现方式,把一些需要多出用到的功能(即所谓的切面)写成一个一个Behavior,这样我们只要使用这个行为就好了,这个行为就只有一个方法可以供调用那就是run,其他Behavior类的行为都为private属性。并且,这种调用方式被封装成B($name, &$param)这个方法,我们调用切面行为时,只要执行B方法就可以了。(这种形式,很符合依赖注入思想,这样的好处就是实现代码的解耦合)。
 
那么,如果使用ThinkPHP2.X怎么在不换框架的前提下,可以更好的用上这些好的编程思想呢。在做项目前,首先要先对项目进行 统筹规划,比如说对一些会重复出现的行为,如对数据进行项目级特殊验证,可以把它做成一个切面(Behavior),这样我们只要重复使用这个切面。
 
大概读了ThinkPHP3.0,个人觉得,3.0和2.X没多大区别,但是3.0更强调我们在做项目前统筹规划,利用AOP思想避免重复代码。好好汲取其中的养分用到自己平时的编程中去
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478315.htmlTechArticle看到ThinkPHP3.0新出的版本,很兴奋,因为它提出了很多新概念,如CBD模式,AOP编程思想。着重对这两个新概念做个总结。 CBD认识 引用官方手...
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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate 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)

So überprüfen Sie schnell die Numpy-Version So überprüfen Sie schnell die Numpy-Version Jan 19, 2024 am 08:23 AM

Numpy ist eine wichtige Mathematikbibliothek in Python. Sie bietet effiziente Array-Operationen und wissenschaftliche Berechnungsfunktionen und wird häufig in den Bereichen Datenanalyse, maschinelles Lernen, Deep Learning und anderen Bereichen verwendet. Bei der Verwendung von Numpy müssen wir häufig die Versionsnummer von Numpy überprüfen, um die von der aktuellen Umgebung unterstützten Funktionen zu ermitteln. In diesem Artikel erfahren Sie, wie Sie die Numpy-Version schnell überprüfen und spezifische Codebeispiele bereitstellen. Methode 1: Verwenden Sie das __version__-Attribut, das mit numpy geliefert wird. Das numpy-Modul wird mit einem __ geliefert.

So überprüfen Sie die Maven-Version So überprüfen Sie die Maven-Version Jan 17, 2024 pm 05:06 PM

Methoden zum Überprüfen der Maven-Version: 1. Verwenden Sie die Befehlszeile. 3. Überprüfen Sie die IDE. Detaillierte Einführung: 1. Verwenden Sie die Befehlszeile, geben Sie „mvn -v“ oder „mvn --version“ in die Befehlszeile ein und drücken Sie dann die Eingabetaste. Dadurch werden die Maven-Versionsinformationen und die Java-Versionsinformationen angezeigt Variablen: Auf einigen Systemen können Sie die Umgebungsvariablen überprüfen, um die Maven-Versionsinformationen zu finden, den Befehl in die Befehlszeile eingeben und dann die Eingabetaste drücken usw.

Tutorial zum Aktualisieren der Curl-Version unter Linux! Tutorial zum Aktualisieren der Curl-Version unter Linux! Mar 07, 2024 am 08:30 AM

Um die Curl-Version unter Linux zu aktualisieren, können Sie die folgenden Schritte ausführen: Überprüfen Sie die aktuelle Curl-Version: Zunächst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version bestätigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version bestätigen. Sie können die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

So überprüfen Sie ganz einfach die installierte Version von Oracle So überprüfen Sie ganz einfach die installierte Version von Oracle Mar 07, 2024 am 11:27 AM

Um die installierte Version von Oracle einfach zu überprüfen, sind spezifische Codebeispiele erforderlich. Da es sich bei der Oracle-Datenbank um eine in Datenbankverwaltungssystemen auf Unternehmensebene weit verbreitete Software handelt, gibt es viele Versionen und unterschiedliche Installationsmethoden. In unserer täglichen Arbeit müssen wir häufig die installierte Version der Oracle-Datenbank auf entsprechende Betriebs- und Wartungsarbeiten überprüfen. In diesem Artikel erfahren Sie, wie Sie die installierte Version von Oracle einfach überprüfen können, und geben konkrete Codebeispiele. Methode 1: Durch SQL-Abfrage in der Oracle-Datenbank können wir

Überprüfen Sie die Version des Kirin-Betriebssystems und des Kernels Überprüfen Sie die Version des Kirin-Betriebssystems und des Kernels Feb 21, 2024 pm 07:04 PM

Überprüfen der Kylin-Betriebssystemversion und der Kernelversion Im Kirin-Betriebssystem ist das Wissen, wie die Systemversion und die Kernelversion überprüft werden, die Grundlage für die Systemverwaltung und -wartung. Methode 1 zum Überprüfen der Kylin-Betriebssystemversion: Verwenden Sie die Datei /etc/.kyinfo. Um die Kylin-Betriebssystemversion zu überprüfen, können Sie die Datei /etc/.kyinfo überprüfen. Diese Datei enthält Informationen zur Betriebssystemversion. Führen Sie den folgenden Befehl aus: cat/etc/.kyinfo Dieser Befehl zeigt detaillierte Versionsinformationen des Betriebssystems an. Methode 2: Verwenden Sie die Datei /etc/issue. Eine andere Möglichkeit, die Betriebssystemversion zu überprüfen, besteht darin, sich die Datei /etc/issue anzusehen. Diese Datei enthält auch Versionsinformationen, ist jedoch möglicherweise nicht so gut wie die .kyinfo-Datei

Einfache Schritte zum Aktualisieren der Pip-Version: in 1 Minute erledigt Einfache Schritte zum Aktualisieren der Pip-Version: in 1 Minute erledigt Jan 27, 2024 am 09:45 AM

In einer Minute erledigt: So aktualisieren Sie die Pip-Version. Mit der rasanten Entwicklung von Python ist Pip zu einem Standardtool für die Python-Paketverwaltung geworden. Mit der Zeit werden die Pip-Versionen jedoch ständig aktualisiert. Um die neuesten Funktionen nutzen und mögliche Sicherheitslücken schließen zu können, ist es sehr wichtig, die Pip-Version zu aktualisieren. In diesem Artikel wird erläutert, wie Sie Pip in einer Minute schnell aktualisieren können, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir ein Befehlszeilenfenster öffnen. In Windows-Systemen können Sie verwenden

Wie kann man feststellen, ob die dp-Schnittstelle 1.2 oder 1.4 ist? Wie kann man feststellen, ob die dp-Schnittstelle 1.2 oder 1.4 ist? Feb 06, 2024 am 10:27 AM

Die DP-Schnittstelle ist ein wichtiges Schnittstellenkabel im Computer. Viele Benutzer möchten wissen, wie sie überprüfen können, ob die DP-Schnittstelle 1.2 oder 1.4 ist. Tatsächlich müssen sie sie nur in GPU-Z überprüfen. So ermitteln Sie, ob die dp-Schnittstelle 1.2 oder 1.4 ist: 1. Wählen Sie zunächst „Erweitert“ in GPU-Z. 2. Schauen Sie sich „Monitor1“ in „Allgemein“ unter „Erweitert“ an, dort sehen Sie die beiden Punkte „LinkRate (aktuell)“ und „Lanes (aktuell)“. 3. Wenn schließlich 8,1 Gbit/s × 4 angezeigt wird, bedeutet dies DP1.3-Version oder höher, normalerweise DP1.4. Wenn es 5,4 Gbit/s × 4 ist

Nach 750.000 Runden Einzelkampf zwischen großen Modellen gewann GPT-4 die Meisterschaft und Llama 3 belegte den fünften Platz Nach 750.000 Runden Einzelkampf zwischen großen Modellen gewann GPT-4 die Meisterschaft und Llama 3 belegte den fünften Platz Apr 23, 2024 pm 03:28 PM

Zu Llama3 wurden neue Testergebnisse veröffentlicht – die große Modellbewertungs-Community LMSYS veröffentlichte eine große Modell-Rangliste, die Llama3 auf dem fünften Platz belegte und mit GPT-4 den ersten Platz in der englischen Kategorie belegte. Das Bild unterscheidet sich von anderen Benchmarks. Diese Liste basiert auf Einzelkämpfen zwischen Modellen, und die Bewerter aus dem gesamten Netzwerk machen ihre eigenen Vorschläge und Bewertungen. Am Ende belegte Llama3 den fünften Platz auf der Liste, gefolgt von drei verschiedenen Versionen von GPT-4 und Claude3 Super Cup Opus. In der englischen Einzelliste überholte Llama3 Claude und punktgleich mit GPT-4. Über dieses Ergebnis war Metas Chefwissenschaftler LeCun sehr erfreut und leitete den Tweet weiter

See all articles