学习PHP – 开始使用框架或否?

我注意到我所在地区的 PHP工作很多.我以前从来没有使用过PHP,如果我拿起它可以获得更多的机会,那么这可能是个好主意.问题是PHP没有任何框架是丑陋的,99%的时间真的很糟糕的代码.我看过的所有教程和书都是非常糟糕的 – 它从来没有表现出任何一种好的编程习惯,但总是快速而肮脏的做事方式.恐怕尝试以这种方式学习PHP只会将这些不良做法印在我的脑海里,让我浪费时间,以后再试图解除这些错误.我以前使用C#,所以我熟悉OOP和软件设计模式等等.

我应该尝试通过使用一个更好的已知框架来学习PHP吗?到目前为止,我已经看过了CakePHP,Symfony和Zend框架. Zend似乎是最灵活的,而不是像Cake和Symfony那样受到限制(尽管Symfony似乎比CakePHP更难受限制,而CakePHP的尝试太难以成为Ruby on Rails),但是很多Zend教程都认为你已经知道PHP和想学习使用框架.

学习PHP的最佳机会是什么?但是学习使用真正的软件工程技术而不是意大利面条代码的GOOD PHP?似乎所有的PHP书籍和资源都假设你只是使用原始的PHP,因此展示了bade的做法,或者你已经知道PHP,因此甚至不会触及到语言的一部分.

入门

如果你正在尝试学习PHP(没有PHP经验),我想你应该首先拿起一个简单的框架像Codeigniter.当观看屏幕录像时,您将发现使用Codeigniter,您可以在20分钟内创建一个简单的blog.我不认为你可以用简单的PHP代码代码,因为codeigniter已经有以下坚实的基础:

> MVC:在我看来,这有助于您编写干净分离的代码.

MVC is a software approach that
separates application logic from
presentation. In practice,it permits
your web pages to contain minimal
scripting since the presentation is
separate from the PHP scripting.

> Database:这个模块可以帮助你很多数据库的痛苦.

CodeIgniter comes with a
full-featured and very fast abstracted
database class that supports both
traditional structures and Active
Record patterns. The database
functions offer clear,simple Syntax.

> Easy:codeigniter真的很容易拿起,这是一个巨大的加分.

CodeIgniter is installed in four steps:

  1. Unzip the package.
  2. Upload the CodeIgniter folders and files to your server. Normally the
    index.PHP file will be at your root.
  3. Open the application/config/config.PHP file
    with a text editor and set your base
    URL. If you intend to use encryption
    or sessions,set your encryption key.
  4. If you intend to use a database,open the
    application/config/database.PHP file
    with a text editor and set your
    database settings.

> Fast:Rasmus(PHP发明家)在那里做了许多PHP框架(幻灯片24-32)的基准测试,您可以看到Codeigniter与其他一些框架相比表现良好.另外我想注意到,大多数从http://talks.php.net/幻灯片真的很好.

学习PHP

在过去我偶然发现Matt Zandstra’s PHP book这是非常好的,我想你应该阅读它来正确学习PHP.

PHP“最佳”做法:

“清洁”代码

>学习Recess PHP框架.我也很喜欢这个框架.它将帮助您创建休息类应用程序.
>学习TDD / PHPunit来正确测试你的代码.
>学习MVC.
>学习OOP.

性能

> APC:如果一切可能,你应该真的安装apc来加快PHP.它会将PHP操作码存储在内存中(巨大的巨大提升).
> Memcached:当您的数据库负载过重时,您还需要将查询存储在内存中.

祝你好运!

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...