题目1:文件包含中的include与require以及它们的相同点
1)demo1.php文件:
<?php
// *文件包含中的include与require以及它们的相同点
// *1.include:将外部文件的内容,插入到当前的文件
include 'inc/a.php';
echo 'inc/a.php'.'<br>';
echo $username.'<br>';
echo __DIR__ . DIRECTORY_SEPARATOR
.'inc'. DIRECTORY_SEPARATOR.'a.php'.'<br>';
echo $username.'<br>';
include __DIR__ . '/inc/a.php';
echo __DIR__ . '/inc/a.php'.'<br>';
echo $username.'<br>';
$username1=include __DIR__ .'/inc/a1.php';
echo $username1.'<br>';
$user=include __DIR__ . '/inc/a2.php';
list('username2'=>$username2,'nickname'=>$nickname)=$user;
echo $username2,',',$nickname.'<br>';
// *或者用这种方式:
vprintf('%s,%s',$user);
echo '<hr>';
// *2.require:将外部文件的内容,插入到当前的文件
require 'inc/a.php';
echo 'inc/a.php'.'<br>';
echo $username.'<br>';
echo __DIR__ . DIRECTORY_SEPARATOR
.'inc'. DIRECTORY_SEPARATOR.'a.php'.'<br>';
echo $username.'<br>';
require __DIR__ . '/inc/a.php';
echo __DIR__ . '/inc/a.php'.'<br>';
echo $username.'<br>';
$username1=require __DIR__ .'/inc/a1.php';
echo $username1.'<br>';
$user=require __DIR__ . '/inc/a2.php';
list('username2'=>$username2,'nickname'=>$nickname)=$user;
echo $username2,',',$nickname.'<br>';
// *或者用这种方式:
vprintf('%s,%s',$user);
外部文件:a.php
<?php
$username='刘备';
外部文件:a1.php
<?php
return '曹操';
外部文件:a2.php
<?php
// *当外部文件有多个返回值时
return[
'username2'=>'关羽',
'nickname'=>'千里走单骑'
];
2)浏览器运行效果图:
题目2:文件包含中的include与require以及它们的不相同点
1)demo2.php文件:
<?php
// *文件包含中的include与require以及它们的不相同点
// *1.当include包含了一个并不存在的外部文件时,虽会引起警告,但还能工作
$username=include __DIR__ .'/inc/a111.php';
echo '<h2>welcome php</h2>';
echo '<hr>';
// *2.当require包含了一个并不存在的外部文件时,不但提出了警告,还提出了致命错误,故不能再工作
$username=require __DIR__ .'/inc/a111.php';
echo '<h2>welcome php</h2>';
2)浏览器运行效果图:
题目3:网页中把页眉,主体,页脚作为外部文件的内容再加以引用的实例
1)demo3.php文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>网页中把页眉,主体,页脚作为外部文件的内容再加以引用的实例</title>
</head>
<body>
<!-- 页眉 -->
<?php include __DIR__ .'/inc/a3a.php'?>
<!-- 主体 -->
<?php include __DIR__ .'/inc/a3b.php'?>
<!-- 页脚 -->
<?php include __DIR__ .'/inc/a3c.php'?>
</body>
</html>
外部文件:a3a.php
<header>
<nav>
<a href="">首页</a>
<a href="">三国教学视频</a>
<a href="">学习路径</a>
<a href="">技术文章</a>
</nav>
</header>
外部文件:a3b.php
<main>
<ul>
<li><a href="">最新教学视频1</a></li>
<li><a href="">最新教学视频2</a></li>
<li><a href="">最新教学视频3</a></li>
<li><a href="">最新教学视频4</a></li>
<li><a href="">最新教学视频5</a></li>
<li><a href="">最新教学视频6</a></li>
<li><a href="">最新教学视频7</a></li>
<li><a href="">最新教学视频8</a></li>
<li><a href="">最新教学视频9</a></li>
<li><a href="">最新教学视频10</a></li>
<li><a href="">最新教学视频11</a></li>
<li><a href="">最新教学视频12</a></li>
</ul>
</main>
外部文件:a3c.php
<footer>
<div class="copy">三国版权所有©2020-2050</div>
</footer>
2)浏览器运行效果图:
题目4:类的声明与实例化
1)demo4.php文件:
<?php
// *类的声明与实例化
// *1.类的声明
class SanGuo
{
}
// *2.类的实例化->对象
$sanguo=new SanGuo();
// *3.判断一个实例是否属于某个类
var_dump($sanguo instanceof SanGuo);
echo '<br>';
// *4.直接获取某个对象的类
echo get_class($sanguo).'<br>';
// *5.一个类保存到一个变量中,这个变量就成了动态类
$controller='SanGuo';
// *6.从动态类new出一个实例
$con=new $controller();
// *7.这个实例就是被那个类抛出的
var_dump($con);
2)浏览器运行效果图:
题目5:类的成员中的实例成员中的属性与方法
1)demo5.php文件:
<?php
// *类的成员中的实例成员中的属性与方法
// *1.实例成员
class SanGuo{
// *1.属性
public $username='诸葛亮';
public $nickname='孔明';
private $ploy='草船借箭';
// *2.方法
public function getPloy(){
$sanguo=new SanGuo();
return $this->ploy;
}
}
// *3.实例化
$sanguo=new SanGuo();
echo $sanguo->username,'<br>';
echo $sanguo->nickname,'<br>';
echo $sanguo->getPloy();
2)浏览器运行效果图:
题目6:魔术方法之一:获取器:__get(属性)
1)demo6.php文件:
<?php
// *魔术方法之一:获取器:__get(属性)
// *1.设置一个类
class SanGuo{
// *2.属性
public $username='诸葛亮';
public $role='军师';
private $age=51;
private $ploy='借东风';
// *3.方法->魔术方法->获取器:__get(属性)
public function __get($name)
{
return $this->$name;
}
}
// *4.实例化
$sanguo=new SanGuo();
echo $sanguo->username,'<br>';
echo $sanguo->role,'<br>';
echo $sanguo->age ,'<br>';
echo $sanguo->ploy,'<br>';
2)浏览器运行效果图:
题目7:
1)demo7.php文件:
// *1.设置一个类
class SanGuo{
// *2.属性
public $username='诸葛亮';
public $role='军师';
private $age=28;
private $ploy='借东风';
// *3.方法->魔术方法->获取器:__get(属性)
public function __get($name)
{
if($name==='ploy'){
if($this->role==='军师'){
return $this->$name;
}else{
return $this->$name='null';
}
}
}
public function __set($name,$value){
if($name==='age'){
if($value>=18 && $value <= 54){
echo $this->$name=$value;
}else{
echo '他已经不在人世间了';
}
}
}
}
// *4.实例化
$sanguo=new SanGuo();
echo $sanguo->username,'<br>';
echo $sanguo->role,'<br>';
echo $sanguo->ploy,'<br>';
$sanguo->age = 57;
2)浏览器运行效果图:
题目8:
1)demo8.php文件:
<?php
// *实例成员中的构造函数
// *1.设置一个类
class SanGuo1{
//*2.属性:当前类实例的状态(属性值)应由用户来决定,而不应由系统写死,故现在的属性值属于待定状态
public $username;
public $role;
private $age;
private $ploy;
//*3.方法->构造方法:public function __construct(参数列表){...}(实例化该类时,会自动触发)
public function __construct($username,$role,$age,$ploy)
{
$this->username=$username;
$this->role=$role;
$this->age=$age;
$this->ploy=$ploy;
}
// *4.方法->魔术方法->获取器:__get(属性)
public function __get($name)
{
return $this->$name;
}
}
// *4.实例化
$sanguo1=new SanGuo1('诸葛亮','军师','28','空城计');
echo $sanguo1->username,'<br>';
echo $sanguo1->role,'<br>';
echo $sanguo1->age ,'<br>';
echo $sanguo1->ploy,'<br>';
2)浏览器运行效果图:
题目9:
1)demo9.php文件:
<?php
// *静态成员
// *1.设置一个类
class SanGuo1{
//*2.属性:当前类实例的状态(属性值)应由用户来决定,而不应由系统写死,故现在的属性值属于待定状态
public $username;
public $role;
private $age;
private $ploy;
//*3.方法->构造方法:public function __construct(参数列表){...}(实例化该类时,会自动触发)
public function __construct($username,$role,$age,$ploy)
{
$this->username=$username;
$this->role=$role;
$this->age=$age;
$this->ploy=$ploy;
}
// *4.方法->魔术方法->获取器:__get(属性)(访问私密属性)
public function __get($name)
{
return $this->$name;
}
// *5.静态成员
public static $nation='蜀国';
// *6.静态方法
public static function sanguo(){
return '诸葛亮是'.self::$nation.'的宰相';
}
}
// *7.实例化
$sanguo1=new SanGuo1('诸葛亮','军师','28','空城计');
echo $sanguo1->username,'<br>';
echo $sanguo1->role,'<br>';
echo $sanguo1->age ,'<br>';
echo $sanguo1->ploy,'<br>';
// *8.静态成员不能用实例化访问,而应用类名称及符号::访问
echo SanGuo1::$nation,'<br>';
echo SanGuo1::sanguo(),'<br>';
2)浏览器运行效果图: