Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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的总体设计理念是什么?_Php_Language Design_Language Features_Language Comparisons - Fatal编程技术网

php的总体设计理念是什么?

php的总体设计理念是什么?,php,language-design,language-features,language-comparisons,Php,Language Design,Language Features,Language Comparisons,最近,我第一次通过客户机的Drupal应用程序接触到PHP(5)。这个体验当然没有什么困难(比如文档很好),但我从来没有想过“这真的很聪明!”或“哇,这很有趣!”此外,我无法准确预测函数将如何命名,也无法确定要遵循的指导原则 这与Ruby不同,例如,在Ruby中,一切都是对象,方法是可预测的和伪多态的,块是使用的乐趣(举几个例子)。其他语言亮点形成对比:Python的列表理解改变了您对迭代的思考方式,C通过指针和位操作将您带回硬件,javascript以其无名函数和对哈希的高级支持出人意料地出色

最近,我第一次通过客户机的Drupal应用程序接触到PHP(5)。这个体验当然没有什么困难(比如文档很好),但我从来没有想过“这真的很聪明!”或“哇,这很有趣!”此外,我无法准确预测函数将如何命名,也无法确定要遵循的指导原则

这与Ruby不同,例如,在Ruby中,一切都是对象,方法是可预测的和伪多态的,块是使用的乐趣(举几个例子)。其他语言亮点形成对比:Python的列表理解改变了您对迭代的思考方式,C通过指针和位操作将您带回硬件,javascript以其无名函数和对哈希的高级支持出人意料地出色,甚至SQL的易怒性也迫使您欣赏您的数据并以关系的方式思考它

考虑到这一点,php的亮点是什么?语言的总体设计理念是什么?我知道php总体上并不享有很高的声誉,但我一直听说这是一个认知问题,因为大量非专业开发人员大量复制和粘贴代码

编辑:

好吧,大家一致认为PHP是web程序员的万能工具。我可以接受。我只是想了解一些情况,但我想我已经了解了。例如,我当然非常欣赏mod_php/libphp。我能够在两周内完成我的应用程序,之前没有php经验,所以我想这也说明了这一点

感谢您的帖子。

来自:

PHP是一种HTML嵌入式脚本 语言。它的许多语法是 从C、Java和Perl中借用 两个独特的PHP特定功能 扔进去。语言的目标是 允许web开发人员编写 快速动态生成页面


换句话说,没有真正的设计哲学:它是完成工作的各种想法的混合体(显然是从Perl继承的,呵呵)。

关于函数命名/约定,它背后肯定没有任何设计哲学。

除非您将不一致性视为一种设计理念:)

PHP的重点是快速完成工作,而不是聪明。这并不是说你不能用PHP编写漂亮、干净、面向对象的代码。我认为大多数PHP程序员的错误之处在于,他们认为因为可以在HTML中嵌入PHP,所以必须这样做。我自己的PHP代码是强面向对象的,不包含任何嵌入代码(除了初始页面)


正如您所指出的,PHP的文档非常丰富,这比您对它的许多竞争对手所说的还要多。

PHP的设计理念:


从一本PHP书籍中,我有:

PHP是的一个开源项目 Apache软件Founation和它的 最流行的ApacheWeb服务器插件 模块,约占Apache的53% 具有PHP功能的HTTP服务器。 PHP特别适合于web应用 数据库应用程序由于其 Web和Web的集成工具 数据库环境。特别地, 嵌入脚本的灵活性 在HTML页面中,允许轻松集成 HTML表示和代码的定义。这个 支持数据库层集成 也很好,超过15个 可与之交互的库 几乎所有流行的数据库服务器

它接着谈到了以下优点:

  • 开源
  • 灵活地与HTML集成
  • 适合复杂的项目
  • 快速运行脚本
  • 平台和操作系统可移植
  • 社区努力
我知道这并没有真正回答你的问题,但也许它提供了一个更高层次的PHP的概念


发件人:休·E·威廉姆斯和大卫·莱恩。使用PHP和MySQL的Web数据库应用程序。第二版。

PHP是一个服务器端包含系统,用于使用Perl语法的HTML文档。从那以后,它一直试图超越它的传统。

你必须记住的是,PHP是一场革命。在Rasmus Lerdorf创建PHP时,动态站点确实没有其他选择。有一个CGI-GATEWAY(php基本上就是这样),它涉及到编写自己的C exe来服务页面——有一个叫做ASP的东西,但它在当时是相当垃圾的,只在网络上非常稀少的windows设备上运行


你可以说它之所以如此,或者说它的设计理念是,它是第一种面向网络的大众市场脚本语言。与其说它是设计的,不如说它是成长的,这就是为什么它看起来有点混乱的原因,但它确实起到了作用

做你想做的事

我认为php的好处是,你可以很快地启动和运行,而且对初学者非常友好。我在学校学的第一门语言是Java,所以PHP很容易掌握。当我学习Java时,第一次学习OO概念是很困难的,我并没有完全理解。但是,由于在PHP中不需要使用OO,非程序员很容易学习语言基础知识,然后能够继续学习对象


我同意这种语言有点混乱,但它确实为Facebook、Digg和雅虎的部分网站提供了动力。除了Twitter,Ruby(更具体地说是rails)真的不能这么说。

你是说它继承了Perl严密的概念和清晰的愿景吗?@David:是的,人类从灵长类动物那里继承了翅膀和鳃,这与人类从灵长类动物那里继承翅膀和鳃的方式大致相同。我对快速完成任务的代码的经验是,所有事情最终都需要更长的时间。好吧,我们一定不同意。例如,我发现编写C++代码而不是C需要占用十分之一的代码。