人们普遍认为,PHP是初学者学习中最容易学习的编程语言,并且可以使其工作
为什么 - 让PHP比其他语言更容易
在面向对象的PHP学习的情况下也是如此 - 或者现在有一些其他面向对象的语言比PHP更容易学习
答案 0 :(得分:25)
PHP是网络原生的。虽然Ruby和Python具有更清晰的语法,更优雅和更强大的功能,但Ruby / Python和Web本身之间总会有一层抽象 - 毕竟,它们的设计范围比Web更广泛。
编程的新手通常是系统管理员的新手,而在Rails或Django中使用Hello World非常痛苦 - 有些甚至是令人望而却步的 - 与PHP相比。
对于新手来说,很容易概念化输入:
http://mysite.com/something.php
...将执行存储在文件中的代码:
/path/to/mysite's/webroot/something.php
这种简单的一对一路由也反映了HTML和其他静态文件的路径。
然而,请注意,因为这种一对一的路由也会导致安全问题(即人们倾向于将所有可执行代码保留在webroot中 - 甚至是安全代码,其中可能包含密码,哈希盐和其他隐私 - 重要代码)。将此与缺乏系统管理员体验相结合,网络上的许多网站距离完全暴露chmod
。
负责任的PHP如Symfony帮助人们避免这种情况,但Symfony需要与Rails和Django相同级别的系统管理员印章。
答案 1 :(得分:5)
面向对象编程是可选的
PHP原谅
该脚本继续在次要错误上运行
当E_NOTICE(或甚至E_WARNINGs)被抑制时,错误甚至都不明显。
但是在像substr这样的小东西中:在C#中,当你在1个字符的$ text上尝试substr($ text,3)时,你会得到一个很大的异常。
优秀的在线手册
http://php.net/manual/
Quick and Dirty是默认
语言充满了有用的捷径
PHP允许我在不输入文章的情况下表达我想要的内容。
答案 2 :(得分:5)
概念简洁。
一个php站点可以包含一个代表一个页面的文件,动态内容根据需要嵌入静态标记中。您可以扫描一个简单的php文件,查看定义的所有内容并按顺序运行。
使用一个简单的php网站,没有学习曲线,人们必须弄清楚特定逻辑属于哪个文件,或者定义了一个函数的外部文件。
...
当然有一个原因,像rails这样的框架提供了大量的文件和固定的结构,我肯定会建议在任何相当大的(可能几乎每个小的)网站上使用一个。
我确实认为这是一个非常低的进入门槛,这是很多php受欢迎的原因。
我认为没有任何理由不能用ruby或类似的方式编写更好的php风格系统 - 只考虑目录和.erb和。haml文件以及良好的4.days.ago
语法。但大多数能够做到这一点的人都看到了框架提供的额外工具的价值。 Sinatra是一个最小的框架,可以在一个文件中定义整个站点,但即使它具有由代码驱动的路由,而不仅仅是目录和文件命名。
答案 3 :(得分:2)
PHP有许多关于它的网络教程和书籍,它是免费和流行的,这使得PHP社区更大。而且它也很直观。
答案 4 :(得分:1)
虽然PHP远不是最好的网络编程语言,但它是最常见的(在托管软件包中的可用性方面),最受欢迎(甚至像SO上的标签这样的东西),它有一些最好的文档,并且它是必须遵循任何标准的最不严格的一个。