请教PHP面向对象设计与数据可访问的设计
比如有一个类Person
有一个数据库操作类Conn
Person里面有一个操作是买回来一只鸡,鸡的信息要放到数据库里面去
应该怎么设计?
是在perison里面包涵Conn类,然后实例化Conn对象,访问数据库插入数据,还是怎么弄?
请高手指教!
------解决方案--------------------
+1
LZ应该学习一下设计模式
买鸡(这event有点让我抓狂

业务逻辑确定一下谁(person)、操作(买)、什么(商品/鸡)三者关系
谁(主体)操作(可变)什么(可变)――访问者模式,person作为抽象类,买不是person的必然操作
谁(主体)操作(不变)什么(可变)――原型模式,买是person的必然操作,相当于一个属性
谁(可变)操作(主体且不变)什么(可变)――桥接模式,买操作作为抽象类,导入person买,和买的商品鸡
……
还可以用建造模式,购物车、下单、付费等是顺序关系,作为方法(每个都引入conn),person作为属性
类似有把一次session作为主体抽象类(组合模式),登录、购买、修改资料等其他操作都作为方法(非有序关系),person类则作为抽象类的一个属性
还有其他组合方式,自己去研究吧
但总体来说,conn连接数据库都看不出应该直接从属于person,而是从属于event的一个步骤
所以conn在桥接模式与person、商品两个类并列于抽象类,在原型模式等则二级从属于抽象类
建一个event类内部把conn类实例化为一个方法这样组合为佳
能把工作细分越多,组合方式就越多;当然说的是以类为单位,因为类本身的作用就是合并工作,类下细分反而没意义
上面说的只是我的思维角度,设计模式就是思路,某个模式内还可以有模式,而且每个人想法不同,模式就不同,不是固死的
------解决方案--------------------
设计模式是从大量的实际项目开发中抽象出来的
学习设计模式的目的是让你跳出自己的思维局限,看看人家是怎么做的。仅此而已
在自己的开发实践中,硬是要套上A模式、B模式,不是自己给自己找麻烦吗
------解决方案--------------------
上面的咚咚我也要翻书才叫得上名字,都忘光了
我相信每个人有心学设计模式,最终总会明白自己组合的道理的
唉,人总是这样的,谁不是从小学开始老师让背什么就背什么,等慢慢学习多了,自然就知道原来要自己“组合”招式的
不晓得国外的小学教育是否如此?

PhpisUsedforsendentemailsDuetoits IntegrationwithServermailServicesAnteralsmtpproviders, automatication etmarkettingcampews.1)

La meilleure façon d'envoyer des e-mails est d'utiliser la bibliothèque PHPMailer. 1) L'utilisation de la fonction Mail () est simple mais peu fiable, ce qui peut entraîner la saisie des e-mails ou ne peut pas être livré. 2) PHPMailer fournit un meilleur contrôle et une meilleure fiabilité, et prend en charge le courrier HTML, les pièces jointes et l'authentification SMTP. 3) Assurez-vous que les paramètres SMTP sont configurés correctement et que le chiffrement (tel que StartTLS ou SSL / TLS) est utilisé pour améliorer la sécurité. 4) Pour de grandes quantités d'e-mails, envisagez d'utiliser un système de file d'attente de courrier pour optimiser les performances.

CustomHedersEndAdvancedFeaturesInphpeMailenhanceFonctionality andreliability.1) CustomHedersAdMetAdataFortrackingandCategorization.2)

L'envoi de courrier à l'aide de PHP et SMTP peut être réalisé via la bibliothèque PHPMailer. 1) Installez et configurez PHPMailer, 2) Définissez les détails du serveur SMTP, 3) Définissez le contenu des e-mails, 4) Envoyer des e-mails et gérer les erreurs. Utilisez cette méthode pour assurer la fiabilité et la sécurité des e-mails.

TheBestApproachforsendentemailsInphpisusingThephpmailerLibraryDuetOtsReliability, featturerichness, andeaseofuse.phpmailersupportssmtp, fournitdetaileDerrorHling

La raison de l'utilisation de l'injection de dépendance (DI) est qu'elle favorise le couplage lâche, la testabilité et la maintenabilité du code. 1) Utiliser le constructeur pour injecter les dépendances, 2) Éviter d'utiliser les localisateurs de services, 3) Utiliser les conteneurs d'injection de dépendance pour gérer les dépendances, 4) Améliorer la testabilité par l'injection des dépendances, 5) Évitez les dépendances de sur-injection, 6) Considérez l'impact des performances de DI.

PhpperformanceTUningiscrucialBecauseiTenHanceSpEedAndEfficiency, qui arevitalforwebapplications.1) cachingwithapruceducesdatabaseloadandixprovesesweponshets.2) OptimizingDatabasequeriesByselectingNesseyColumsAnSingIndexPeedSupSupDatareTelevalin.

ThebestpracticesforsendentemailsSécurelyInphpinclude: 1) usingSECureConfigurations withsmtpandstartTlSencryption, 2) valider andsanitizingInputStopreventInjectiondAttacks, 3) EncrytingSensiveDataWithinemailsusingOpenSSL, 4)


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Version Mac de WebStorm
Outils de développement JavaScript utiles

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

SublimeText3 version chinoise
Version chinoise, très simple à utiliser
