PHP 的项目结构

2024-03-26

我是 PHP 新手,想了解 php 项目的目录结构。我有Java方面的经验,在java中我们有src包含java源文件,WEB-INF包含lib和jsp页面。 PHP 中有类似的标准目录结构吗? 我们在 php 中也有分层吗,就像我们在 java 中有分层一样(例如 Web、Service、DAO 层)

我浏览了几个链接。但每个人都给出了不同的答案。

不确定我们是否可以比较这两种语言。我只是想遵守一些标准。

提前致谢。


没有。 PHP 是您创造的。它可以是非常简单的平面文件,或者您想要的任何文件。

话虽这么说,有一些商定的编码标准,但这些标准没有“执行”。它们被称为 PSR(PHP 标准推荐)。这里有一个背景:http://net.tutsplus.com/tutorials/php/psr-huh/ http://net.tutsplus.com/tutorials/php/psr-huh/
您可以在这里一一查看标准:http://www.php-fig.org/psr/ http://www.php-fig.org/psr/

大多数主要框架都遵循这些标准,如果您打算使用一个标准,那么顺其自然可能会更容易。

同样,每个框架、项目、插件、程序等都有不同的布局和不同的项目结构。一个常见的结构是这样的:

-framework_dir
-public_html
    -js
    -img
    -css
    -index.php
    -protected/private
        -controllers
        -models
        -views
        -etc

然后他们使用.htaccess文件来阻止对受保护目录的访问。再说一遍,这只是我在几个框架中看到的常见表示形式。如果您正在进行个人项目,请使用您觉得舒服的东西。每个框架都会为您提供不同的库或访问数据的方式。没有“层”,但每个框架都有处理不同区域(电子邮件、数据库、缓存、http、日志等)的对象。因为有数十种流行的方法,所以您可以自行选择适合您的理念或项目的方法。观看一些 5 分钟的博客视频,看看有哪些精彩内容,然后试运行几天。如果您不喜欢它,请切换到另一个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 的项目结构 的相关文章

  • PHP 中 while (true){ 是什么意思?

    我看过这段代码 但不知道这意味着什么 while true echo Hello world 我知道什么是 while 循环 但是 while true 是什么意思 会执行多少次 这不是无限循环吗 虽然是无限循环 但您可以使用以下命令退出它
  • Curl 和 Php 5.3.3 中的 SSL 连接错误

    我的网站自 3 年来一直运行良好 代码如下 现在突然从 2 天开始出现以下错误 SSL 连接错误 在 Curl error 中 下面是我的代码
  • PHP - SQLite 与 SQLite3

    我已经使用 SQLite 2 8 17 制作了一个 Web 应用程序 我现在才发现有一个 SQLite3 在制作 Web 应用程序时 它以某种方式逃避了我的注意 可能是由于缺少 php 函数的文档 我想知道 使用 SQLite3 比 SQL
  • 如何在 PHP 中对数组和数据进行排序?

    这个问题旨在作为有关 PHP 中数组排序问题的参考 人们很容易认为您的特定案例是独特的并且值得提出新问题 但大多数实际上只是此页面上的解决方案之一的微小变化 如果您的问题因与此问题重复而被关闭 请仅在您能解释为什么它与以下所有问题显着不同的
  • 作为数据流写入 div

    考虑写入 div 的 AJAX 调用 recent req post result php d data function returnData content html returnData PHP 脚本位于result php执行一些需
  • 如何捕获 Symfony2/Silex 中的错误和异常?

    我想在我的 Silex 应用程序中捕获错误和异常 将它们包装在始终返回给客户端的自定义 JSON 响应中 我发现了三种基本方法 app gt error Symfony Component Debug ErrorHandler regist
  • 回显 HTML 并内置 PHP

    请帮助我使用 echo 与 HTML 和 PHP 使用数组范围将其转换为动态
  • 使用 laravel 检查活动用户状态

    这是非常标准的登录功能和验证 效果很好 但我还想检查用户是否处于活动状态 我在用户表中设置了一列 并将 活动 设置为 0 或 1 public function post login input Input all rules array
  • 使用 imagettftext 字体时出现问题

    这是当我更改有效网站的环境时收到的错误消息 Warning imagettftext function imagettftext Could not find open font 首先我以为这是因为缺乏文件权限 但事实并非如此 我检查了路径
  • PHP Imagick - “-量化透明”等效项

    是否有 PHP Imagick 等效项 quantize transparent 量化透明使用示例 http www imagemagick org Usage quantize color trans注意 在页面中搜索 量化透明 Quan
  • php_zip 在 php 5.3.5 中不存在

    我正在使用 PHPExcel 要求之一是我需要启用 php zip 如果您需要 PHPExcel 来处理 xlsx 或 ods 文件 您将需要 邮政编码扩展名 我正在使用 PHP v5 3 5 并在我的php ini文件中 我有以下几行 e
  • 撇号 php 问题

    我正在做一项涉及喊话箱的学校作业 一个很棒的教程 它使用 jquery ajax mysql 和 php 现在我遇到了以下句子的一个小问题 result li strong row user strong img src alt row m
  • 为什么我的变量超出范围? PHP

    语言是 Apache 2 2 服务器上的 PHP 5 4 这是一个由ajax调用的脚本 usr new User function getMyName echo usr gt username getMyName 由于某种原因 name 超
  • 根据相同的 XML 模式 (XSD) 加速一批 XML 文件的 XML 模式验证

    我想加快根据同一个 XML 模式 XSD 验证一批 XML 文件的过程 唯一的限制是我处于 PHP 环境中 我当前的问题是 我想要验证的模式包括 2755 行的相当复杂的 xhtml 模式 http www w3 org 2002 08 x
  • 使用 PKCS1 生成私钥 RSA

    有没有办法在 PHP 中通过 OpenSSL 生成私钥openssl pkey 新 http php net manual en function openssl pkey new php在 RSA 和 PKCS1 中 如果您的意思是带有
  • 关闭旧的 php websocket

    我在用PHP Websockets https github com ghedipunk PHP Websockets创建一个简单的聊天服务器 当我第一次运行在我的服务器上创建 websocket 的 php 脚本时 一切正常 如果脚本由于
  • 尝试在本地主机上测试我的 php 文件,但只出现一个空白页面,没有错误消息

    我正在运行 Apache 和 mySQL 因为我检查了所有日志 似乎没有任何错误 我的目标是每当有新的表单条目时就向特定地址发送电子邮件 我对后端和 PHP 缺乏经验 所以我不太确定哪里出了问题 任何帮助将不胜感激
  • 在 php 中回显 JSON 数据

    我正在尝试回显一些 JSON 数据 问题是数据包含变量 但我的代码没有将变量放入字符串中 这是我的代码 status row Status priority row Priority echo status status priority
  • PHP Soap Server:使用字符串(xml 字符串)而不是 WSDL 文件(指向它的 url)实例化

    Soap Server的PHP页面 我见过 http www php net manual en soapserver soapserver php http www php net manual en soapserver soapser
  • 是否需要使用fetch_object或fetch_array?

    我最近发现我可以打印数据库中的结果而不使用mysqli fetch object功能 例如 假设我们有一个简单的 sql select 语句 可以使用如下所示的语句来执行 conn mysqli connect localhost root

随机推荐

  • 如何将百分比变量格式化为小数点后两位?

    该程序基本上处理文本文件 读取数据并执行功能 while s hasNext name s next mark s nextDouble double percent mark tm 100 System out println Stude
  • android中如何区分480X800和480X854屏幕?

    如何区分 480X800 和 480X854 屏幕 我们可以选择将一张图像放在 hdpi 文件夹中 在我的情况下 480X800 图像不支持 480X854 图像 它在底部显示一个空白区域 有什么想法吗 编辑 我将图像设置为背景 在我的布局
  • wordpress 插件 -> 调用未定义函数 wp_get_current_user()

    我正在尝试使用函数 wp get current user 获取插件中的当前用户信息 但我越来越Call to undefined function wp get current user 显然发生这种情况是因为文件 wp includes
  • 如何路由用户配置文件 URL 以跳过控制器?

    现在我的用户个人资料 URL 如下所示 http example com users joeschmoe http example com users joeschmoe 这表明show用户控制器中的方法 我理想的做法是提供这样的用户个人资
  • Winforms DataGridView 中的超链接单元格

    我有一个包含以下数据的 datagridview ContactType Contact Phone 894356458 Email email protected cdn cgi l email protection 在这里 我需要显示数
  • 是否可以为每个商店定义 Magento 布局更新

    我有一个 Magento 安装运行两个不同的网站 一个销售电子书 另一个不销售 因此业务团队希望看到 我的下载 链接从应用程序 我的帐户 区域的客户导航块中删除 我可以看到 design frontend base layout downl
  • AttributeError:模块“keras.engine”没有属性“input_layer”

    我正在尝试使用谷歌colab 但我一直遇到 keras 的问题 它说 AttributeError 模块 keras engine 没有属性 input layer 然而 检查他们的github库 keras engine中有一个input
  • go build 与 strip 的 golang strip 符号

    为什么剥离符号不同strip and go build ldflags s w see here https stackoverflow com questions 29599209 how to build a release versi
  • Android:startActivityForResult 的 resultCode 总是为 0? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 由于某种原
  • 在rails控制台中查看回滚错误的原因

    我正在尝试通过 Rails 控制台更新记录 但收到回滚错误 Project find 118 update attributes featured gt true Project Load 2 6ms SELECT projects FRO
  • 从下到上显示活动

    我想展示一个activity到另一个从下到上的动画使用Intent 给我一些例子 如下所示 Intent i2 new Intent main this test class startActivity i2 从下到上有动画 在 res a
  • Linq - 在列表中按周分组

    我想按周对我的数据进行分组 如下所示 var result stats GroupBy i gt SqlFunctions DatePart week i date Select g gt new ReportModel clicks g
  • 如何计算两个单词之间的相似度以检测它们是否重复?

    我有两个单词 我想计算它们之间的相似度 以便对它们是否重复进行排名 如何使用深度学习 NLP 方法实现这一目标 这里有一些解决文本相似性的方法 基于字符串的方法 给定 2 个句子字符串计算余弦相似度 https stackoverflow
  • array_key_exists 不起作用

    array key exists 不适用于大型多维数组 对于前 arr array 1 gt 10 2 gt array 21 gt 21 22 gt 22 23 gt array test gt 100 231 gt 231 3 gt 3
  • 嵌入时间线中的多个推特提要

    我现在正在开发一个网站 其中会有多个公司简介 每个个人资料都需要有一个 Twitter feed 并且在每个 feed 中我需要能够包含至少 2 个 Twitter 用户的推文 正在分析的公司和网站的 feed 本身 可能还有第三个 我有点
  • 提示用户输入密码 - Google OpenID Connect

    我们正在尝试将 Google 的 OpenID Connect 用于商业网络应用程序 但担心用户会使应用程序保持打开状态 并且未经授权的用户将登录 因为用户仍然登录到 Google 因此 OpenID Connect 只是让他们直接登录 W
  • 如何从多个线程同时访问MySQL

    我们正在对 MySQL 进行一个小型基准测试 希望了解它对我们的数据的执行情况 该测试的一部分是看看当多个并发线程用各种查询攻击服务器时它是如何工作的 The MySQL 文档 http dev mysql com doc refman 5
  • 如何使用rest api将数据集作为csv文件导入到power bi?

    我想在 power bi 中自动执行导入过程 但我找不到如何将 csv 文件发布为数据集 我正在为此使用 C 解决方案 有没有办法做到这一点 您无法将 CSV 文件直接导入到 Power BI 服务中已发布的数据集 AddRowsAPIEn
  • 如果时区设置为“UTC”,SimpleDateFormat 会忽略“XXX”

    我正在尝试按以下格式将当前日期时间输出为 UTC 2016 01 11T14 08 42 00 00 final SimpleDateFormat formatter new SimpleDateFormat yyyy MM dd T HH
  • PHP 的项目结构

    我是 PHP 新手 想了解 php 项目的目录结构 我有Java方面的经验 在java中我们有src包含java源文件 WEB INF包含lib和jsp页面 PHP 中有类似的标准目录结构吗 我们在 php 中也有分层吗 就像我们在 jav