PHP与JavaScript:两种脚本语言的深入比较

您所在的位置:网站首页 php和java交互 PHP与JavaScript:两种脚本语言的深入比较

PHP与JavaScript:两种脚本语言的深入比较

2023-06-11 22:01| 来源: 网络整理| 查看: 265

PHP与JavaScript:两种脚本语言的深入比较-1

PHP和JavaScript都是Web 开发人员经常使用的脚本语言。但每个都有自己的细微差别和用例。

在这篇文章中,我们将探讨PHP与JavaScript两者之间的差异,以及何时应该在开发项目中使用每种语言。让我们首先看看这些语言是如何产生的。

PHP与JavaScript:起源 PHP和JavaScript的相似之处 PHP与JavaScript之间有什么区别? WordPress如何使用JavaScript和PHP 学习PHP与JavaScript PHP与JavaScript -比较表 PHP与JavaScript:起源

PHP是Rasmus Lerdorf于2004年创建的一种开源语言。这个名字来自个人主页工具——一组Rasmus用来跟踪对他的网站的访问的脚本。

随着PHP 3.0的推出,该语言有了一个反向首字母缩写词:PHP: Hypertext Preprocessor。它现在简称为PHP。

JavaScript由Netscape的Brendan Eich于1995年创建,旨在为Web带来交互性。最初称为Mocha,后来更名为LiveScript,后来更名为JavaScript,以利用Java语言的流行。

今天,JavaScript正式被称为ECMAScript,但JavaScript仍然是大多数人所称的。

因此,这两种语言已经存在一段时间了。

现在我们将看看它们的其他一些相似之处。

PHP和JavaScript的相似之处

下面我们将从多个方面介绍这两种编程语言的相似之处:

语言类型 变量类型 类和对象 市场需求 文档 语言类型

PHP和JavaScript都是脚本语言。这与Java或C++等“纯”编程语言相反。

脚本语言倾向于解释而不是编译。这意味着它们是通过第三方而不是直接翻译成机器代码的。这会影响它们的运行时间。

可以这样想:假设您想将网页从您的母语翻译成纳瓦霍语。如果您不懂纳瓦霍语,则需要口译员来帮助您,而且翻译需要更多时间。

这就是为什么编译语言往往比解释语言更快的原因。

变量类型

另一个共同点是PHP和JavaScript是弱类型的。

这意味着当您使用任何一种语言创建变量时,您都不需要分配其数据类型:它是假定的。

因此,您可以在PHP中编写以下内容:

$x = 'Hello world'; $y = 'Bonjour le monde';

或者在JavaScript中:

var x = 'Coding is fun'; let y = 'No, honestly';

在两种语言中,这些变量都将被识别为字符串(字符集)。

这与像Java这样的强类型语言相反,在这种语言中,您必须在声明时说明使用的变量类型:

int x = 5;

PHP和JavaScript都是动态类型的:换句话说,您可以通过在代码中重新定义类型来轻松更改类型:

$x = 5;

在PHP中,$x 现在是一个整数。

x = 3.14195;

在JavaScript中,x 现在是一个数字。

因为类型不是在PHP或JavaScript中明确定义的,所以您需要函数来告诉您正在使用的数据类型。

JavaScript有typeof函数可以做到这一点。

PHP有gettype函数来返回变量的类型。将gettype,一个新的,改进的版本get_debug_type,是部分PHP 8版本。

类和对象

PHP和JavaScript最初都不是面向对象的。随着语言的发展,面向对象被添加到它们中。

2004年PHP 5提供了创建对象和类的能力。

JavaScript直到很久以后才使用对象或类。它们于2015年随着ES6的引入而进入该语言。

一类是对象的通用分组。

一个对象是与实体属性(特性)和方法(行为)。

该游戏龙与地下城(d&d)提供了一个很好的比喻。

一个玩家角色对应一个对象。每个角色都属于一个角色类别,例如野蛮人、盗贼或巫师。

对象可以具有任意数量的您需要定义的属性。

因此,角色的属性可能包括:

姓名 种族 能力(力量、智力、智慧、敏捷、体质和魅力) 性格类型(例如大胆、胆小、好奇) 阵营(守序,混乱,善良,邪恶)

您可以使用对象方法来检索有关对象的信息。

这是一个类和对象定义的PHP代码示例:

将此代码添加到HTML文件后,浏览器中的输出应如下所示:

颜锡德 人类 智力:18

您还可以定义方法,这些方法是对象采取的或已对其执行的操作。

在D&D中,它们可能是:

surpriseAttack() disarmTrap() castSpell() resistPoison()

在对象上运行方法时,结果可能取决于对象的属性。因此,巫师的学徒对象将无法像经验丰富的巫师对象那样有效地施展法术。

市场需求

PHP和JavaScript的另一个共同点是对两种语言的开发人员都有很高的需求。

使用JavaScript和PHP的开发人员也得到了很好的报酬。

在美国,他们的平均年收入约为80,000美元。

PHP开发人员薪水

PHP开发人员薪水,Glassdoor.com

JavaScript开发人员薪水

JavaScript开发人员薪水,Glassdoor.com

文档

对于PHP或JavaScript的新手来说,不太好的消息是这两种语言的官方文档都不是很人性化。它是为有经验的开发人员而不是初学者编写的。

您可以在此处查看每种语言的文档:

PHP文档 ECMAScript 2020语言规范

JavaScript老师Chris Ferdinandi感叹缺乏良好的JavaScript文档,称这是他花了这么长时间才掌握这门语言的原因之一。

此时,您可能想知道,“PHP与JavaScript之间有什么区别?” 实际上,有几个。

PHP与JavaScript之间有什么区别?

接下来我们一起来看看这两种编程语言之前的不同点有哪些?

服务器端与客户端脚本 前端与后端 与其他语言的结合 区分大小写 句法 变量和常量定义 数组 数据库集成 线程 速度 包管理器 网络使用 服务器端与客户端脚本

PHP 是一种服务器端脚本语言。这意味着它在Web服务器上运行,而不是在客户端计算机上运行。

服务器端编程对于向用户提供动态内容(通常来自数据库)非常有用,例如用户登录时的欢迎消息(Hi, Claire!)。

更严重的是,服务器端脚本用于电子商务。例如,有超过100个WooCommerce扩展程序通过API(应用程序编程接口)连接到不同的支付提供商以处理交易。

JavaScript是一种客户端语言,因此它可以在用户的​​笔记本电脑、手机或平板电脑上运行。

JavaScript可以操作代表文档对象模型的DOM,您可以将其视为由网页的HTML形成的树状结构。

如果您曾经遇到过手风琴或切换开关,也许是作为常见问题插件的一部分,您就会看到客户端JavaScript的运行情况。当您单击或点击问题时,JavaScript事件处理程序会打开或关闭CSS显示或可见性属性,显示或隐藏相关答案。

前端与后端

PHP运行在网站的后端——访问者看不到的部分!在WordPress中,这意味着PHP在Web服务器和WordPress管理员中完成所有工作。

JavaScript传统上在前端运行,但在2009年启动后端运行时Node.js时,情况发生了变化。今天,JavaScript是真正的全栈语言。

与其他语言的结合

PHP作为后端语言,它是LAMP堆栈(Linux、Apache、MySQL、PHP)的一部分。

PHP可以与HTML合并。您将通过检查许多Web应用程序(包括 WordPress)的代码来了解这一点。

以下是来自2020主题index.php文件的示例:

但是,如果您在Web应用程序中将PHP与其他后端语言混合使用,则很难维护它们。另外,您不仅要了解PHP,还必须学习并熟练掌握其他语言!

JavaScript开发人员在编写代码时有更多的自由。他们可以将这种语言与HTML、XML和Ajax结合使用。

区分大小写

区分大小写是在语言中命名实体时区分大小写字母。

PHP部分区分大小写。大小写对某些事情很重要,对其他事情不重要。

PHP变量是区分大小写的。

因此,如果您在PHP中创建一个变量:

$dog = "chihuahua";

并尝试稍后在您的代码中获取$DOG的值,它将不起作用。

但是,PHP函数不区分大小写。

如果您在PHP中创建此函数:

function dogFetch() { // your code to run when the function is called }

稍后在您的代码中调用DogFetch(),您的函数仍将运行。

然而,这不是好的编码习惯,因为它不一致。

另一方面,JavaScript完全区分大小写。因此,称为 beagle、BEAGLE和Beagle的变量都将彼此不同。

句法

语法是管理语言的一组规则。这包括词序、语法和标点符号。

在英语中,我们可能会说:

I ate my soup slowly.

但如果你是Yoda大师,你会说:

My soup slowly I ate.

为什么?语法不同。同样的话,不同的顺序。

尤达语生成器

尤达语生成器

有些语言使用看起来相同的词,但它们具有不同的含义。 Lui在法语中的意思是“him”在英语中的意思

Lui在法语中的意思是“him”在英语中的意思

Lui在意大利语中的意思是英语中的“he”

Lui在意大利语中的意思是英语中的“he”

如果我们使用错误的词,人类会很宽容,但计算机却是字面上的。如果我们在编程语法中犯了错误,计算机通常不知道我们的意思,这通常会导致错误。

在JavaScript和PHP中,对于单行代码注释,它们都具有相同的双正斜杠语法:

// This is a comment

但是PHP也有另一种形式的注释语法:

# This is a comment

如果您尝试在JavaScript中使用 PHP 注释语法,则会出现错误:

# This is a Comment Uncaught SyntaxError: private fields are not currently supported

JavaScript未捕获的语法错误

JavaScript未捕获的语法错误

其他语法错误对于JavaScript和PHP都是常见的,例如:

代码行末尾缺少分号 (;)。 不为条件语句使用一对花括号 {}。 变量和常量定义

正如我们之前看到的,JavaScript和PHP有不同的声明变量的方式。

他们也以不同的方式定义常量。

JavaScript使用以下语法:

const x = 6;

对于像这样的简单常量,其值以后无法更改。

而PHP对常量使用 define() 函数。

define(name, value, case-insensitive)

按照惯例,PHP常量的样式是大写的。一个例子是:

define('MONSTER', 'Sulley');

括号内的前两个参数是不言自明的。

第三个不区分大小写,默认值为false。只有当它设置为true时,常量才会不区分大小写。

那是:

define('MONSTER', 'Sulley', true); 数组

数组是可以存储不止一件事的变量。

在PHP中,数组是关联数组或有序映射。也就是说数组中的项有相关的键值对。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3