PHP学习曲线

时间:2010-09-21 13:01:16

标签: php

  

可能重复:
  What to do after learning basic PHP?
  How to increase my “advanced” knowledge of PHP further? (quickly)

您好,

上个月我开始学习PHP,现在我知道如何使用基本的php创建网站。我想进一步了解,但我不知道转向哪种方式。

我听说过codeigniter,zend,cakePHP等框架,但不知道它们的用途。它们应该是我的下一步吗?我目前正在使用NetBeans。

我看看其他php脚本以及它们的直接结构如何整洁并分类到文件夹中,而我的所有文件都在根目录下。我如何学习正确创建脚本结构?

我还想学习如何使用模板,框架是否有帮助呢?

另外,我在大学学习Java。 OO PHP应该是我的下一步吗?

基本上,从初学者到掌握者的路线图是什么?

11 个答案:

答案 0 :(得分:6)

我会说,这样做:

  1. 学习PHP基础知识(你做了那一步)
  2. 学习面向对象的PHP
  3. 熟悉设计模式
  4. 学习使用框架
  5. 需要很多“侧面知识”来获得经验,比如使用PHP扩展和公共库。 不是只读,请亲自动手,确保您编写了大量代码以获得体验。继续提问并让其他人审核您的代码。

    我建议书籍/参考文献:

答案 1 :(得分:5)

我建议你读一两本好书。这些将为您提供比您在网络上可以找到的任何资源更多的见解和知识。

例如A Step-By-Step Guide to Creating Dynamic Websites  和PHP and MySQL Web Development

答案 2 :(得分:3)

基本上它只是尽可能多地工作。每天4-8小时,持续2到10年,我不是在开玩笑:)

这是一个非常简短的列表,可以成为一名优秀的php程序员;

  1. 自学面向对象编程
  2. 禁止自己在库中组织代码并将它们放在目录中
  3. 在维基百科上阅读“不要重复自己”和“约定配置”
  4. 自学Ruby(和/或Python)(是的,真的),并使用你学到的东西。
  5. 了解设计模式
  6. Google for phpdoc和phpcs并开始使用这些工具。
  7. 当您完成一段代码后,请使用您所学的内容再次编写
  8. 按照一些PHP框架的教程进行操作。
  9. 从以数据库为中心的项目开始时,请遵循Doctrine教程。
  10. 编写大量代码,等待几年后再对你写的东西感到满意。

答案 3 :(得分:2)

随着PHP的发展,PHP正变得越来越OO,所以如果你有基础知识,那肯定是一个很好的下一步。

了解一些实体框架(或者可以将它们放在一起),以便与数据库交互并使用PHP对象来表示表数据。

此外,您可以查看一些PHP MVC框架,因为MVC现在变得非常流行,其“东向测试”思维模式和逻辑分离。

答案 4 :(得分:2)

忘了所有关于OOP和Zend以及大男孩的事。

我认为你应该做的是研究跨语言的相似之处,现在这可能不是确切的术语,但不能解释我的意思。

所有语言都有相似之处,但处理方式不同,例如:

  • 类型转换
  • 逻辑陈述
  • 条件
  • 按位运算符
  • 等。

现在,当我谈到类型转换时,我说的是能够更改Array > Object等数据类型,在PHP中,这可以像(object)$array一样实现,但是你需要完全了解它的确切做法以及执行此类任务所需的位置。

现在关于像逻辑语句这样的事情我不仅仅是在这里和那里讨论IF语句,请确保你完全理解发生了什么以及表达式是什么,请看这些例子:

  • if($a = $b)
  • if($a == $b)
  • if($a === $b)
  • if($a !== $b)
  • if($a != $b)
  • if($a < $b)
  • if($a > $b)
  • if($a <> $b)
  • if($a >= $b) ..等等

你知道吗?

一旦你对这些编程实体充满信心,那么你可以进入下一个级别,不仅仅是创建一个类并使用它,而是能够理解如何充分利用OOP: )

目前您的编程风格就是我们所说的程序编程,它基本上以您的思维方式编写,在您的脑海中,您认为您希望在应用程序中回显某些内容然后如此你只是回应'一个字符串'; 但随着你对事情的深入了解,你将开始学习HTTP如何工作,你必须知道你不能总是只是发送内容的一半你的APP,因为它容易出错等等。

当你进入更复杂的架构/方法(例如OOP, MVC, ORM等)时,通过充分理解上述内容,您可以更加适应,而且您不仅仅是一个脚本小子,不是个人 ..

在再次触摸PHP脚本之前也要进行后续处理。

  • 去买粉笔板,必须黑色
  • 在光线充足的环境中进行设置
  • 确保你有白色粉笔
  • 在主板上写100次
  

我会读一本书和书,无论看起来有多难,我都会阅读至少一本书

希望这可以帮助你成功先生

答案 5 :(得分:2)

创建一些您可以使用的简单内容。我是一个系统管理员,并且将永远是一个系统管理员,但是当工作中的事情变慢时我会选择PHP。我发现需要一个帮助台系统,所以我开始从头开始编码。我找到了如何在线做不同事情的例子,然后把它拆开并在我的代码中使用它。关键是重复,保持编码,你会变得更好。你会犯错误而且会感到沮丧,但过了一段时间它就会自然而然地发生在你身上。

答案 6 :(得分:2)

知道你已经学过的东西会很高兴,但这是我学习PHP时的所作所为:

  • 语言基础知识(变量,条件,循环,函数等)
  • 面向对象的PHP(类,继承,......):一开始它可能有点令人困惑,但你很快就会意识到它在保持代码组织方面有很大帮助
  • 对象关系映射(doctrine,...)
  • 有关设计模式(尤其是MVC)的一些阅读将帮助您更好地理解事物
  • 使用以前的技能正确组织项目结构
  • 关于HTTP的一些阅读总是有用的
  • 尝试使用PHPDoc正确记录您的代码
  • 面向对象的PHP框架:有很多选择,只需尝试选择你最喜欢的一个(我选择了Zend,但CakePHP现在看起来很有趣)

对于每个步骤做一个简单的项目来应用你学到的东西,这是改进的最佳方法。我认为直接跳到框架是一件坏事,可能会令人困惑。我至少会首先尝试使用面向对象的PHP。

另一件好事是尝试其他语言,如Python或Java。我的Java知识阻止我在PHP中做坏事并帮助理解OO编程。

最后,如果您遇到问题,请在Stackoverflow上发布问题:)

答案 7 :(得分:2)

PHP是一门优秀的语言,需要学习很多东西,我建议您:

我希望这些提示可以帮助您了解有关php的更多信息。

答案 8 :(得分:1)

我同意面前的评论。 在开始使用php时,只有一本关于一本对我有很大帮助的书: George Schlossnagle的高级PHP编程

它教你编码风格,设计模式最佳实践......

答案 9 :(得分:0)

学习PEAR和PECL扩展,它们是用PHP编写的分布式组件。有助于开源项目,如Drupal或codeignitor等。

答案 10 :(得分:0)

我买了两本关于学习OOP PHP的Sitepoint书籍。现在几岁了,但是它们中的参考是惊人的,你得到一个带有正则表达式和常用功能的大量拉出图表,在我的桌子上总是坐在我身后: - )