Maison développement back-end tutoriel php 用封装类来合理的设计PHP项目--谈PHP项目中类的封装_PHP

用封装类来合理的设计PHP项目--谈PHP项目中类的封装_PHP

Jun 01, 2016 pm 12:34 PM
php项目

 编码对于合格的PHP程序员来说并不是什么难事(也许只是花费时间长短的问题),因此系统分析和设计这一阶段就显得尤为重要。不过本文并不打算讨论和需求分析、获取商业逻辑相关的话题,而是针对系统设计方面进行探讨。

编码对于合格的PHP程序员来说并不是什么难事(也许只是花费时间长短的问题),因此系统分析和设计这一阶段就显得尤为重要。对于一个担任PHP项目的系统分析员来说,面临着两个难题:

  1. PHP语言本身的限制。
    这一点在复杂系统的面向对象设计中尤其显著。PHP的面向对象特性在现有版本中虽然得到了改善,但是还不甚健全,根本不足以担任面向对象设计的实现语言;即使眼光长远一些,在即将释出的以Zend Engine 2.0支持的全新PHP中,面向对象特性也不会像现在流行的Java或者C++那样(关于这方面的内容可以参见我在developerWorks中国网站发表的另一篇文章)。但是如果采用完全面向过程(准确说是面向Web页面)的方式,可以想见整个系统的设计会非常复杂,而由此带来的编码复杂和维护困难更加难以应付。
  2. 现有资料的严重缺乏。
    这是众所周知的现象即针对Web项目的系统设计资料不足;而在这些有限资料中,关于PHP的设计资料又非常匮乏。如果本公司或本人也没有相关的技术积累,系统分析员只能在黑暗中摸索方法(更坏的两种情况,一是照搬其他项目比如Java或者C++的设计,二是认为项目简单而不负责任的草草了事)。


既然如此,采用何种方法妥善处理PHP系统的分析和设计?最初的构想应该需要分清项目承担任务的类型:

  1. 涉及大量客户本身或者客户所在行业的商业逻辑的项目,包括办公系统、订单系统以及其他商业系统。
  2. 简单网站项目,包括一些需要承担高访问量或要求快速响应的项目比如品牌网站或者活动网站以及其他一些网站。
  3. 综合性网站项目。通常包含多个相对独立的子系统比如新闻子系统、论坛子系统、产品陈列子系统等等。


PHP的设计初衷在于解决后两种项目的迫切需求,语言本身对于这些项目进行了良好的改造。而众多的PHP开发者对这些项目也具有或多或少的经验,相关书籍中的范例也大都围绕于此。相对说来第一种系统所有的资料不多,各种出版物对其内容也很少提及。因此在本文中将题所述对第一种类型的项目进行详细讲述(有关MVC模式和类封装),同时附带提及第二种项目(有关黑客代码)以及第三种项目的设计方法。当然,并不是被归类的这些项目就只能采用本文描述的方式,系统分析员需要权衡各方面因素加以选择。

如何分离用户界面和后台操作?如何避免将商业逻辑混淆于一般的流程控制中?作为一个严谨的商用项目,就需要考虑很多类似的问题。对于由PHP担当的这类项目,贯彻Model-View-Controller(MVC)模式的设计是一个非常好的方法。

理论描述
在这里我不想多加解释MVC模式本身--简单的从字面上以及应用上说,通过将系统的设计分为Model模型/逻辑、View视图/界面、Controller控制/流程三个逻辑部分达到良好的项目效果,以此便利各部分开发者的工作并降低日后的维护成本。(如果您熟悉JSP开发的Model 2模式,可以发现它也是MVC模式的很好体现。)就现实的项目开发而言,现存的很大问题包括网页设计人员和程序开发人员的工作交错和冲突以及商业逻辑嵌入页面造成不可重用也很难维护等等。引入MVC模式一方面可以为系统的总体设计指出明确的方向,对于开发团队的分工也是良好的指导。

既然依照MVC模式要求对系统的总体结构在逻辑上分成三部分,那么团队的开发者中也存在着针对各个部分的开发者。

开发者角色 相关系统逻辑 职责
网页设计人员 View视图/界面 设计所有用户界面的网页模板。
控制流程开发人员 Controller控制/流程 编写系统流程中的所有PHP页面。
商业逻辑开发人员 Model模型/逻辑 开发系统设计中规定的各个类(其中的方法)。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter le code de vérification et empêcher les attaques de robots dans un projet PHP ? Comment implémenter le code de vérification et empêcher les attaques de robots dans un projet PHP ? Nov 03, 2023 pm 05:40 PM

Comment implémenter le code de vérification et empêcher les attaques de robots dans un projet PHP ? Avec le développement et la popularité d’Internet, de plus en plus de sites Web et d’applications commencent à être menacés par des attaques de robots. Afin de protéger la sécurité des informations des utilisateurs et d'offrir une bonne expérience utilisateur, les développeurs doivent mettre en œuvre des codes de vérification et des mesures pour empêcher les attaques de robots dans leurs projets. Cet article expliquera comment implémenter des codes de vérification et empêcher les attaques de robots dans les projets PHP. 1. Mise en œuvre du code de vérification Le code de vérification est une méthode courante pour prévenir les attaques de robots. Les utilisateurs doivent saisir un code de vérification lors de leur connexion ou de leur inscription.

Comment implémenter des fonctions de sauvegarde et de récupération de données dans les projets PHP ? Comment implémenter des fonctions de sauvegarde et de récupération de données dans les projets PHP ? Nov 04, 2023 pm 04:30 PM

Comment implémenter des fonctions de sauvegarde et de récupération de données dans les projets PHP ? Dans le processus de développement et de gestion de projets PHP, les fonctions de sauvegarde et de récupération des données sont très importantes. Que ce soit pour éviter une perte accidentelle de données ou pour assurer la sécurité des données lors de la migration et de la mise à niveau d’un projet, nous devons maîtriser les méthodes de sauvegarde et de récupération des données. Cet article expliquera comment implémenter les fonctions de sauvegarde et de récupération de données dans les projets PHP. 1. Chemin de sauvegarde de la définition de sauvegarde des données : Tout d’abord, nous devons définir le chemin utilisé pour stocker les fichiers de sauvegarde. Peut être défini dans le fichier de configuration du projet

Tutoriel d'introduction au déployeur : Optimiser le processus de déploiement des projets PHP Tutoriel d'introduction au déployeur : Optimiser le processus de déploiement des projets PHP Jul 13, 2023 pm 05:22 PM

Tutoriel d'introduction au déployeur : Optimiser le processus de déploiement des projets PHP Introduction : Dans le développement moderne, le déploiement automatisé est devenu un élément indispensable. Deployer est un excellent outil de déploiement de projets PHP, qui peut nous aider à simplifier le processus de déploiement et à améliorer l'efficacité. Cet article présentera l'utilisation de base de Deployer et montrera à travers des exemples de code comment optimiser le processus de déploiement de projets PHP via Deployer. 1. Pourquoi choisir Deployer ? Le déployeur est un outil léger

Comment implémenter l'authentification des utilisateurs et le contrôle des autorisations dans les projets PHP ? Comment implémenter l'authentification des utilisateurs et le contrôle des autorisations dans les projets PHP ? Nov 02, 2023 pm 12:38 PM

Comment implémenter l'authentification des utilisateurs et le contrôle des autorisations dans les projets PHP ? Dans les applications Web modernes, l'authentification des utilisateurs et le contrôle des autorisations sont l'une des fonctions les plus importantes. L'authentification utilisateur est utilisée pour vérifier l'identité et les autorisations de l'utilisateur, tandis que le contrôle des autorisations détermine les autorisations d'accès de l'utilisateur à diverses ressources du système. La mise en œuvre de l'authentification des utilisateurs et du contrôle des autorisations dans les projets PHP peut protéger la sécurité des données des utilisateurs et garantir que seuls les utilisateurs autorisés du système peuvent accéder aux informations sensibles. Cet article présentera une méthode de base pour vous aider à mettre en œuvre des fonctions d'authentification des utilisateurs et de contrôle des autorisations afin de garantir

Comment implémenter le traitement d'image et l'ajout de filigrane dans un projet PHP ? Comment implémenter le traitement d'image et l'ajout de filigrane dans un projet PHP ? Nov 02, 2023 pm 01:21 PM

Comment implémenter le traitement d'image et l'ajout de filigrane dans un projet PHP ? Ces dernières années, avec le développement rapide d’Internet, l’utilisation d’images a joué un rôle de plus en plus important dans la conception de sites Web et le développement d’applications. Afin de répondre aux besoins des utilisateurs en matière d'images de haute qualité, nous devons implémenter des fonctions de traitement d'image et d'ajout de filigrane dans le projet PHP. Cet article présentera un moyen simple mais efficace d’atteindre cet objectif. 1. Fonctions de traitement d'image de PHP PHP fournit une série de fonctions de traitement d'image, qui peuvent nous aider à zoomer, recadrer, faire pivoter, etc.

Tutoriel sur le déploiement automatisé de projets PHP basé sur Deployer Tutoriel sur le déploiement automatisé de projets PHP basé sur Deployer Jul 16, 2023 pm 11:38 PM

Introduction au tutoriel de déploiement automatique de projets PHP basé sur Deployer : Lors du développement de projets PHP, nous avons souvent besoin de déployer du code sur le serveur. Les méthodes de déploiement traditionnelles peuvent impliquer des étapes fastidieuses telles que le téléchargement manuel de fichiers et la sauvegarde de bases de données. Pour améliorer l'efficacité et réduire les erreurs, nous pouvons utiliser des outils de déploiement automatisés. Deployer est un puissant outil de déploiement automatisé pour les projets PHP, qui peut nous aider à déployer du code et à configurer des serveurs de manière rapide et fiable. Cet article explique comment utiliser Deploye

Comment effectuer le réglage des performances et l'optimisation des ressources dans les projets PHP ? Comment effectuer le réglage des performances et l'optimisation des ressources dans les projets PHP ? Nov 03, 2023 pm 05:21 PM

Comment effectuer le réglage des performances et l'optimisation des ressources dans les projets PHP ? Avec le développement rapide d’Internet, de plus en plus d’applications utilisent PHP comme langage de développement. En raison de la facilité d'utilisation et de la flexibilité de PHP, de nombreux développeurs choisissent de l'utiliser pour créer leurs sites Web et leurs applications. Cependant, en raison de la nature dynamique et interprétée de PHP, certains développeurs peuvent être confrontés à des problèmes de performances. Cet article explorera comment effectuer le réglage des performances et l'optimisation des ressources dans les projets PHP afin d'améliorer les performances et la réactivité des applications. 1. Utilisez des structures de données appropriées

Mécanisme de cryptage des mots de passe dans les projets PHP Mécanisme de cryptage des mots de passe dans les projets PHP Jun 22, 2023 pm 10:25 PM

Dans les projets PHP, la sécurité des mots de passe est cruciale. Parce que le vol de mot de passe peut entraîner des pertes substantielles pour les utilisateurs et affecter le fonctionnement normal du système. Afin de protéger la sécurité des mots de passe, nous pouvons utiliser des mécanismes de cryptage des mots de passe. Le mécanisme de cryptage des mots de passe peut convertir les mots de passe en texte brut en mots de passe en texte chiffré, améliorant ainsi la sécurité des mots de passe. Même si un pirate informatique vole le mot de passe, il ne peut pas facilement obtenir le mot de passe en texte clair. Dans le même temps, le mécanisme de cryptage du mot de passe peut également empêcher les attaques malveillantes et les fuites de données internes. Dans les projets PHP, le mécanisme de cryptage des mots de passe peut être implémenté via

See all articles