2KB项目,专业的源码交易网站 帮助 收藏 每日签到

如何正确构建 PHP 项目

  • 时间:2019-01-23 18:26 编辑:2KB 来源:2KB.COM 阅读:305
  • 扫一扫,手机访问
  • 分享
摘要: 英文原文:How
英文原文:How to Properly Structure Your PHP Projects

作为一名 PHP 开发人员,你首先需要学习的其中一项就是框架的使用,例如流行的 CakePHP 和 Symfony 。当你在作为一位 PHP 开发者的职业生涯中一直使用这些格式时,你会发现有时候你很难从它们中获取你想要的。当你有一个具体想要实现的项目或者想法,你可能会发现没有一个合适的架构。

作为一位开发者,你很难有时间从成百个不同的 PHP 结构中找到一个最适合你的项目。如果你真的决定使用框架,你可能最终会以选了一个你根本不需要的结构。而且,这还会是一个臃肿而且可能会产生功能问题、降低维保速度的结构。

何为好的结构

第一步我们会建议查看如何将你的业务逻辑和其他所有事情分开。大部分的 PHP 开发者喜欢将逻辑和展示混在一起,但是这从长远来看会引发很多问题。尤其是如果你作为一个团队的开发者,你的同事就需要重审你的代码。如果你单独开发,你也要重写代码来添加功能、修复漏洞。一个清晰可读的代码会帮助你更快地完成你的项目。

你还需要记住的是某一天你的应用可能会流行起来,然后会被世界上百万的用户浏览。即使你现在没打算,但是使用一个翻译器来将你的代码翻译给全球的观众对你是有好处的。我们会建议你在你的代码里留有此翻译用来以防万一。

PHP 模板引擎

在你所有项目中使用模板引擎将节省大量时间。Blade是当今市场上功能最强大的模板引擎之一,它甚至内建于 Larvavel 4 框架中。

你可以使用的另一个流行的模板引擎是 Mustache。因为 Mustache 的简单易用,它也可以嵌入任何你能想到的编程语言中。它也被宣称为非逻辑模板引擎,这意味着它将只包含创建你的项目所需模板的最小文件集合。

使用模板的好处

使用模板最大的优点在于,它们有助于将业务逻辑与展示层分开。模板的责任是显示组织好的文件和用户可读的内容。然而,模板对于任何其他复杂的任务(如搜索或操作代码库)无能为力。

在某种程度上,模板引擎将迫使你拥有更整洁和更有条理的代码,而且我们都知道,这是非常重要的。模板也适用于代码重用,因为它们被放置到“views”文件夹中。 从 views 文件夹来看,你可以将大块代码分解成小的可重复使用的块,最好的例子是页面的页眉和页脚。

常规 PHP 项目代码架构

我们来看看由 Blade 生成的示例模板结构:

  • Source File

    • _config

    • config.environment.php

    • config.settings

  • _includes

    • blade

    • class.translator.php

  • _js

    • jquery

  • Template

    • _cache

    • _css

    • _translations

    • index

  • pages

    • index.php

    • .htaccess

Config 文件夹将会是你的主要组件的主文件夹,比如配置变量、数据库、类等等。如果有 PHP 字符串中包含配置变量,那么它们就应该被存储在你在上述架构中看到的配置文件中。 如果你使用了本地或者生产数据库环境,那就可以将对它们的配置存储在“config.environment.php”文件中。

你也会注意到,我们已经在这个模板中包含翻译器(translator)类,以便为上面所提到的未来用户翻译代码。当涉及到 JavaScript 文件时,你可以清楚地发现我们还创建了一个名为 “_js” 的文件夹。在这一个文件夹中,应该添加的是最新的 jQuery 文件以及所有其他的 JavaScript 文件。

Config 文件的特殊用途

使用你的配置文件也是所有 PHP 程序员应该学习的另一个重要概念。 如果你正在使用例如本地和生产环境等多种环境,则强烈建议你为每个数据库使用配置文件。一旦你为每个数据库设置了配置文件,你就可以从一个环境切换到另一个环境,而无需更改任何实际代码或导致应用程序中的错误。

结语

为了使 PHP 结构中获得最佳效果,建议使用模板引擎。你可以始终从零开始构建自己的结构,但是并不推荐这种方法,因为它可能非常耗时,并且可能会导致一些长期的问题。 模板引擎的观点是,他们将为您提供设计结构的自由,因为你认为适合你的项目的目标并没有复杂性。

你也可以试试像 CakePHP 这样一个知名的框架,但总的来说,对于具有特定要求的项目来说,这个框架是非常宽泛的。如果你的项目最终成为可以在系统中找到的多种功能的综合体,那么使用可以满足你需求的框架才是最好的选择。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部