gpt4 book ai didi

php - 您使用什么 PHP 应用程序设计/设计模式?

转载 作者:IT王子 更新时间:2023-10-29 00:56:35 24 4
gpt4 key购买 nike

请与我分享您最喜欢的 PHP 应用程序设计/设计模式。我想知道的一些事情:

  • 您的文件夹是如何设计的
  • 如何在 PHP 应用程序中使用对象定向
  • 你有处理 CRUD、分页或任何其他常见任务的标准方法吗?
  • 如何避免使用重复代码?您对库/共享通用代码等的方法是什么?
  • 有什么方法可以让你的代码更优雅?

  • 您不必回答所有这些问题,回答其中的任何一个或几个都会有所帮助。

    我问这个的原因是因为我厌倦了用 PHP 编写重复的、丑陋的代码,我想为我的自由职业项目制作一个小框架,这将使编程更容易,让我专注于具有挑战性的/业务任务而不是表单验证、分页和其他普通的事件,这些事件占 PHP 编程工作的 80%

    所有意见表示赞赏!

    最佳答案

    我可能会因此被否决,但如果你真的想编写自己的框架,我会说去吧,因为你会从经验中学到很多东西。此处提到的其他框架都很棒且经过测试,使用它们不会做出错误的决定,但这是您的选择。

    在开始编写您的框架之前,请查看其他框架(查看它们的语法、目录结构、命名模式、设计模式等)并尝试弄清楚它们为什么会这样做,以及如果有的话,您会以不同的方式做些什么。尝试一些教程并使用他们的代码,制作一些示例应用程序。如果这样做之后,您不喜欢使用它们,那么继续并开始规划您的框架,保留有效的并改进无效的。

    如果您决定自己动手,我会根据自己的经验推荐以下几点:

  • 将安全放在首位 - 如果
    你写一个数据访问层,使用
    绑定(bind)参数。如果你写一个表格
    类,防范CSRF和XSS。
    捕捉您的异常并处理您的
    错误。确保您的 PHP
    环境是安全的。不要尝试
    想出你自己的加密
    算法。如果你不专心
    关于安全,不值得写
    你自己的框架。
  • 评论您的代码 - 你会需要
    帮助您记住方法的评论
    你的代码在一段时间后工作。一世
    通常会发现 docblock 评论
    绰绰有余。除此之外,
    评论你为什么做某事,而不是
    你做了什么。如果你需要解释
    什么,你可能想要重构。
  • 单一职责类和
    方法
    - 你的大部分类(class)和
    方法应该只做一件事
    一件事。特别注意
    这与数据库 - 你的
    分页类不应该依赖
    您的数据访问对象,也不应该
    几乎任何其他(低级)类。
  • 单元测试 - 如果你的每一种方法
    只做一件事,应该很远
    更容易测试它们,它会
    产生更好的代码。编写测试
    首先,然后是通过的代码
    测试。这也会给你更大的
    以后无需重构的自由
    打破东西。
  • 抽象相似类 - 如果你
    有不止一个类(class)
    类似的事情,创建一个父类
    使用之间的相似性
    类并扩展它。
  • 委托(delegate)和模块化 - 如果你是
    编写验证系统(和
    你很有可能会),
    不要将每个验证器作为
    一些 super 验证中的方法
    类(class)。将它们分成单独的
    类并根据需要调用它们。这个
    可以应用于很多领域:
    过滤器、语言、算法、
    验证器等等。
  • 保护和私有(private)化 - 多数情况
    在这种情况下,最好使用 getter 和
    setter 方法而不是允许
    直接访问类变量。
  • 一致的 API - 如果你有
    render() 方法和 draw() 方法
    在不同的地方做同样的事情
    类,选择一个并继续
    跨越所有类(class)。保持顺序
    方法的参数相同
    使用相同的参数。一致的 API 是更简单的 API。
  • 记住自动加载 - 类
    名称可能会变得有点笨拙
    很长,但是 Zend 命名的方式
    类和组织目录
    使自动加载更容易。 更新 :从 PHP 5.3 开始,您应该开始使用命名空间。
  • 切勿回显或打印任何内容 - 给
    它作为返回值并让用户
    决定是否应该回显。很多
    有时你会使用返回值
    作为另一个方法的参数。
  • 不要试图解决世界的问题
    问题
    - 先解决你自己的问题。如果
    你现在不需要一个功能,
    就像一个用于本地化数字的类
    或日期或货币,不要写。
    等到你需要的时候。
  • 不要预先优化 - 建立一些
    与您的简单应用程序
    微调之前的框架。
    否则,你可以花很多钱
    没有任何生产力的时间。
  • 使用源代码管理 - 如果你花费
    无数小时创造一个
    杰作,不要冒险获得
    丢失。
  • 关于php - 您使用什么 PHP 应用程序设计/设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/548399/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com