我在2012年开始学习如何使用HTML和CSS进行编码,而PHP一直是我从编码之旅开始就一直想学习的语言之一。作为JavaScript培训学校的应届毕业生,我决定再次尝试PHP。一直以来,很难找到一些不针对从未接触过代码的人的有关PHP的资源。所以,这就是我写这篇文章的原因。我希望能帮助像我这样的人,他们只需要快速了解他们选择的语言和他们想学习的语言之间的区别。一般语法PHP语法和JavaScript的一大区别是,在PHP语法中,需要在行尾添加一个分号。起初我为此苦苦挣扎,现在有时仍然如此,所以我想我应该先在这里解释一下。使用语言在JavaScript中,除了确保文件具有.js扩展名外,您无需执行任何特殊操作即可运行代码。但是,在PHP中,即使在具有.php扩展名的文件中也需要标记。声明变量在PHP中创建变量非常简单。与JavaScript一样,PHP是一种动态类型的语言,因此在创建变量时不需要声明变量的类型。它对变量使用$符号。$myvar='价值';在PHP中,您声明的任何变量默认情况下都是可变的,并且绝对可以在任何地方更改。声明常量PHP有一个称为define的特殊功能,用于专门创建不能更改的变量。它有两个参数:变量的名称和分配给它的值。默认情况下,此函数使您创建的变量名称区分大小写。这可以通过将true作为函数的第三个参数传递来覆盖。定义('CONSTANT_NAME',值,真);声明数组与JavaScript数组非常相似,可以使用标准括号表示法或PHP中的函数来创建数组。换句话说,PHP的关联数组相当于一个JavaScript对象,并且是在PHP中创建键/值对集合而无需导入某种模块的唯一方法。在PHP中为键赋值用=>表示。$myArray=['key1'=>'value','key2'=>'value','key3'=>'value'];函数PHP中的函数与JavaScript(尤其是ES5)非常相似。functionmyFunc($param){return$param;}我能在这两种语言之间找到的唯一真正区别是PHP有一个运算符可以将您传入的参数从基于值的更改为引用:&。$myVar=10;echo$myVar;#displays10functionaddTen(&$param){return$param+=10;}addTen($myVar);echo$myVar;#displays20循环就像函数,循环和JavaScript写的不一样太不一样了。一个例外是PHP的foreach循环,它会根据您尝试循环的数组类型而有所不同。foreach($arrayNameas$item){#docode}类和OOP方法类是PHP与JavaScript有很大不同的地方。尽管PHP最初并不是一种面向对象的编程语言(类似于JavaScript),但后来添加了该功能。访问修饰符关键字在标准JS中,类不需要修饰符。但是,对于PHP,它们是。您在PHP中拥有的修饰符是:public-它可以由脚本或其他类在类外使用。private-创建此类的类是唯一可以访问它的类。protected-如果在类的子类中调用,则只能在类外访问。static-允许在不实例化属性或方法所属的类的情况下使用属性或方法。在PHP中创建类时,最好使用这些关键字来告诉类它需要如何使用类中的属性和方法。classMyClass{private$classAttrib;publicfunction__construct($classAttrib){this->classAttrib=$classAttrib;}}在上面的代码片段中,您会注意到一些事情。第一个可能是两个修饰关键字。在这里,我们声明了一个名为classAttrib的私有变量,它只能通过MyClass访问。第二个是我们与PHP内置的__construct方法一起使用的public关键字。就像在JavaScript中一样,这允许我们将一个类实例化为一个函数。$myClass=newMyClass(someValue);this和arrows继续上面的MyClass示例,您会注意到我们使用它的方式与在JavaScript中一样。这里的区别在于我们使用箭头(->)来访问类上的classAttrib。我们还将使用此指针访问类中需要在整个代码中使用的任何内容。这是JavaScript中的同一个类:classMyClass{constructor(classAttrib){this.classAttrib=classAttrib;}}Getters和SettersGetters和Setters是用于获取和设置(或更新)与类属性相关的信息的类方法。在JavaScript中,我们一般不需要编写它们,在PHP中也类似。话虽如此,您会在PHP中更频繁地看到这些方法,所以我认为在这里有点谨慎。基本上,这些方法是唯一应该在类外直接修改或与类属性交互的东西。#...insideMyClasspublicfunctionsetClassAttrib($classAttrib){return$this->classAttrib=$classAttrib;}publicfunctiongetClassAttrib(){return$this->classAttrib;}PHP中从父类继承类似于JavaScript,不同的是我们做不要使用super传递父类的属性。相反,我们使用::运算符,也称为范围解析运算符。classSecondClassextendsMyClass{private$newAttrib;publicfunction__construct($classAttrib,$newAttrib){parent::__construct($classAttrib);this->newAttrib=$newAttrib;}}PHP和JavaScript之间的相似性现在我们已经讨论了JavaScript和PHP之间的区别那么让我们来谈谈一些相似之处吧!PHP具有spread(...)语法!您可以使用与JavaScript中完全相同的语法,在参数(参数解包在PHP5.6及更高版本中)和数组(从PHP7.4及更高版本)之间工作!PHP有一个三元运算符!PHP有==转换!如前所述,我对PHP还是个新手,但希望本文对您有所帮助!
