在大型网站上实现的功能序列,

时间:2011-10-16 22:45:46

标签: php web-applications scalability social-networking

我一生中大部分都是营销人员。然而,我最近决定换档并学习编程,以便我正在开展一项雄心勃勃的初创企业。基本上,该项目基于社交网络元素(跟随,提要,帖子,通知等)的元素,但有一个扭曲。我想知道我应该以什么顺序编写网站基础设施的代码。我认为生病首先在MYSQL中写下整个数据库模式,然后用PHP编写所有数据库查询,然后创建注册页面,然后用PHP编写网站的整个后端。这种方法是否正确?我将非常感谢你能给我的任何指示。我应该先从后端开始吗?高可伸缩网站的一些基础架构组件有哪些我最好建议用C ++而不是PHP?

由于

2 个答案:

答案 0 :(得分:2)

您所描述的是经典Waterfall Model。它几乎从不起作用,因为规格会因为

的组合而改变
  • 客户(您的情况下启动)更改了要求
  • 客户与软件的alpha版本进行交互
  • 你意识到某些事情可以用不同的方式解决

因此,我建议您按功能实现功能。从一个空数据库和一个只连接到该数据库的php脚本开始,然后在下一个数据库之后实现一个功能。

对于每个功能,确定需要添加哪些数据库字段。您是否可以使用现有数据库条目或重构数据库以容纳新的表和行?

然后,您可以同时或一个接一个地执行以下三个步骤:

  • 更改代码中数据库对象的模型。模型的基本测试将为您节省大量的毛发。
  • 添加控制器以执行新操作,或修改现有操作。同样,控制器测试对于确保您以后不会破坏该功能至关重要。
  • 添加或修改视图(HTML / CSS / JavaScript)。如果您不确定该功能应该做什么,可以从视图开始,并向管理层提供粗略(仅HTML)版本。如果更改请求开始与元素的精确位置或颜色相关,则您知道自己处于正确的轨道上。您可以手动(使用不同的浏览器)和/或Selenium测试视图。

既不需要严格的MVC也不需要测试,但它们可以大大简化软件开发,并且可以确保您的代码实际上可以在生产中使用。

答案 1 :(得分:0)

PHP具有一些与MySQL数据库交互以及将SQL命令发送到数据库服务器的强大功能。

您的数据库结构应尝试获取您网站的所有数据元素(用户详细信息,消息,注释等),并将该信息分解为最合乎逻辑且最有效的结构。这是通过将大量数据分解为逻辑和离散表来实现的,使用索引号(主键)或您希望将每个表中的元组关联的字段(外键)引用。

将数据库置于此阶段称为第4范式(4NF)或Boyce Codd范式(BCNF)。

一旦找到了数据库的结构,就可以使用SQL命令查询它,将数据放入某个表中或检索它。

假设您使用PHP的mysql_query ( string $query [, resource $link_identifier ] )http://www.php.net/manual/en/function.mysql-query.php),则可以将SQL数据加载到数组中,并在某些HTML中打印出数据。

一旦实现这一目标,您可能还希望使用PHP $_SESSION global var来跟踪任何已登录的用户。此全局使用cookie来跟踪经过身份验证的用户,对于登录用户非常有用。您需要在代码中实现一些日志记录以匹配用户名和密码,然后创建会话,如果这是一个很好的传递。

希望它有所帮助! :)