PHP 7的构造和注释

当您打开第一本编程书时,您已经阅读了有关它们的信息。

您已经写了数千遍,

您将在明天和5年后使用它们,

这些是什么?

PHP构造!

这些是知识的基础,语言的核心,

我知道您目前在想什么:

“来吧,我已经很长时间了,现在我在这里阅读有关结构的文章?”

只是阅读整个帖子,

我向您保证,即使您已经编码很长时间,您也不会发现一个细节,而是几个小细节。

PHP构造介绍

PHP函数和构造之间有很大的不同,

首先将它们映射,然后简化为一组要解析的PHP构造,后者不能用作回调,但是解析器可以直接理解它们。

当涉及到参数和括号时,构造也遵守不同的规则。

这是一个例子:

echo “Hello World”; 
echo “Hello”, ”World”;
echo(“Hello”,”World”);

我可以肯定,您之前已经看过echo,上面是echo结构的几种变体。

请注意,最后一条语句将引发语法错误。

PHP提供了许多构造。

它们的功能在后台运行,并且在大多数情况下,例如在处理数组时,它们的速度比您自己创建的代码快。

在下面,您将找到PHP 7中最常用的构造的完整列表。

您不需要内心地学习它们,您会意识到,一段时间后它们将成为第二天性,

您可以将本系列的这一部分作为笔记,在有疑问或需要时可以随时咨询。

顺便说一下,这是“ 专家开发人员的PHP基础 ”系列文章的第二部分。

如果您还没有,

看看其他部分
PHP的复兴
如何使用变量(PHP 7)

表中的内容:

断言()

此构造采用两个参数,第一个是断言,第二个是如果断言为false则需要显示的消息。

您可以使用此控件来改变脚本的流程。

assert('2 < 1', 'Two is less than one');

array()

该语言构造非常易于理解,用于创建数组。

$capricciosa = array('tomato sauce', 'mozzarella', 'artichoke', 'mushrooms', 'anchovies');
PHP 7的构造和注释

看看官方手册

宣布

这个结构濒临灭绝,

您很少会在代码中碰到它,因为少数程序员知道它的存在,甚至很少知道如何正确使用它。

声明的语法类似于其他流控制构造。

在括号内有一个关键字define是指令,在括号内有要执行的代码。

与可以让您自由使用声明内条件的if语句不同,只有三个可能的选项thicks,encoding和strict_type。

cks虫

在执行PHP脚本的过程中,正在执行多个语句,

该语句的大部分会引起滴答声,

使用declare(ticks = number)和相关函数register_tick_function(), 您可以在这些tick之间执行代码。

声明设置应传递多少条语句,而register_tick_function()指定在出现滴答的情况下应调用哪个函数。

这在循环或测试中可能很有用。

function hyphen(){ 
echo "-";
}
register_tick_function("hyphen");
$i = 0;
declare(ticks = 4) {
while ($i < 17)
echo "n"; ++$i;
}
// the previous code echoes: nnnn-nnnn-nnnn-nnnn

如您所见,我刚刚创建了一个字符串,用作信用卡和借记卡的占位符。

很容易。

编码方式

另一个条件

在此,仅在编码与定义的编码对应的情况下才执行代码

declare(encoding='ISO-8859-1');
// code goes here

严格型

在可能的情况下,PHP将错误的类型赋值为期望的标量类型。

例如:

x = "10" + 10;
// x = 20;

PHP足够聪明,可以理解带有“ 10”的字符串应该是一个整数,并且可以对数字求和而没有任何问题。

现在,

在某些情况下,您不想丢失代码,而需要以更严格的方式进行管理。

在严格模式下,仅接受确切类型的变量,如果发生变量冲突,则将引发TypeError。

您可以通过以下方法定义所拥有的控制级别。

declare(strict_types=1);

请注意,上面的字符串必须是页面的第一条语句,紧接在PHP开头标签之后。
否则,您将遇到此错误//致命错误:strict_types声明必须是脚本中的第一条语句。

死亡并退出

这两个构造是别名, 它们在将消息返回到脚本时终止程序

PHP 7的构造和注释

好奇心:die构造是一种著名的技术,用于测试变量并在精确的行中停止程序代码,该技术称为dump and die。

如果您对Laravel之类的框架有任何经验,您可能会认为它是dd()。

如果您不这样做,这是您可以在2018年及以后在网上找到的PHP框架最佳比较之一

这是在后台执行的代码:

die(var_dump($variable_to_test));

做,一会儿,一会儿

它们是在条件被验证的情况下执行的循环,我将在以下文章中详细解释它们。

订阅将在发布该帖子时收到通知。

回显并打印

将值输出到stdout(它是默认监视器或其他设备)。

我写这种教程的原因是帮助您成为更好的程序员,从而改善您的职业生涯。

那么echo和print有什么区别?

以上是作为Web开发人员在面试中最常问到的问题之一。

答案是,echo构造不返回任何值,而print构造将返回一个值,甚至为null,

这意味着您可以根据需要在表达式内使用print。

在W3Schools中回显

else,elseif,if,endif,switch,endswitch

他们都属于同一个家庭,

它们被用来创造条件,

敬请关注!

我将在以后的文章中详细介绍它们

空()

此构造根据使用参数的值返回布尔值。

请记住,空变量,空字符串或值为“ 0”的字符串,无值的数组,值为0的数字变量以及false都被视为空

endfor,endforeach,for,foreach

属于循环类别的其他构造。

eval()

这种结构允许执行作为参数给出的PHP代码,这非常危险,因为允许执行作为参数给出的PHP代码。

没有!,

你不仅有一个déjàvu,

我写了两次,因为我想让你理解这可能是有问题的。

PHP核心团队不鼓励使用它,但是如果您仍然选择使用它,则必须特别注意不要传递任何用户数据,尤其是在处理它之前不对其进行验证。

$string = 'dog'; 
$name = 'Tommy';
$str = 'My pet is a $animal and its name is $name';
echo $str. "\n";
// the previous line echoes: My pet is a $animal and its name is $name'. eval("\$str = \"$str\";");
echo $str. "\n";
// the previous line echoes: My pet is a dog and its name is Tommy'

不需要任何技能即可编写清晰,编写良好的代码并将其完全弄乱。

幸好,

如果这是您的目标,(真的吗?)PHP提供了完美的关键字来使用。

后藤由两部分组成,第一部分是标签,第二部分是目标,

PHP 7的构造和注释

此命令允许从标签跳转到另一个目标,从而跳过目标之间的每条语句。

使用goto时需要牢记一些规则。

标签和目标都必须在相同的上下文中,这意味着您不能在方法或函数内将代码目标化。

同时,您不能跳过调用范围之外目标的函数

包括,include_once,require,require_once

PHP的这四个构造具有相同的功能,但方式略有不同。

包含(如关键字所示)包含文件并对其进行评估,

include_once,此命令与上一个命令相似,但是PHP将确保仅一次包含该文件,

要求,看起来非常类似于包含,实际上,它还包含指示的文件并对其进行评估,但以强制方式进行,

require_once,包含一次相同,

必填项和包含项之间有一个主要区别,

如果找不到或无法读取该文件,它将停留在引发的错误上。

这两个include只会发出警告,而必需包含将产生致命错误,您将无法继续。

所以,

通常, 如果请求的文件很重要,并且脚本不能在没有我亲自使用的情况下继续运行,则需要您进行包含。

由于自动加载会自动加载脚本中指示的所有类,因此这些构造的使用越来越少。

这些是我在有关PHP中的面向对象编程的系列教程中介绍的更高级的功能

如果使用PHP框架,则会使用几种类型的设计模式自动请求所有文件,因此您无需担心。

实例

当您使用面向对象范例进行编码时,此构造很有用。

该构造函数的作用是返回一个布尔值,该值指示PHP变量是确定类的对象。

class Building { } 
class School extends Building { }
$school = new School;
var_dump($school instanceof School);
// this will dump true
var_dump($school instanceof Building);
// this will also dump true because School is a child of Building

代替

特质是一种OOP功能,用于解决类的单一继承的限制,

特质类似于类 ,通过使用特质,您可以实现新的行为并添加原本无法添加的功能。

使用特征时,您可能会遇到的问题是名称冲突,您需要使用具有相同名称的不同特征。

代替操作可用于选择您喜欢的特征。

trait def { 
public function pass() {
echo 'low';
}
public function shot() {
echo 'high';
}
}
trait att {
public function pass() {
echo 'low';
}
public function shot() {
echo 'high';
}
}

isset()

它检查是否已设置变量,如果肯定响应为假,则返回true;如果值不存在,则返回false。

if (isset($variable)) { 
echo "$variable is set";
}

list()

此构造接受一个数组和一个变量列表,并将数组的值立即分配给多个变量。

$sentence = array('fish', 'raw', 'bitter'); 
// Listing all the variables
list($dish, $temperature, $flavour) = $sentence;
echo "The $dish is $temperature and taste $flavour

另外,请注意,您可以阅读有关7.3中与list()构造有关的一些非常有趣的新功能。

返回

return构造用于停止当前脚本,并在需要时提供您要获取的变量。

您可以在函数内部和全局范围内使用return。

如果在函数或方法中使用它,它将返回变量并返回到调用范围,如果在全局范围中使用它,则它将终止程序。

因此,可以在包含文件或必需文件中使用它。

unset()

这种语言构造将变量作为参数并将其销毁。

并非总是如此,实际上,当您“重置”变量时,您需要计算所处的范围。

实际上,如果销毁函数内部的变量,则该值在全局范围内仍然可用。

您可以使用上面刚刚解释的isset()构造检查变量是否存在。

$variable = 'this is a string'; 
unset($variable); echo $variable;
// the result of the echo will be NULL

注释

像大多数其他编程语言一样,即使在PHP中,注释也是该语言的基本组成部分。

创建注释的方法有三种,它们的来源来自较旧的语言。

  • C样式它们是一行注释,并由符号表示
  • Perl样式它们也是一行注释,比上一个注释更常见,用符号//表示
  • 多行注释这些组对多个行进行注释。 该块以/ *开头,以相反的* /结尾

还有一个主要用于API的外部标准,看起来像多行注释,但有所不同:
/ **这称为API注释

* /

评论教程共和国

结论

现在,您了解了所有这些信息,

对于专业的Web开发人员和初学者来说,风险之一就是非常善于使用某些功能,而忘记了其他功能,它们可能做同样的事情,但方式稍有不同,或者可能做了您需要学习的不同事情很久以前,但在不久的将来有必要,

我要你改变策略。

当然,这里有一些您不经常使用的结构,

我对吗?

好吧,现在您了解了更多有关它们的信息,

尝试逐步的方法在代码中实现它们,您会发现它们很容易进入您的军械库,并使您成为更好的程序员。

毕竟,这就是我们所有人真正想要的。

看看其他部分
PHP的复兴
如何使用变量(PHP 7)

PHP 7的构造和注释

有什么比开始练习新知识更好的了?
立即开始!

充分利用Blue Host的功能和速度,创建一个帐户,您可以在每月不超过星巴克Caffe Mocha的实时服务器上进行锻炼并查看改进情况。

From: https://hackernoon.com/construct-and-comments-of-php-7-7f3462499654

相关文章:

  • 2021-06-17
  • 2021-10-05
  • 2018-10-15
  • 2021-11-20
  • 2022-02-20
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
猜你喜欢
  • 2021-11-20
  • 2021-08-13
  • 2021-09-02
  • 2022-01-12
  • 2022-12-23
  • 2021-11-20
相关资源
相似解决方案