重蔚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之钩子

    PHP 提供的钩子PHP 和 Zend Engine 为扩展提供了许多不同的钩子,这些扩展允许扩展开发人员以 PHP userland 无法提供的方式控制 PHP 运行时。本章将展示各种钩子和从扩展钩子到它们的常见用例。钩子到 PHP 功能的一…

    2022年6月13日
    0153
  • 如何访问成员属性

    如何访问成员属性 类名的规范说明 类名不区分大小写. 类名命名规范 关于函数,变量,常量,接口等等的命名规范,请参考手册. 对象传递方式(重点, 难点) 先请大家看一段代码,从而引起思考 注意当 对象传递方式是 $p…

    2018年4月9日
    0190
  • PHP入门指南:EventLoop编程模型。

    PHP作为一门动态的脚本语言,被广泛应用于Web开发领域。在PHP中,我们通常采用阻塞IO模型来处理客户端请求,即每个请求都需要一个线程来处理,这样会消耗大量的服务器资源。为了解决这个问题,我们可以使用非阻塞IO…

    2023年5月23日
    02
  • 教你使用PHP实现查找你想要的附近人

    最近有个业务场景使用到了查找附近的人,于是查阅了相关资料,并对使用PHP实现相关功能的多种方式和具体实现做一篇技术总结,欢迎各位看官提出意见和纠错,下面开始进入正题:LBS(基于位置的服务)查找附近的人有个…

    2022年6月21日
    0127
  • PHP8中的新函数:array_key_first()的新应用方法。

    随着PHP8的发布,新函数也随之而来。其中,array_key_first()是在PHP7.3中已经出现,但其却在PHP8中得到了新的应用方法,让我们一起来了解一下。array_key_first()的定义首先,让我们来看看array_key_first()的定义…

    2023年5月21日
    00
  • PHP字符串类型string

    js中,虽然有2种字符串表达形式,但也应该理解为是一种字符串: var  str1 = ‘单引号字符串’ var   str2 = “双引号字符串”; 但在php中,单引号和双引哈字符串,是有不同细节含义的字符串。   php中,有4种字符…

    2018年3月14日
    0383
  • 我的php学习第十七天之dom对象篇

    昨日回顾 事件对象event 主要目的:主要获取事件发生时的环境信息,比如说:坐标。 事件对象的存在:当事件发生时,事件对象event就存在了。 <h1 onClick=“get_xy(event,name,value)”></h1> 注意:even…

    2015年12月1日
    0611
  • 利用PHP8中的str_ends_with()函数判断字符串结尾。

    随着PHP8的发布,新的函数和特性不断推出,其中一个值得注意的函数是str_ends_with()。这个函数可以用来判断一个字符串是否以特定的字符串结尾,这在实际开发中经常会用到。在这篇文章中,我们将探讨str_ends_with(…

    2023年5月21日
    016

联系我们

QQ:951076433

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