重蔚php学习第二十七天——PHP的加载机制

为了实现公共代码的重用,可以从其他文件将对应的代码引入到当前脚本,从而不需要再次去写一些重复的代码。

PHP提供了四种方式,能够将其他PHP文件里的内容进行引入,加载到当前脚本。

Include()

Require()

Include_once()

Require_once()

文件加载

image040

文件的加载到底能解决上面样的问题?

  1. 解决html布局问题image042
  2. 解决PHP公共代码的问题

image044

文件加载到底是如何工作的?

image046

问题:如果被引入的文件出错了,系统会如和处理?

image048

如果被引入文件的脚本出现错误(非致命错误),不会影响引入文件脚本的执行。致命错误会导致脚本中断执行。

Include和require有什么区别?

  1. 从整体来讲,两个都是实现将文件给加载到目标文件
  2. Include在进行文件加载的时候,有一些错误不会影响到目标文件的执行,但是如果使用require会导致致命错误,从而中断整个脚本的执行。

当去引入一个不存在的文件的时候,include只是显示警告,但是会继续执行脚本;require一定会去加载该文件,加载不到就会报一个致命错误,从而中断脚本的执行。

Include_once()和require_once()

保证文件在一个脚本里面只被加载一次

image050

Include与include_once()的区别

image052

加载文件的语法

Include(‘文件名’);

Include ‘文件名’;

image054

在以后的代码中,会使用很多文件引入。

如何中断文件执行?

Exit(); exit的使用可以没有括号,exit;

Die();die的使用也可以没有括号,die;

Return

如果return是函数中使用,表示该函数终止执行,如果return后面有跟具体内容,返回该内容的意思

如果return是在脚本中使用,表示中断当前脚本的执行。

 

Return与echo的区别

Return指的是将后面的内容返回,只能返回给PHP脚本

Echo将后面跟的内容输出给浏览器,先放到程序缓存,等脚本结束(程序缓存满了),交给Apache

image058

Demo11.php

 

强烈建议回去多看看demo11.php和demo12.PHP

 

通常,在一个脚本中使用return来终止脚本的执行,这种是小概率事件。因为一般脚本的包含,并不需要其返回值。但是有一个特例,是必须要求PHP文件有返回值的。对应的就是项目中的配置文件。

 

配置文件:用于控制系统中某些操作的变量,能够保证整个项目的统一和维护的友好性。

  1. php:连接数据库,mysql_connect(‘主机名:端口’,‘用户名’,’用户密码’)
  2. PHP:连接数据库,mysql_connect(‘主机名:端口’,‘用户名’,’用户密码’)

 

如果改成以下方式

Mysql_connect(从某个文件得到的主机名,用户名,用户密码);

 

PHP配置文件

image060

Config.php

image062

文件的路径管理

D:\server\apache\htdocs\20140618\demo12.php         绝对路径

image064

Demo12.php                                                                              相对路径

image066

绝对路径:从系统根目录(盘符)开始找到对应的文件,整个路径就是绝对路径

相对路径:相对于当前文件的目录

image068

相对路径

./:当前目录

../:上级目录

image070

/:表示网站根目录

../可以重复使用

image072

文件引入的相对路径

当一个文件引入的另外一个文件,也同时还引入了其他的文件的时候,这个时候相对路径就会发生变化,相对路径的点就是以当前被请求的文件问起点

路径变化原理

image074

image076

注意:为了保证文件的引用不会出错,建议使用绝对路径。通常这个绝对路径不是说按照磁盘路径定义的,而是项目入口文件里定义的__DIR__

常用的字符串函数

Strlen:获得字符串长度

image078

Substr:字符串截取,字符串的其实位置是0

image080

image082

Strtolower:字符串全小写

Strtoupper:字符串全大写

image084

Strrev:反转字符串

image086

Strpos:获得某个字符串第一次出现的位置

Strrpos:获得某字符串最后一次出现的位置

image088

Strchr:获得字符第一次出现的位置,并返回位置到最后所有是字符串

Strrchr:获得字符最后一次出现的位置,并返回位置到最后所有的字符串

image090

Trim:清楚字符串两遍的符号

image092

用户提交用户注册信息的时候,使用trim将用户提交的数据进行去空格处理。

如何获取一个url请求文件的后缀名

image094

时间相关函数

Time:获取当前时间的时间戳,整型

Date:对时间戳进行格式化,得到指定格式的数据

如果第二个参数(具体时间戳)不给的话,默认是当前时间的时间戳

image096

Strtotime:将字符串转化成时间戳

image098

Microtime:获得微秒时间,有两种结果:返回一个数组,或者一个字符串

数学相关函数

Abs:绝对值

Floor:向下取整

Ceil:向上取整

Round:四舍五入

Rand:获得一个随机数

mt_rand:获得一个随机数

image100

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/2200.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2017年5月5日 22:34
下一篇 2017年5月10日 00:00

相关推荐

  • 几种用PHP写99乘法表的方式

    首先按照规矩,还是先废话一番,对于刚学PHP的新手来讲,用php写九九乘法表无疑是非常经典的一道练习题。但不要小看这道练习题,它对于逻辑的考验还是相当到位的。也许有人会觉得,九九乘法表有什么难的,我两分钟…

    2022年6月21日
    0140
  • PHP8.0中的HTTP服务器库:React

    随着互联网的发展,Web应用的重要性越来越受到关注。而其中的HTTP服务器是Web应用的基础之一。在PHP领域中,React是一个优秀的HTTP服务器库,它为我们提供了非常便捷的开发方式。本文将介绍React的基本概念和使用方…

    2023年5月19日
    07
  • PHP8中的新函数:array_key_first()的新技巧。

    随着Web应用程序的不断发展,PHP作为一种可靠且易于使用的编程语言在开发Web应用程序方面变得越来越流行。在PHP8中,开发人员将受到一个新的函数array_key_first()的欢迎,这个函数可以帮助他们更轻松地访问数组的…

    2023年5月21日
    01
  • 聊一聊PHP中单元测试工具PHPUnit的用法

    单元测试是指对软件中的最小可测试单元进行检查和验证。本篇文章带大家了解一下php如何实现单元测试,介绍一下安装单元测试工具PHPUnit并使用的方法。朋友,你听说过安。。。不是,写过单元测试吗。单元测试是开发…

    2023年3月29日
    07
  • PHP入门指南:代码注入漏洞。

    近年来,网络安全问题越来越频繁地被人们所关注。其中,代码注入漏洞是常见的安全问题之一。PHP作为一种常用的后端编程语言,被广泛应用于网站开发中。然而,PHP由于其灵活性和易用性,在编写代码的过程中会存在安…

    2023年5月22日
    05
  • php如何使用PHPUnit进行单元测试。

    作为一种流行的开源Web编程语言,PHP在Web开发领域中得到了广泛的应用。单元测试是一种非常重要的开发方式,能够有效保证代码的可靠性和稳定性。而PHPUnit则是PHP领域中使用最广泛的单元测试框架,具有丰富的功能和…

    2023年6月3日
    02
  • PHP8中的数组函数:array_pad()的高效使用方法。

    PHP8是最新的PHP版本,它提供了许多新的函数和改进的功能,其中之一是数组函数array_pad()。在本文中,我们将探讨array_pad()函数的高效使用方法。什么是array_pad()函数array_pad()函数可以将一个数组填充到指定长…

    2023年5月21日
    00
  • 一文读懂php设计模式之代理模式

    代理模式属于结构性设计模式,针对类与对象组合在一起的经典结构。代理模式也是一种使用较多的设计模式,需要我们重点掌握,他可以在不改变目标对象的情况下,添加一些额外的功能。定义代理模式(Proxy)为其他对象…

    2022年6月13日
    0124

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息