热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

构造方法添加注释_PHP7的构造和注释

构造方法添加注释当您打开第一本编程书时,您已经阅读了有关它们的信息。您已经写了数千遍,您将在明天和现在的5年后使用它们,这些是什么

构造方法添加注释

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

您已经写了数千遍,

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

这些是什么?

PHP构造!

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

我知道您目前在想什么:

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

只是阅读整个帖子,

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

PHP构造介绍

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

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

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

这是一个例子:

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

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

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

PHP提供了许多构造。

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

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

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

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

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

如果您还没有,

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

表中的内容:

  • 断言
  • 数组
  • 宣布
  • 滴答声
  • 编码方式
  • 严格
  • 死亡与退出
  • 做,而
  • 回显并打印
  • else&elseif&if&切换
  • 空的
  • 为和foreach
  • 评估
  • 包含并要求
  • 实例
  • 代替
  • isset
  • 清单
  • 返回
  • 未设定
  • 注释
  • 结论

断言()

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

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

assert(&#39;2 <1&#39;, &#39;Two is less than one&#39;);

array&#xff08;&#xff09;

这种语言构造很容易理解&#xff0c;用于创建数组。

$capricciosa &#61; array(&#39;tomato sauce&#39;, &#39;mozzarella&#39;, &#39;artichoke&#39;, &#39;mushrooms&#39;, &#39;anchovies&#39;);

看看官方手册

宣布

这个结构濒临灭绝&#xff0c;

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

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

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

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

cks虫

在执行PHP脚本的过程中&#xff0c;正在执行多个语句&#xff0c;

该语句的大部分会引起滴答声&#xff0c;

通过使用clarify&#xff08;ticks &#61; number&#xff09;和相关函数register_tick_function&#xff08;&#xff09;&#xff0c; 您可以在这些刻度之间执行代码。

声明设置应传递多少条语句&#xff0c;而register_tick_function&#xff08;&#xff09;指定在出现滴答的情况下应调用哪个函数。

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

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

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

好简单。

编码方式

另一个条件

在这种情况下&#xff0c;仅在编码与定义的编码相对应的情况下才执行代码

declare(encoding&#61;&#39;ISO-8859-1&#39;);
// code goes here

严格型

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

例如&#xff1a;

x &#61; "10" &#43; 10;
// x &#61; 20;

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

现在&#xff0c;

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

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

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

declare(strict_types&#61;1);

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

死亡并退出

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

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

如果您对Laravel之类的框架有任何经验&#xff0c;您可能会把它看作dd&#xff08;&#xff09;。

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

这是在后台执行的代码&#xff1a;

die(var_dump($variable_to_test));

做&#xff0c;一会儿&#xff0c;一会儿

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

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

回显并打印

将值输出到stdout&#xff08;它是默认监视器或其他设备&#xff09;。

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

那么echo和print有什么区别&#xff1f;

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

答案是&#xff0c;echo构造不返回任何值&#xff0c;而print构造将返回甚至为null的值&#xff0c;

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

在W3Schools中回显

else&#xff0c;elseif&#xff0c;if&#xff0c;endif&#xff0c;switch&#xff0c;endswitch

他们都属于同一个家庭

它们被用来创造条件&#xff0c;

敬请关注&#xff01;

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

空&#xff08;&#xff09;

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

请记住&#xff0c;空变量&#xff0c;空字符串或值为“ 0”的字符串&#xff0c;无值的数组&#xff0c;值为0的数字变量和false都被视为空

endfor&#xff0c;endforeach&#xff0c;for&#xff0c;foreach

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

eval&#xff08;&#xff09;

这种结构允许执行作为参数给出PHP代码&#xff0c;这非常危险&#xff0c;因为允许执行作为参数给出PHP代码。

没有&#xff01;&#xff0c;

你不仅有一个déjàvu&#xff0c;

我写了两次&#xff0c;因为我想让你了解这可能有多麻烦。

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

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

不需要任何技能即可编写清晰&#xff0c;编写正确的代码并将其完全弄乱。

幸好&#xff0c;

如果这是您的目标&#xff0c;&#xff08;真的吗&#xff1f;&#xff09;PHP提供了完美的关键字来使用。

后藤由两部分组成&#xff0c;第一部分是标签&#xff0c;第二部分是目标&#xff0c;

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

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

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

同时&#xff0c;您不能跳过调用范围之外目标的函数

包括&#xff0c;包含&#xff0c;要求&#xff0c;要求

PHP的这四个构造具有相同的功能&#xff0c;但方式略有不同。

包含&#xff08;如关键字所示&#xff09;包含文件并对其进行评估&#xff0c;

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

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

require_once&#xff0c;包含一次相同&#xff0c;

必填项和包含项之间有一个主要区别&#xff0c;

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

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

所以&#xff0c;

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

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

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

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

实例

当使用面向对象范例进行编码时&#xff0c;此构造很有用。

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

class Building { }
class School extends Building { }
$school &#61; 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功能&#xff0c;用于解决类的单一继承的局限性&#xff0c;

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

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

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

trait def {
public function pass() {
echo &#39;low&#39;;
}
public function shot() {
echo &#39;high&#39;;
}
}
trait att {
public function pass() {
echo &#39;low&#39;;
}
public function shot() {
echo &#39;high&#39;;
}
}

isset&#xff08;&#xff09;

它会检查是否已设置变量&#xff0c;如果肯定响应为false&#xff08;如果值不存在&#xff09;&#xff0c;则返回true。

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

list&#xff08;&#xff09;

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

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

另外&#xff0c;请注意&#xff0c;您可以阅读有关7.3中与list&#xff08;&#xff09;构造有关的一些非常有趣的新功能。

返回

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

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

如果在函数或方法中使用它&#xff0c;它将返回一个变量并返回到调用作用域&#xff0c;如果在全局作用域中使用它&#xff0c;它将终止程序。

因此&#xff0c;可以在包含文件或必需文件中使用它。

unset&#xff08;&#xff09;

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

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

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

您可以使用上面刚刚解释的isset&#xff08;&#xff09;构造检查变量是否存在。

$variable &#61; &#39;this is a string&#39;;
unset($variable); echo $variable;
// the result of the echo will be NULL

注释

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

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

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

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

* /

评论教程共和国

结论

现在&#xff0c;您了解了所有这些信息&#xff0c;

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

我要你改变策略。

当然&#xff0c;这里有一些您不经常使用的结构&#xff0c;

我对吗&#xff1f;

好吧&#xff0c;现在您了解了更多有关它们的信息&#xff0c;

尝试逐步的方法在代码中实现它们&#xff0c;您会发现它们将很容易进入您的武器库&#xff0c;并使您成为更好的程序员。

毕竟&#xff0c;这就是我们所有人真正想要的。

看看其他部分
PHP的复兴
如何使用变量&#xff08;PHP 7&#xff09;

有什么比开始练习新知识更好的了&#xff1f;
立即开始&#xff01;

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

翻译自: https://hackernoon.com/construct-and-comments-of-php-7-7f3462499654

构造方法添加注释



推荐阅读
author-avatar
青岛二三事-丶儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有