Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正确编写PHP代码,建议新手进行OO编程_Php_Oop - Fatal编程技术网

正确编写PHP代码,建议新手进行OO编程

正确编写PHP代码,建议新手进行OO编程,php,oop,Php,Oop,我即将开始编写一个新网站。我的问题是,我仍然坚持使用老式的编码方法 我最近从Question2Answer.org下载了一些开放源代码,并对它的设置非常感兴趣 有人知道任何消息来源吗?或者我可以下载一些东西,一个模板或例子来帮助我开始一个新网站? 这个网站不会有什么特别之处,但我想开始进入Web2.0和OO编程。 简言之,我想把它做好。任何建议都将不胜感激。人们选择PHP作为服务器端脚本语言是有原因的。它非常容易挑选,并提供了许多不同的编码选项。许多函数在导入之前都不需要知道,如果不想,也不需要

我即将开始编写一个新网站。我的问题是,我仍然坚持使用老式的编码方法

我最近从Question2Answer.org下载了一些开放源代码,并对它的设置非常感兴趣

有人知道任何消息来源吗?或者我可以下载一些东西,一个模板或例子来帮助我开始一个新网站? 这个网站不会有什么特别之处,但我想开始进入Web2.0和OO编程。
简言之,我想把它做好。任何建议都将不胜感激。

人们选择PHP作为服务器端脚本语言是有原因的。它非常容易挑选,并提供了许多不同的编码选项。许多函数在导入之前都不需要知道,如果不想,也不需要编写OO代码

这一切也导致了巨大的失败,因为对代码结构的限制较少,所以编写糟糕的代码要容易得多

我建议使用一个框架。它为您节省了时间、精力和编写错误代码的机会:

CakePHP是PHP的快速开发框架,它为开发、维护和部署应用程序提供了一个可扩展的体系结构。CakePHP在convention over configuration范例中使用常见的设计模式,如MVC和ORM,可以降低开发成本并帮助开发人员编写更少的代码


这个问题似乎没有得到很多答案,所以我会尝试一下(尽管我会推荐一种不同的语言,只是因为PHP是一种非常有用的语言)。PHP是我第一个用它来写任何大文章的语言,我希望我当时知道的一件事就是MVC设计模式。它有一些优点,如:

  • 逻辑和UI的分离意味着更少的特殊代码,更多的函数(试着遵循“每个函数只做一件事”的规则——当你回头看代码时,这会让事情变得更容易)
  • 函数比没有函数的巨大页面更容易验证正确性
  • 函数可以是(执行此操作!)
  • 更容易确定事物的位置(数据库逻辑在一个文件中,HTML在另一个文件中,而“控制器”逻辑在另一个文件中)
这是一个很好的例子

要点:

  • 模型与数据库(或您正在使用的任何其他存储)通信
  • 视图显示内容(HTML)
  • 控制器执行其他所有操作
我找到了两个好看的PHP MVC教程和。希望他们不会太复杂,如果有什么不合理的地方,可以随意问更多的问题

祝你好运


别忘了这一点!如果你找不到一种方法来单元测试一个函数,它可能太复杂了。

IMO MVC(以及这个OOP)没有什么特别的。它基本上是一个函数,用于在数组中注册指向函数的指针,例如钩子。这个数组被另一个函数用来做一些事情。一个好的MVC应该有一个回调函数。在我看来,面向对象编程更像是一种商业逻辑,可以帮助您将应用程序货币化。这其实并不难理解。

如果您刚刚开始学习,我强烈建议您使用不同的语言。你不会学到PHP的良好实践。我选择PHP的原因是因为我最熟悉它。但我想把它提升到一个新的水平。你还推荐什么语言?如果你想做网络编程,我会看看Python(我最喜欢的)、Java(可能是大型网站最流行的语言;通常是大学里的入门语言)或Ruby(在大型社区中非常流行)。你可以使用类似谷歌应用程序引擎的东西:它有相当高的免费配额。Python有一个巨大的页面列表选项:更不用说你可以在你的机器上安装这些选项。codeigniter也是一个很好的框架和学习OO技术的来源请允许我提出我最喜欢的框架:不过,使用面向对象框架通常意味着你也必须学习MVC。这很适合OP的学习能力吗?如果您希望学习PHP和OOP实践,请不要直接进入某个框架。你不会学习语言,你会学习框架。掌握好PHP,然后学习一个框架来更快地优化和生成代码。我想更熟悉MVC风格的编码,这很有意义。但是,如果不需要,我不想依赖框架。