我是一名初学者,正在尝试为我的学生建立一个社交网络。知道学校有超过1000名已经活跃的学生,我必须有一个扩展/扩展我写的代码的计划。
之前它只是LAMP堆栈,现在现代的Web开发比我看到的更多,我真的有点迷失在使用什么技术以及如何将它们合并到构建可扩展的应用程序。我希望将这个应用程序分成3层。
这是我需要帮助的地方,这种设计方法是否适用于可扩展的应用程序?哪里可以改善?任何解释,进一步阅读的链接将受到高度赞赏。
答案 0 :(得分:1)
欢迎来到SO。我想不出一个特定的参考指南来引导你(虽然PHP manual是一个好地方,如果你最终坚持如何做某些具体的事情)。当你搜索"在PHP中开始使用MVC时,我建议你阅读一些结果"并注意到他们的意见。也就是说,看看下面我说的话(然后尽可能多地忽略它)。)。
首先,在启动项目之前,你比许多人更聪明地整理可扩展设计......
我很高兴在您的列表中看到Phalcon。然而,正如DevDonkey所建议的那样,首先从更简单的事情开始(Phalcon非常强大,但要真正掌握它,你需要很好地掌握PHP,特别是面向对象的编程)。
如果您对PHP完全不熟悉......
...尝试构建一个小应用程序(产品表,查看/添加/编辑/删除功能)并以this answer建议的方式学习语言的开头。事情会出错,当你想要改变一个特征时,你会发现很多令人头疼的问题而且它会影响其他一切,但这会帮助你理解......的重要性。
MVC设计
从你的问题我可以看到你至少听说过这个。这实际上是应用程序层的所在:
使用框架?
使用良好的框架可以使您的应用程序更可靠,更快速地构建。但是使用一个框架而不理解它将会令人沮丧,缓慢并且可能导致更糟糕的代码,而不是如果你没有开始使用它(因为你使用hacks来绕过你不喜欢的框架的部分)了解)。我目前最喜欢的是Phalcon,但作为PHP的相对初学者,我会建议更像CakePHP的内容,尽管Laravel和Symfony也很受欢迎。
<强>摘要强>
你在问题中列出的图层是好的,但我会稍微区分它们(考虑到MVC是3层)
第一个项目(适用于CakePHP)
如果您决定使用CakePHP,This blog tutorial是一个很好的起点。
Phalcon入门
Phalcon功能更强大/更具功能性,但是要开始使用它,我觉得你必须要成为比开始使用像CakePHP这样的东西更好的PHP开发人员。花点时间了解Phalcon的每个新概念,尤其是Dependency Injection。
即使过去两年使用CakePHP并熟悉MVC模式和PHP,我仍然在Phalcon的tutorials中完成了所有7个。
话虽如此,我最喜欢Phalcon的事情是高度解耦 - 所以如果它没有&#39,那么用你自己的扩展替换它的相当容易(过一段时间)你完全可以做你想做的事。
关于Phalcon的注意事项:它不像许多其他框架那样受欢迎(尽管人气越来越高),所以当你遇到困难时,你可能不得不花一些时间去挖掘。但是,文档一直在不断改进,forum非常活跃。不幸的是,与许多其他框架相比,在StackOverflow上回答有关它的问题仍然很少。