【问题标题】:A noob needs some quidance on php, mysql programming菜鸟需要一些关于 php、mysql 编程的知识
【发布时间】:2025-08-22 01:40:02
【问题描述】:

我正在开发一个(约会、社交)网站。基本上,它是一个数据库系统,注册用户可以在其中搜索、更新自己的数据、互相发送消息、上传照片。我是网络编程的菜鸟。我正在逐行编写代码(html、css、php、sql 查询)。当我只有 3-4 页(注册、个人资料更新、搜索、联系人列表)时还可以,但现在它变得越来越复杂(15-20 页),我发现很难跟踪函数、变量、css id等等。此外,我被要求尽快添加更多功能(用户博客、论坛),这将使其变得更加复杂......

我想从专业人士那里得到一些指导,以加快开发过程。我有一个半就绪的系统,有我自己的数据库表、php 文件和函数。而且我有一些编码经验。我使用 Eclipse,但我只将它用作文本编辑器。

那么,下一步是什么?您会使用哪些开发工具来编写这样的系统?

谢谢。

【问题讨论】:

  • 考虑使用一些 php 框架,这将开发您的代码,并使其更具可读性。将来向您的页面添加新内容会更容易。
  • 我要做的是学习 OOP(面向对象编程),它基本上代表将所有代码分组到几个类中。在你熟悉它之后,花一些时间学习一个 php 框架,它将让您的生活更轻松
  • 这是一个很大的问题,需要很深入的回答;如果有人提供了一个可以解决问题的答案,那么我会为他们鼓掌。你问的问题通常会通过一些教育来回答,比如一门课程或一本书,也许是一位经验丰富的朋友或你自己一段时间的经历。我个人可以给出的唯一快速回答是选择并使用流行的 PHP 框架之一,因为它们已经解决了您正在努力解决的一些更大的组织问题——然后,您可以随时观察它们是如何解决的做到了。
  • 看起来你是在重新发明*,有许多开源社交网络框架默认带有上述所有功能。使用这样一个完善的框架将为您节省大量时间并教您最佳实践。此外,随着您扩展默认功能,您也不可避免地会获得编码经验。我个人建议使用 Elgg (elgg.org),这是一个构建良好的框架,具有良好的文档和活跃的社区。​​span>
  • @András Szepesházi 有些客户可能需要从头开始:)。 @tonykx 因为你已经开始你想要使用一些组件库。所以 zend 框架是一个不错的选择,不要发明这么多东西。你可以分开类,这样对于某个表它有一个类。这可能对你有帮助去上课并寻找一种你已经建立的方法。学习新的东西会在几周内降低你的工作效率,但在那之后它真的会是一个很好的方法。就像从 A 到 Z 然后学习如何写作字母。所以不要害怕,跳跃和学习。希望你也在使用 vcs

标签: php mysql social-networking


【解决方案1】:

我有一些一般性的建议,我认为这些建议可以帮助在任何编程领域起步的人

  1. 找到其他人做同样的事情,并与他们讨论他们是如何做到的。他们不必都是专家,因为您仍然可以向其他初学者学习,但不要与初学者交谈,否则您只会学习坏习惯 :)

  2. 尽可能使用其他人的代码。您在网上找到的框架、库和示例。如果它是很多人使用的框架或库,那么请继续使用它,随心所欲地使用它。如果它是您在博客或其他东西上找到的示例,那么请确保您真正了解它的作用,因为那里的很多东西都是垃圾!

  3. Eclipse 可以作为文本编辑器使用,许多其他编辑器也是如此。更改文本编辑器不会使您的代码更好或更易于管理。拥有您喜欢使用的开发工具可以使整个过程更加愉快,但这并不像您在网上阅读时所猜测的那么重要。花两周时间学习新的编码环境并不能帮助您控制项目。

  4. 尽量确保您通过Joel Test 的次数尽可能多,即使是在一个人的团队中。您应该能够至少对问题 1、4、5、6、7 和 10 回答“是”。

【讨论】:

    【解决方案2】:

    OOP,我建议看看其他开源社交网站/引擎,看看是否, 1)可以迁移(因为你的已经准备好了,根据你) 2)可能重用他们的框架/底层模型。 并且由于您将为现有功能添加更多功能,因此我建议您查看以下内容:

    仅供参考 [1] 社交引擎网http://www.socialengine.net/ [2] 社交网络引擎比较(维基)

    至于编码 IDE/开发工具/技术,如果您的环境是 php 集成的(动态功能/方法查找),您将提高工作效率。

    【讨论】:

      【解决方案3】:

      我强烈建议使用 Zend、Symphony 等 PHP 框架,而不是简单地编写 PHP 文件。它将帮助您使用称为 ORM 的数据库查询来帮助您从不同的数据库服务器(如 Oracle、MySQL 等)移植。除此之外,您的问题需要一个非常详细的答案。尝试查找一些有助于它们的软件开发实践和工具(例如 trac、svn 等)。我发现这些可以帮助我组织起来并遵守时间表。 您希望服务多少用户?考虑一下您的设计的可扩展性。

      【讨论】: