noob需要一些php、mysql编程方面的指导

noob需要一些php、mysql编程方面的指导,php,mysql,social-networking,Php,Mysql,Social Networking,我在一个(约会,社交)网站上工作。基本上,它是一个数据库系统,注册用户可以在其中搜索、更新自己的数据、相互发送消息、上传照片。我是网络编程的高手。我正在逐行编写代码(html、css、php、sql查询)。当我只有3-4页(注册、个人资料更新、搜索、联系人列表)时还可以,但现在它变得越来越复杂(15-20页),我发现很难跟踪函数、变量、css ID等等。此外,我被要求添加更多的功能(用户博客,论坛),这将使它变得更加复杂 我想从专业人士那里得到一些指导,以加快开发过程。我有一个半成品系统,有我自

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

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

那么,下一步是什么?您将使用什么开发工具来编写这样一个系统的代码


谢谢。

哦,我建议大家看看其他开源社交网站/引擎,看看是否, 1) 迁移是可能的(根据您的说法,您的迁移已经准备就绪了一半) 2) 尽可能重用他们的框架/底层模型。 由于您将在现有功能上添加更多功能,我建议您查看以下内容:

供参考 [1] 社交引擎.Net [2] 社交网络引擎比较(通过Wiki)


至于编码IDE/开发工具/技术,如果您的环境集成了php(动态函数/方法查找),您将提高生产率

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

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

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

  • 尽可能使用他人的代码。框架,库,你在网上找到的例子。如果它是一个很多人都使用的框架或库,那么你可以随心所欲地使用它。若这是你们在博客上找到的一个例子,那个么请确保你们真正理解它的作用,因为很多东西都是垃圾

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

  • 试着确保你通过了尽可能多的比赛,即使是在一个一人的队伍中。对于问题1、4、5、6、7和10,您应该能够回答“是”


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