• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

PHP 语法(一)定界符、 执行原理、 执行过程、 语法、 输出语句、 变量、 常量、 编译型、 解释型

Mr.Lee 由 Mr.Lee
2018年5月20日
在 PHP, PHP基本语法
0
PHP 核心编程(二)Mysql 扩展、 数据库连接、 笑话增删改查
0
分享
1
浏览

PHP语法(一)

回顾

  1. PHP:超文本预处理器,这是一种运行在服务器端的开源的脚本语言
  2. LAMP:Linux+Apache+MySQL+PHP,这4个软件全部都是开源的
  3. 静态网站和动态网站

    1. 静态网站:不具有数据交互功能的网站
    2. 动态网站:具有数据交互功能的网站
    3. 实现动态网站的技术:asp php .net java
  4. 客户端和服务器端

    1. 服务器端:为访问者提供服务的计算机,从狭义上来说,Apache是服务器。
    2. 客户端:用来请求服务器的计算机,web客户端是IE,QQ客户端是软件
  5. 端口和端口号 0~65535
  6. BS架构(浏览器和服务器)和CS架构(客户端软件和服务器)
  7. 前台和后台
  8. IP地址和域名

    1. 通过IP地址唯一标识每台计算机
    2. 域名是IP地址的别名,为了便于记忆。
  9. PHP优点

    1. 跨平台
    2. 源码开发
    3. 语法简单
  10. 安装Apache

    1. httpd命令在bin目录下
    2. htdocs是默认的虚拟目录
    3. conf是配置文件夹
    4. conf/httpd.conf是Apache的配置文件
    5. httpd -t 用来检测apache的运行情况
    6. httpd -M 用来显示加载的模块
    7. httpd -k start/stop/restart
    8. apache的启动/停止/重启
    9. http://localhost显示itworks表示正常
  11. 安装PHP

    1. 在httpd.conf中通过LoadModule加载PHP模块
    2. 在httpd.conf中当访问PHP页面的时候调用PHP模块
    3. 在httpd.conf中指定PHP配置文件 phpinidir

    1. 在php.ini中通过extension_dir指定PHP扩展的加载位置
  1. 安装MySQL

    1. MySQL的端口号是3306

到此wamp安装完毕,下面提高部分

  1. 更改虚拟目录位置,在httpd.conf中DocumentRoot更改虚拟目录指令
  2. 注意:更改虚拟目录位置的同时一定要更改虚拟目录的权限

<Directory 虚拟目录路径>

</Directory>

    1. allow from all 允许所有
    2. order allow,deny 先执行允许,后执行拒绝
    3. options indexes 目录中的文件用索引方式显示
    4. allowoverride all 允许分布式部署文件覆盖
  1. 更改默认首页 DirectoryIndex index.html index.php
  2. 更改监听端口 Linten 80
  3. 虚拟主机配置 httpd-vhosts.conf文件中配置
  4. DNS解析 system32/drivers/etc/hosts文件中
  5. 分布式部署

    1. 文件名是.htaccess文件
    2. 在当前目录及子目录中有效
    3. 可以更改apache和php的配置(php_flag php_value)

总结:httpd.conf对Apache起作用,php.ini对PHP起作用 .htaccess对apache和PHP都起作用

配置文件可分为两个部分:主配置文件系统,分布式配置文件

解释型和编译型

如果保存了可执行代码是编译型语言,没有保存可执行代码是解释型语言

PHP执行过程

脚下留心:PHP生成的中间语言保存在内存中(这点和java,.net不一样,这两门语言是可以看到中间文件的),PHP看不到中间文件。如果从能否看见中间文件这个角度来说PHP是解释型的;从是否生成中间文件来说PHP是编译型的。

EditPlus介绍

体积小,可以自定义插件的一个开发工具

EditPlus的设置


PHP四种定界符

  1. 标准风格【推荐使用】

<?php

echo ‘i am a boy!!!’;

?>

  1. 短标记风格(在php.ini中将short_open_tag = On)

默认情况下不支持短标记,必须在php.ini配置文件中开启支持短标记

<?

echo ‘i am a boy!!!’;

?>

  1. asp风格(在php.ini中将asp_tags = on)

默认不支持asp风格

<%

echo ‘i am a boy!!!’;

%>

  1. script标记风格

<script language=”php”>

echo ‘i am a girl!!!’;

</script>

PHP的执行原理

客户端向服务器发送请求:

  1. 如果请求的是HTML页面,服务器不执行,将页面的代码全部发送到客户端。
  2. 如果请求的是PHP,服务器会执行PHP页面,执行完毕后会生成标准的HTML代码,然后将HTML代码发送到客户端

PHP语法特点

PHP用分号表示语句的结束

PHP变量名是区分大小写的,但是关键字不区分大小写

PHP支持省略结束标记

<?php表示php语言的开始, ?>表示php语言的结束。

如果一个页面从PHP开始一直到页面的最后全部是PHP代码,PHP结束符是可以省略的。


PHP结束符中有一个隐藏的分号

页面显示乱码解决

解决方法一:在内容最上面输出<meta>标记

解决方法二:header()

PHP注释

PHP注释有单行注释和多行注释

输出语句

在PHP中常用的输出有echo,print,print_r,var_dump

echo【适合输出字符串和数字】

echo可以输出字符串和数字型,不适合输出布尔和数组,true输出成1,false输出成空,数组输出成array

echo可以一次输出多个数据。

print

print和echo大体一样,可以输出字符串和数字,不适合输出布尔和数组

print每次只能输出一个值,输出成功会返回1。

print_r

print_r主要用来输出数组。

var_dump()【输出内容+数据类型+字符串长度】

var_dump()不但能输出数据的内容,而且可以输出数据类型和字符串的长度。

变量

变量就是计算机内存中的一段空间。

变量的命名规则

变量必须以$开头,除了$以外,变量以字母,下划线开头,后面跟的是字母、数字、下划线。($不是变量的组成部分,$表示变量的开始)

下列变量名合法的是:

$aa 合法

$1a 不合法

$_1a 合法

$a-1 不合法

变量的赋值

传值


传址

&表示取出a的地址


销毁变量

情况一:页面执行完毕后,变量全部销毁,有PHP的垃圾回收机制销毁。

情况二:可以通过unset()手动销毁变量

问题:PHP垃圾回收机制如何判断垃圾数据的?

答:如果一个数据没有被变量引用,这个数据就是垃圾数据。

unset()销毁的是变量名,变量名销毁以后,变量的值就不被引用,垃圾回收机制就将值销毁。

判断变量是否存在

isset()判断变量是否存在

预定义变量

$_GET:用来保存客户端提交给服务器的Get提交的数据,是数组类型的数据

Get提交的URL地址格式: 地址?参数=值&参数=值&…

比如:index.php?name=tom&sex=男&age=22

$_POST:用来保存POST提交的数据,数组类型

$_REQUEST:既能获得get提交的数据,又能获得post提交数据

如果既有get,又有post,使用$_REQUEST获取值的时候,如果有同名的参数,post会将get的值覆盖。

我们可以在php.ini中更改get和post覆盖的顺序。

$argc、$argv

PHP的运行不是必须Apache的参与,直接通过php.exe也是可以执行PHP的。

$_GET、$_POST、$_REQUEST都是用来获取http提交参数。

$argc保存参数的个数,$argv保存参数的数组

可变变量

将变量名存储到另个变量中

多学一招:变量名可以保存在变量中,函数名也可以保存在变量中

常量

当一个数据在执行周期内不发生变化,我们把这个数据声明成常量。

常量名前面没有$。$表示的是变量的开始

常量的定义一般都在程序的开始处定义。

语法

define(常量名,常量值,[是否区分大小写,默认是区分大小写的])


特殊字符做常量名

PHP中可以使用特殊字符做常量名,但是调用的使用必须使用constant关键字来调用

判断常量是否存在

常量一旦定义后面不能重新定义,所以在定义常量的时候我们先判断一下常量是否存在

通过defined()函数判断常量是否定义

预定义常量

例题

魔术常量

常量的值是不变的,但是魔术常量的值是变化的。

例题

const常量

常量除了可以用define定义,还可以用const来定义

查看所有常量

Editplus提示设置

Editplus默认是没有提示的,必须添加语法文件才有提示

第一步:准备语法文件

第二步:将语法文件添加到editplus上


标签: PHP 定界符PHP 执行原理PHP 执行过程PHP 语法PHP 输出语句变量常量编译型解释型
上一篇文章

PHP 语法(二)PHP 伪类型、 原码、 反码、 变量类型、 数组、 类型转换、 补码、 资源类型

下一篇文章

PHP 简介与环境搭建 分布式部署、 虚拟主机

下一篇文章
PHP 核心编程(二)Mysql 扩展、 数据库连接、 笑话增删改查

PHP 简介与环境搭建 分布式部署、 虚拟主机

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3