<分区>
我刚刚开始使用类,而不再使用过程式编程。
但是我在前进的过程中有一些疑问。
1 - 正如我在标题中所写,我应该开发多少类?
到目前为止,我已经为站点的注册/登录部分开发了以下类:
- 数据访问层(几乎每个类都会调用)
- 注册(验证表格并发送包含激活码的电子邮件)
- 用户登录
- 激活(检查代码/发送带有新代码的新电子邮件)
- 通过恢复(检查恢复代码/发送带有新代码的新电子邮件/处理新密码表单)
- 通过加密(从寄存器调用并通过恢复并使用 bcrypt)
例如:
- 在注册、激活和恢复中,我都发送电子邮件。我应该创建一个“邮件”类吗?
- 在注册、登录、激活、恢复中我使用 token 和验证码..同样的问题..
你明白我在问什么吗?
2- 另一方面,我将在用户登录后创建一个 session 。
我必须检索用户信息,例如:用户名、ID、积分、操作历史、广告(由用户创建以及其他存储但由其他人创建的信息)。
我不知道如何开始。我应该创建类,例如:
- 个人信息(更新)
- 操作
- 学分
- 广告(他创建的一个类,另一个他想存储的类)
我真的很困惑,我还没有找到关于如何组织每个阶段/部分的明确信息..
这取决于你想要做整个网站的方式。对于大型网络,有必要使用 MVC框架( Zend 、 Symfony 、 Yii 、 CakePHP 、 Silex ,每一个都有优缺点,一如既往地取决于您的需求)。
在这些情况下,与数据库相关的任何内容都会进入模型,从而留下 DBAL到 MVC 引擎,让您可以将数据库对象用作类。
表示层中的任何东西(也就是说,任何以一种或另一种方式显示信息的东西)都是一个 View ,它只不过是带有一些 echo
的 HTML 文件调用参数或模板变量,以防您想使用像 Smarty 这样的模板系统.
任何与你的系统如何做事相关的都是 Controller 的 Action ,它适合另一个类 Controller ,也抽象做事的方式。
在您想要验证输入、处理 session 等情况下,这实际上取决于您使用的框架。就我而言,我习惯了 Yii,它允许您创建称为组件(又是类)的东西来管理肯定会在其他项目中重用的东西。
每个类(组件、模型、 Controller 等)都扩展了一个不同的父类,因此,尽管它们都是类,但每个类都有特殊的方法,使它们在执行某些任务时更加实用。
如您所见,几乎所有东西都可以是一个类,这取决于您的需求、您的框架选择和您的风格,以及如何对它们进行编码。