设计模式 - php中,为什么不在construct中写很多逻辑代码?
今天突然想到了这个问题.
回复内容:
今天突然想到了这个问题.
构造器的目的是init,你在里面完全可以用1W行if else 将所有的逻辑都写在里面,但是你怎么快速定位bug?某个逻辑被修改了,你又得横切你的代码。那么oo的意义何在?
因为构造时一般并不会有复杂逻辑
构造器的目的是init,比如一个必须登录才能看的页面,就可以在构造里判断是否登录了,而不需要在下边的方法里逐个判断,就是说把公用的东西拿到这,可以适当把都需要用到的拿到这里,如果写太多,bug也不好定位
PHP的Class的构造方法算是整个PHP面向过程到面向对象变化中波折最多的一个,甚至连方法名都改动过,所以在很多三方库或是开源程序中,很少有大范围使用构造方法的,目的是为了避免兼容性问题和一些不必要的结果。另外,PHP的构造方法甚至不要求必须执行父类构造,我感觉这看上去会破坏程序流程,特别是接入和修改三方的时候。
每个函数或者方法代码一般不过超过100行,更何况是初始化!!!
代码重构书上普遍都有一个规则好像,
是 function
优于 if ··· else
,
灵活性高
语法 习惯 规范 最佳实践 这是一个人代码风格的来源。
符合语法是最低标准,在构造函数写复杂逻辑是符合语法的。但是不符合规范或者最佳实践。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c
