首页 > 编程语言 >php入门学习笔记一

php入门学习笔记一

时间:2024-09-11 16:27:12浏览次数:11  
标签:www 入门 虚拟目录 笔记 如下 文件夹 conf php

@TOC

1. PHP简介

phpHypertext Preprocessor的缩写,是开源的脚本语言,运行在服务端的语言,搭建php环境可以windows系统上可以安装wamp,发布上线的时候可以使用lamplamp:l:linux,a:apache,m:mysql,p:php,这四个都是开源的,所以不用担心版权问题。

2. 五个基本概念

2.1、 静态页面和动态页面的概念区别

静态页面: 页面通过服务端没有编译直接返回给客户端,返回的内容不会改变,不能通过线上管理员端去动态的改变页面内容。

动态页面:不用去修改html,显示的内容可以根据管理员端去修改生成最新的内容。

2.2、 客户端和服务端

客户端:用户访问的这一端是客户端。 服务端:给客户端提供服务功能的一端

2.3、 端口号范围

端口号范围 0 ~ 65536

2.4、 B/S架构和C/S架构

B/S架构: B:browser (浏览器) S:serve (服务器) 优点:只要有浏览器就可以访问,开发成本低。 缺点:开发的代码都是在服务器上。会导致服务器非常的臃肿,俗称胖服务器,瘦客户端。

C/S架构: C:client (客户端软件) S:serve (服务器) 优点:可以开发客户端和服务器端,这个时候代码不会全部存放服务器,可以实现负载均衡。 缺点:必须要去安装指定的软件,例如(QQ,微信,支付宝),开发成本高。

2.5、 前台和后台

前台:用户访问的那端。 后台:管理员端。

3. PHP优点

  • 跨平台:能在windows上运行也能在linux上运行。
  • 源码开放:不用担心版权问题。
  • 运行在服务端:只要在服务器部署环境就可以了。

4. 常用命令

httpd -v:查看版本

httpd -t:检查错误

php入门学习笔记一_php

php -v:查看版本号

php入门学习笔记一_虚拟目录_02

5. DNS解析

在我们本机目录C:\Windows\System32\drivers\etc下有个hosts文件,我们可以将如下网址设置成本机ip

在访问www.php.com时就会跳转到本机,如下图:

php入门学习笔记一_php_03

6. 虚拟目录

当我们安装wamp集成环境时,在你安装的目录下有www文件夹,那么这个就是虚拟目录,这个文件夹不要随意去改动位置,我们可以去看下,在apache中,已经将这个文件目录配置成主机的根目录,我们可以看到apacheconf文件夹下的httpd.conf的配置(我的安装目录如下F:\Program\bin\apache\apache2.4.27\conf):

php入门学习笔记一_虚拟目录_04

其中定义了INSTALL_DIRF:/Program路径。在httpd.conf配置文件中又引入了

php入门学习笔记一_虚拟目录_05

conf文件夹下的extra文件夹下的httpd-vhosts.conf配置文件,我们打开这个文件可以看到:

php入门学习笔记一_php_06

这边配置了虚拟目录的路径,就是F:\Program\www。所以我们不要去随意去改动,当然我们可以自己手动去改变这个路径。我们可以在C盘目录下新建一个web文件夹,我们自己将虚拟目录写到这个文件夹,并且在文件夹下创建h.html并写入h1标签然后写入document文本,我们重启下集成环境wamp,可以看到虚拟目录就改变了:

php入门学习笔记一_虚拟目录_07

7. 默认首页

httpd.conf配置文件中,如下是默认首页顺序,可以自己手动更改。

php入门学习笔记一_虚拟目录_08

8. 设置端口号

httpd.conf配置文件中,Listen,可以更改端口号。

php入门学习笔记一_php_09

查看端口号占用情况:

php入门学习笔记一_php_10

9. 虚拟主机配置

配置两个虚拟主机,例如访问www.sina.com时会访问本地F盘的http1文件夹下的index1.php,访问www.ct3r.com时会访问本地D盘的http2文件夹下的index2.php。配置httpd-vhosts.conf,如下:

<VirtualHost *:80>
  ServerName www.sina.com 
  DirectoryIndex index1.php 
  DocumentRoot "F:/http1" 
  <Directory "F:/http1/"> 
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName www.ct3r.com  
  DirectoryIndex index2.php 
  DocumentRoot "F:/http2" 
  <Directory "F:/http2/"> 
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

其中:

  • ServerName 为虚拟目录绑定的域名
  • DirectoryIndex 为默认首页
  • DocumentRoot 为指定虚拟目录文件
  • Direcrory 为指定虚拟目录的权限。

接着我们在 C:\Windows\System32\drivers\etc下的hosts输入如下代码:

127.0.0.1 www.sina.com
127.0.0.1 www.ct3r.com

配置域名dns解析到本地,接着重启我们的wamp,然后可以看到页面访问如下:

php入门学习笔记一_客户端_11

php入门学习笔记一_虚拟目录_12

9.1 站点、虚拟目录、虚拟主机的区别

  • 站点:站点是一个文件夹,用来保存与网站相关的素材。
  • 虚拟目录:站点加上权限。
  • 虚拟主机:虚拟目录加上域名。

10. PHP是编译型语言

php是编译型语言,在4.X.X版本是解释型语言,在后来5.x.x后变为编译型语言,在php运行是会产生opcode编译文件,存在内存中。

11. PHP定界符

11.1 标准风格

  1. 标准风格<?php ?>
<?php
	echo('Hello World!')
?>

好的我们在我们的集成环境wamp安装的目录,www目录下,新建hello.php,输入如上代码,并且启动wamp,打开浏览器,如下输出:

php入门学习笔记一_客户端_13

如果整个页面都是php的话定界符的结束符可以省略,推荐省略但是必须要加分号,如下:

php入门学习笔记一_客户端_14

页面展示如下:

php入门学习笔记一_客户端_15

11.2 短标记风格

2. 短标记风格 `<?  ?>`:

php入门学习笔记一_虚拟目录_16

查看网页:

php入门学习笔记一_客户端_17

报错了,默认情况下不支持,需要在php的配置文件中配置段标记:

php入门学习笔记一_客户端_18

php.ini中修改:

php入门学习笔记一_虚拟目录_19

php入门学习笔记一_虚拟目录_20

short_open_tag改成On就开启了段标记。重启wamp。效果:

php入门学习笔记一_客户端_21

12 PHP中的注释和输出语句

12.1 PHP中的注释

php中注释与javascript一样,// 表示单行注释,/* */ 表示多行注释,除此之外php中 #也是当行注释。

12.2 PHP中的输出语句

echoprintprint_rvar_dump。其中print会返回一个值,成功为1,失败为0(失败返回也看不到,因为报错了),print_r用来输出数组的。var_dump输出数据信息,并且带有数据类型。在www目录下新建demo.php,代码如下:

<?php
    var_dump('abc');
    echo '我是echo打印<br/>';
    echo print '我是print打印<br/>';
?>

效果如图:

php入门学习笔记一_php_22

13 变量

13.1 变量命名规则

  1. 在php中变量名必须以$符开头,但是$符不是变量的一部分。
  2. $符以外,可以以字母,下划线开头后面跟数字,字母,下划线。
  3. 语句以分号结尾。
  4. 变量名区分大小写。

13.2 可变变量

将变量名存储在另外一个变量中。代码如下:

<?php
    $a1 = 1;
    $a2 = 2;
    if (rand(1,2)%2) {
        $a = 'a1';
    }
    else {
        $a = 'a2';
    }
    echo $$a;
?>

查看效果:

php入门学习笔记一_客户端_23

13.3 变量传递

13.3.1 值的传递

如下代码体现值的传递:

<?php
    $a = 10;
    $b = $a;
    $b = 20;
    echo $a
?>

效果如图:

php入门学习笔记一_客户端_24

结果a不变还是10。

13.3.1 引用地址的传递

如下代码提现地址传递:

<?php
    $a = 10;
    $b = &$a;
    $b = 20;
    echo $a
?>

效果如图:

php入门学习笔记一_虚拟目录_25

$a的引用地址指向$b,$b改变$a也会随着改变。&符在php中表示获取变量的引用地址。

13.3 销毁变量

销毁变量语法unset( ),如下代码:

<?php
    $a = 10;
    unset($a);
    echo $a
?>

效果:

php入门学习笔记一_客户端_26

变量销毁的是变量名,变量值由php的垃圾回收机制销毁。

在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

标签:www,入门,虚拟目录,笔记,如下,文件夹,conf,php
From: https://blog.51cto.com/u_14135022/11982162

相关文章

  • 22级五年制C语言入门教程-(5)格式化输入输出
    1.输入和输出在程序的使用中,我们经常可以看的这么一个场景:用户需要输入数据,经过程序运算,得到结果后输出。在C语言中,输入数据和输出数据都是由库函数完成的,通过语句来输入/输出。2.格式化输出—printf()函数C语言程序运算的结果在内存中,我们需要将其输出到指定设备中,我们才可以......
  • 【PHP编程】PHP闭包函数及函数回调的实现方式
    https://mp.weixin.qq.com/s/ji6hofCun7w7ErRvLuAiuA原创PHP星编程经验共享2023年10月19日08:01广东1.匿名函数在了解回调函数之前我们来了解一下什么是匿名函数?顾名思义,匿名函数就是一个没有确定函数名的函数,PHP将匿名函数和闭包视作相同的概念,所以匿名函数在PHP中......
  • 22级五年制C语言入门教程-(6)运算符
    1.运算符概述运算符是一种编译器执行特定的数学或逻辑操作的符号。C语言提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符条件运算符其他运算符2.算术运算符算术运算符分为单目运算符和双目运算符,单目运算符表示只需要一个操作数,双目运算符需......
  • 22级五年制C语言入门教程-(2)基本程序结构
    1.简单的C语言程序结构要建造房屋,首先需要打地基、搬砖搭建框架(这大概就是为什么叫搬砖的原因)。学习计算机语言的时候也一样,应该从基本的结构开始学起。下面,我们看一段简单的源代码,这段代码希望大家动手对着敲一遍,自己动手完完全全敲一次。我想对于刚学编程的人,即使对着敲,也是极......
  • 22级五年制C语言入门教程-(3)基本数据类型
    1.数据类型在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。C语言数据类型可以分为四种:1.基本类型:它们是算术类型,包括两种类型:整数类型和浮点类型。2.枚举类型:它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。3.void类型:类型......
  • 22级五年制C语言入门教程-(4)常量和变量
    1.常量和变量的概念程序执行过程中其值不能发生改变的量叫做常量,其值能发生改变的量叫做变量。常量可以直接使用,而变量则必须先定义后才能使用,否则编译器会报错。2.常量和变量的命名规范在介绍常量和变量的命名规范之前,我们先了解一下什么是标识符和关键字。2.1标识符标识符......
  • 百度飞桨、千帆大模型以及Coze的简单比较:入门级
    百度飞桨、千帆大模型以及Coze在AI领域各有其独特之处,它们分别代表了不同方面的技术能力和应用场景。以下是对这三者的简单清晰扼要的解说:百度飞桨(PaddlePaddle)定义与特点:定义:飞桨是百度开源的、集深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台于一体的......
  • Min_25 筛 & Min_26 筛 & zzt 求和法 给(人能看懂的)代码的 学习笔记
    看不懂别人博客里写的代码,所以只好自己实现常数超大的版本了,,,记号:\[\begin{aligned}\mathbfP&:\text{质数集}\\p_k&:\text{第k个质数}\\\text{lpf}(n)&:\text{n的最小质因子}\\x/y&:\left\lfloor\dfracxy\right\rfloor\end{aligned}\]前置知识:\(n\)的块筛,指\(n/i\)......
  • Attention Sinks 入门指南 - 实现无限长度文本生成的高效流式语言模型
    AttentionSinks简介AttentionSinks是一种新的注意力机制,可以让预训练语言模型生成无限长度的连贯文本,同时保持恒定的内存使用。它通过保留初始token的注意力信息(称为"注意力池"),并使用滑动窗口来处理最近的token,从而实现了高效的长文本生成。AttentionSinks......
  • 网络安全入门教程(非常详细)从零基础入门到精通,看完这一篇你就是网络安全高手了。
      关于我我算是“入行”不久的一个新人安全工作者,为什么是引号呢,因为我是个“半个野路子”出身。早在13年的时候,我在初中时期就已经在90sec、wooyun等社区一直学习、报告漏洞。后来由于升学的压力,我逐渐淡出了安全圈子,也没有继续学习技术。也因为这个原因,高考选择专业时,对......