使用宝塔创建php网站
- 1、点击添加网站
- 2、输入要创建的域名和选择php版本等
- 3、修改本地host 域名指向
- 4、浏览器输入域名测试是否正常运行
php程序的运行原理
- 1、客户端(浏览器)访问网站(包含html、php)发出请求;
- 2、web服务器接收请求,并且返回仅包含html的响应;
- 3、请求的php文件由web服务器转发给php引擎,php引擎运行php程序;
- 4、连接mysql并且查询数据等,将数据结果返回给提出请求的php程序;
- 5、php将mysql获取的数据和客户端发送的数据构造成html代码返回给web服务器
6、web服务器将php返回的html响应到客户端(浏览器)
php与html混编
php代码像css,js一样可以使用‘标签方式’直接嵌入到html文档中
php代码使用的标签是<?php?>
html文档中嵌入的php代码的数量和位置不受限制
html文档中存在php代码时,扩展名必须是php才可以被激活php引擎
如果只有一行语句或者是最后一行语句;可以省略
开启短标签:在php配置文件php.ini中设置short_open_tag为on;
短标签可以<?php ehco?>成<?=?>;<!DOCTYPE html>
<html lang="zh-CN">
<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>Document</title>
</head>
<body>
<h1>这是html</h1>
<?php
echo '这是html和php混编','<br>';
?>
<?='这是短标签';?>
</body>
</html>
格式化输出
echo可以输出多个 print只能输出一个且有返回值 ;
echo '<h3 >这是echo输出的</h3>','<br>';
printf(模板,要输出的数据)
printf('%d+%d=%d',1,2,(1+2));
vprintf()支出数组参数
sprintf(模板,要输出的数据) 内容不输出只是返回,可保存或者传递$type='mysql';
$host='localhost';
$dbname='dbname';
$arr=[$type,$host,$dbname];
printf('%s:host=%s,dbname=%s;',$$type,$host,$dbname);
echo '<br>';
vprintf('%s:host=%s,dbname=%s;',$arr);
sprintf('%s:host=%s,dbname=%s;',$type,$host,$dbname);
php数据类型
- 1、基本类型:布尔型,字符串,数值(整数,浮点数)
- 1.1 布尔型 true,false
$true=true;
echo $true,'<br>';
echo gettype($true),'<br>';
echo gettype(gettype($true));
如果想要得到一个变量类型的’字符串表示’
var_dump();同时输出变量的值与类型,还可以像echo一样同时打印多个;用于开发环境,不适用于生产环境var_dump($true)
ob_clean()清屏; - 1、2数值类型(整数,浮点数)
$age=20;
$float=3.1415926;
var_dump($age,$float);
var_dump(2.1e3);
- 1、3字符串 必须 要使用’单引号’或者”双引号”作为定界符;
echo 'Hello"php"','<br>';
echo 'hello \'php\''
- 2、复用类型
- 2.1 数组
$arr1=[1,'姓名',20,'nan'];
echo 'id=',$arr1[0],'<br>';
echo 'name=',$arr1[1],'<br>';
echo 'age=',$arr1[2],'<br>';
echo 'sex=',$arr1[3],'<br>';
$arr[]=88;
echo 'score=',$arr1[4],'<br>';
$arr2=[];
$arr2[]='小王';
$arr2[]=22;
echo $arr2[0],'=>',$arr2[1],'<br>';
数字索引访问时依赖顺序:可以将数组成员的键名换成字符串,这样可以随机访问$arr3=['id'=>1,'name'=>'大王','course'=>'php','score'=>99];
//$arr3为关联数组;
echo 'id=',$arr3['id'],'<br>';
echo 'name=',$arr3['name'],'<br>';
echo 'course=',$arr3['course'],'<br>';
echo 'score=',$arr3['score'],'<br>';
打印数组//printf()第二个参数为true,转为字符串类型
vprintf('Array([id]=>%d [name]=>%s [course]=>%s [score]=>%d)',$arr3);
printf($arr3);
echo '<br>';
var_export($arr3);
var_dump($arr3);
- 3、对象 使用对象的本质是代码复用;对象模板:类
class Demo{
private $a=1;
private $b=2;
public function sum(){
return $this->a.'+'.$this->b.'='.($this->a+$this->b);
}
}
$obj=new Demo();
echo $obj->sum();