Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung PHP-Tutorial 求一个 删除帖子的 合理思路

求一个 删除帖子的 合理思路

Jul 06, 2016 pm 01:53 PM
mysql php

比如我程序要提供删除帖子功能
帖子里面包含了(图片,文字,还有帖子的评论)
我原本思路就是一个函数先删除图片 文字 然后评论
然而这样一个函数的代码非常长,差不多有100多行,而且后面维护起来也难,一堆if else看得我自己都头晕。并且如果中间有一个地方执行出错就麻烦了,我删除图片的时候是调用七牛接口删除,所以也不排除网络故障的可能

所以希望大神提供一个设计思路,方便后期的维护并且能完美的解决意外的发生

回复内容:

比如我程序要提供删除帖子功能
帖子里面包含了(图片,文字,还有帖子的评论)
我原本思路就是一个函数先删除图片 文字 然后评论
然而这样一个函数的代码非常长,差不多有100多行,而且后面维护起来也难,一堆if else看得我自己都头晕。并且如果中间有一个地方执行出错就麻烦了,我删除图片的时候是调用七牛接口删除,所以也不排除网络故障的可能

所以希望大神提供一个设计思路,方便后期的维护并且能完美的解决意外的发生

如果帖子包含图片,文字,评论等等相关信息。
那么如果要删除它们的时候必定是要写上 delete图片,delete文字,delete评论 的相关sql语句的,这是无法避免的。
那么剩下的问题就是如何拓展与维护此类功能了:我强烈推荐写一个观察者模式,当删除帖子操作触发时就顺带触发删除图片,文字,评论的相关操作。这样子即易于拓展又方便维护了,毕竟一个方法对应一个方法,不用写那么多if判断。

小tips:最好不要使用事务,帖子这些不是敏感信息,所以就算删除过程中出现错误也不会有什么影响(无非就是数据库信息会变得混乱与不完整),加快速度才是最重要的

可以给帖子设置一个状态 显示 隐藏 删除

删除的时候只设置成删除状态 前台不显示

然后放一个定时执行脚本 再去彻底删除状态为删除的帖子

现在删除都是在做逻辑删除,为啥要做物理删除?

其实7牛的稳定性很不错的,几乎不用太担心网络问题,当然你也可以为这些文件所在的表增加一个deleted字段,开始删除的时候本地将其变成1,然后远端删除后回调函数真正删除,否则等待定时任务对deleted=1的数据进行二次清理。
至于文字、评论等等,其实它们最好使用外键关联你的帖子,这样直接级联删除了,不需要任何额外的处理。或者ORM类的框架在声明model的时候可以指明依赖关系,自动完成级联删除,反正手工处理实在是太不理想了。

这个在前端实现有点麻烦,尤其是在使用第三方接口的时候,得我们手动调用多个删除方法,如果再遇上批量删除那叫一个酸爽。
后来我索性不删了,反正也不是多大的文件。

数据不要删除,。。不要删除

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)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
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)

Die Zukunft von PHP: Anpassungen und Innovationen Die Zukunft von PHP: Anpassungen und Innovationen Apr 11, 2025 am 12:01 AM

Die Zukunft von PHP wird erreicht, indem sich an neue Technologietrends angepasst und innovative Funktionen eingeführt werden: 1) Anpassung an Cloud Computing, Containerisierung und Microservice -Architekturen, Unterstützung von Docker und Kubernetes; 2) Einführung von JIT -Compilern und Aufzählungsarten zur Verbesserung der Leistung und der Datenverarbeitungseffizienz; 3) die Leistung kontinuierlich optimieren und Best Practices fördern.

Wie man phpmyadmin öffnet Wie man phpmyadmin öffnet Apr 10, 2025 pm 10:51 PM

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

PHP vs. Python: Verständnis der Unterschiede PHP vs. Python: Verständnis der Unterschiede Apr 11, 2025 am 12:15 AM

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

MySQL: Eine Einführung in die beliebteste Datenbank der Welt MySQL: Eine Einführung in die beliebteste Datenbank der Welt Apr 12, 2025 am 12:18 AM

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Warum MySQL verwenden? Vorteile und Vorteile Warum MySQL verwenden? Vorteile und Vorteile Apr 12, 2025 am 12:17 AM

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

So verwenden Sie ein einzelnes Gewinde -Redis So verwenden Sie ein einzelnes Gewinde -Redis Apr 10, 2025 pm 07:12 PM

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Der aktuelle Status von PHP: Ein Blick auf Webentwicklungstrends Der aktuelle Status von PHP: Ein Blick auf Webentwicklungstrends Apr 13, 2025 am 12:20 AM

PHP bleibt in der modernen Webentwicklung wichtig, insbesondere in Content-Management- und E-Commerce-Plattformen. 1) PHP hat ein reichhaltiges Ökosystem und eine starke Rahmenunterstützung wie Laravel und Symfony. 2) Die Leistungsoptimierung kann durch OPCACHE und NGINX erreicht werden. 3) Php8.0 führt den JIT -Compiler ein, um die Leistung zu verbessern. 4) Cloud-native Anwendungen werden über Docker und Kubernetes bereitgestellt, um die Flexibilität und Skalierbarkeit zu verbessern.

PHP: Stirbt es oder passt es sich einfach an? PHP: Stirbt es oder passt es sich einfach an? Apr 11, 2025 am 12:13 AM

PHP stirbt nicht, sondern sich ständig anpasst und weiterentwickelt. 1) PHP hat seit 1994 mehreren Versionen für die Version unterzogen, um sich an neue Technologietrends anzupassen. 2) Es wird derzeit in E-Commerce, Content-Management-Systemen und anderen Bereichen häufig verwendet. 3) PHP8 führt den JIT -Compiler und andere Funktionen ein, um die Leistung und Modernisierung zu verbessern. 4) Verwenden Sie Opcache und befolgen Sie die PSR-12-Standards, um die Leistung und die Codequalität zu optimieren.

See all articles