Laravel是一套简洁且优雅的PHP WEB开发框架,正如官网中所说的“Laravel是一个具有表达力、优雅语法的Web应用程序框架“这与国内的Thinkphp框架不同,也许你可以从两者的官网中进行查看和阅读相关文献资料。
安装 apache2 在安装php7之前,我们需要安装apache2的服务器应用环境,来启动本地环境,可使用zypper软件管理包的安装命令进行安装:
zypper install apache2
在安装完成后,读者可使用service来启动apache2服务。
php7 本文作者由于使用opensuse开发环境,所以使用zyyper软件管理包来分别安装php7、php7-mysql、apache2-mod_php7等,读者如果环境支持也可复制下方安装命令进行安装:
zypper install php7 php7-mysql apache2-mod_php7
在php7安装完成之后,我们需要使用a2enmod php7来添加apache2对php7的支持即可,通过在/srv/www/htdocs目录中创建info.php文件中写入:
后通过localhost/info.php来访问,如果出现php配置信息则以上步骤操作成功,如出现直接下载info.php文件则需读者自行查找结果。
安装常用模块 在安装完php之后,还需要安装一些php的常用模块,否则将会在后面安装composer时出现一系列的报错和需要修改php.ini文件的操作,实际上修改完了也依然无法安装,所以需要安装以下模块:
php7
zypper install php-phar php7-curl php7-dev php7-gd php7-mbstring php7-zip php7-mysql php7-xml
php7.4
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-bcmath php7.4-json php7.4-mbstring php7.4-xml php7.4-zip
composer composer是用于PHP管理依赖关系的工具,可以在自己的项目中所依赖的外部工具库,这些操作可以使用compose来安装这些依赖库文件。
安装 composer的安装我们可以通过php进行下载,也可通过使用系统自带的zypper软件管理包进行安装,如:
1 2 3 php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" php composer-setup.php php -r "unlink('composer-setup.php');"
php -r“ copy(’https://getcomposer.org/installer','composer-setup.php');” php composer-setup.php php composer-setup.php –filename=composer
在此之后,读者可将composer移至到/bin目录下,这样就可以使用 composer命令进行构建相关项目。
设置国内镜像 在composer安装完成以后,需要设置其国内镜像,以免在项目部署的过程中出现下载缓慢或暂停的情况:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php/ composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/
如果php和composer都没问题的话,以下两个步骤可以忽略
安装依赖 在使用composer install / composer update命令之前,我们需要在项目当前目录下新建composer.json文件,并写入如下配置:
1 2 3 4 5 { "require" : { "monolog/monolog" : "1.2.*" } }
composer install 1 2 3 4 5 6 7 8 9 10 11 12 13 14 localhost:/srv/www/htdocs # composer install Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled. No lock file found. Updating dependencies instead of installing from lock file. Use composer update over composer install if you do not have a lock file. Loading composer repositories with package information Updating dependencies Lock file operations: 1 install, 0 updates, 0 removals - Locking monolog/monolog (1.2.1) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Downloading monolog/monolog (1.2.1) - Installing monolog/monolog (1.2.1): Extracting archive 3 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files
搭建 当一切都安装好了之后,我们可以开启apache2服务,并进入srv/www/htdocs目录下,使用composer构建一个Laravel 6,如果不加以版本限制则会出现一系列的报错问题,最后使得php无法运行Laravel6。
composer create-project laravel/laravel=”6.0” test_webapp
在Arch Linux 环境下,且php version 8 ,则我们可以使用以下命令:
composer create-project –prefer-dist laravel/laravel test_web “6.*”
当composer create-project 命令执行完毕后,会发现当前所在目录下会新建test_webapp目录,此时我们只需要进入该目录,并执行php artisan serve即可运行刚刚下载的laravel项目,之后访问http://127.0.0.1:8000即可访问主页面。
本地化 在 Laravel 中,项目所默认的语言均为英文,因此我们需要将项目的默认语言改为中文,即zh-CN。通常需要使用composer require caouecs/laravel-lang:~3.0来下载语言包,之后更改 config/app.php内的 locale 值为 zh-CN ,在通过vendor\caouecs\laravel-lang\src\zh-CN文件复制到resources\lang即可。
算数运算符 算数运算符是在PHP之中出现最多从运算符,术语二元运算符,主要对两个变量将进行操作,在PHP之中,主要分为六种基本算数运算符,分别为加(+)、减(-)、乘(*)、除(/)、取模(%)、曲负(-) 。
加法 (+) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = $a + $b; echo "$one"; ?> </body> </html>
减法 (-) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = $a - $b; echo "$one"; ?> </body> </html>
乘法 (*) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = $a * $b; echo "$one"; ?> </body> </html>
除法 (/) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = $a / $b; echo "$one"; ?> </body> </html>
取模(%) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = $a % $b; echo "$one"; ?> </body> </html>
取负 (-) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = -$b; echo "$one"; ?> </body> </html>
赋值运算符 赋值运算符可被理解为将右边的值赋给左边的变量 ,如$one = $a+$b,则标识将$a、$b赋值给了$one:
例子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = $a + $b; echo "$one"; ?> </body> </html>
同等于加法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = $a + 10; // 同等与 1 + 10 echo "$one"; ?> </body> </html>
同等与除法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 1; $b = 3; $one = $a / 0.5; echo "$one"; ?> </body> </html>
递增/递减运算符 前递增 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 1; $three = ++$one; echo "$three"; ?> </body> </html>
前递减 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 1; $three = --$one; echo "$three"; ?> </body> </html>
递增递减运算符表
ID
DA
FA
++$a
$a 前增加1
递增
$a++
$a 后增加1
–$a
$a 前递减
递减
$a–
$a 后递减
比较运算符 相等 (==) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 10; $two = 10; if ($one == $two) { echo "\$one相等于\$two"; } ?> </body> </html>
不相等于 (!=) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 10; $two = 110; if ($one != $two) { echo "\$one不相等于\$two"; } ?> </body> </html>
ID
DA
FA
==
等于
等于
===
完全相等
!=
不等于
不等于
<>
不等于
!==
非全等
<
小于
大于小于
>
小于
>=
大于或等于
小于/大于等于
<=
小于或等于
||
判断是否取值
取值
逻辑运算符 逻辑运算符于上述不同的是它可以操作布尔类型数据,在PHP中逻辑运算符一共有六种,如下:
与 (and | &&) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 10; $b = 10; if ($a == 10 and $b == 10) { echo "\$a 与 \$b 都为10"; } ?> </body> </html>
或
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 10; $b = 10; if ($a == 10 && $b == 10) { echo "\$a 与 \$b 都为10"; } ?> </body> </html>
或 (or | xor | || ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 10; $b = 110; if ($a == 10 or $b == 1) { echo "10或1,都能看到"; } ?> </body> </html>
或
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 10; $b = 110; if ($a == 10 xor $b == 1) { echo "10或1,都能看到"; } ?> </body> </html>
再或者
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 10; $b = 110; if ($a == 10 || $b == 1) { echo "10或1,都能看到"; } ?> </body> </html>
非 (!) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $a = 11; if ($a !== 10) { echo "如果\$为10,则不显示"; } ?> </body> </html>
ID
DA
FA
and
与
与
&&
与($a 与 $b 都为10)
or
或者
或
xor
异或(10或1,都能看到)
||
或(10或1,都能看到)
!
非(如果$为10,则不显示)
非
as
如同
如同
预定义变量指PHP内置变量,可供随时进行调用且不需进行初始化。而在预定义变量之中主要分为服务器相关变量 、系统相关变量 、PHP自带变量 等三种预定义变量支持。
服务器变量 ($_SERVER[“成员变量名”]) PATH 1 2 3 4 5 6 7 8 9 10 11 12 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php echo $_SERVER["PATH"]; ?> </body> </html>
ID
DA
FA
HTTP_HOST
当前url
HTTP_CONNECTION
HTTP连接状态
HTTP_UPGRADE_INSECURE_REQUESTS
HTTP不安全请求
HTTP_USER_AGENT
HTTP用户代理
HTTP_ACCEPT
当前请求头信息
HTTP_ACCEPT_ENCODING
HTTP接收编码
HTTP_ACCEPT_LANGUAGE
HTTP接收语言
PATH
当前系统路径
SystemRoot
系统根目录
COMSPEC
命令文件位置
PATHEXT
在命令行中可直接运行支持
WINDIR
进程位置
SERVER_SIGNATURE
当前服务器签名
SERVER_SOFTWARE
当前服务器程序信息
SERVER_NAME
服务器名称
SERVER_ADDR
服务器地址
SERVER_PORT
服务器端口
REMOTE_ADDR
正在浏览此界面的IP地址
DOCUMENT_ROOT
服务器文件根
REQUEST_SCHEME
当前请求协议
CONTEXT_PREFIX
上下文前缀
CONTEXT_DOCUMENT_ROOT
当前环境文件根目录
SERVER_ADMIN
服务器管理员
SCRIPT_FILENAME
当前页面文件名及路径
REMOTE_PORT
远程端口
GATEWAY_INTERFACE
网关接口
SERVER PROTOCOL
服务器协议
REQUEST_METHOD
请求方法
QUERY_STRING
查询字符串
REQUEST_URI
请求URL
SCRIPT_NAME
请求文件名
外部变量 在整个开发语言之中,在当前程序内自动产生的变量叫做内部变量 。,而HTML之类除php所产生的变量,将会被称之为外部变量 。而在开发语言之中,表单可缠上两个变量分别为“GET”和“POST” ,“POST”变量用于提交大量的数据 ,而$_POST变量可以从表单当中接收POST变量 ,接收方式为“$_POST[‘表单变量名’]”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <form action="" method="post"> 编号: <input type="text" name="id"><br> 姓名: <input type="text" name="name"> <input type="submit" name="so" style="width: 100px;" value="查询"> <br> <hr> </form> <form action="" method="get"> 性别: <input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女 <br> 部门: <select name="work"> <option>决策团队</option> <option>项目团队</option> <option>技术团队</option> <option>测试团队</option> <option>运营团队</option> </select> <input type="submit" name="getpost" value="GET提交"> </form> <?php if (isset($_POST['so'])) { // 点击查询按钮 $id = $_POST['id']; // 获取ID(编号); $name = $_POST['name']; // 获取姓名; echo "接收POST变量: <br>"; echo "编号:".$id."<br>"; // 编号 echo "姓名:".$name."<br>"; // 姓名 } if (isset($_GET['getpost'])) { // GET 提交按钮 $sex = $_GET['sex']; // 性别 $work = $_GET['work']; // 部门组 echo "<br>接收GET变量:<br>"; echo "性别:".$sex."<br>"; echo "部门:".$work."<br>"; } // 使用REQUEST,获取外部变量; echo "<br>接收REQUEST变量:<br>"; echo "编号:".@$_REQUEST['id']."<br>"; echo "姓名:".@$_REQUEST['name']."<br>"; echo "性别:".@$_REQUEST['sex']."<br>"; echo "部门:".@$_REQUEST['work']."<br>"; ?> </body> </html>
GET变量主要用于小数据量的传递,$_GET变量提交表单后,URL接收GET变量,而接收方式一般为 “$_GET[‘表单变量名’]”。$_REQUEST变量可以取得包括POST\GET\Cookie在内的外部变量。
变量是指在一个程序过程之中可以被改变的变量,变量的通常作用就是存储数值。通常一个变量可以存储任意数值或字符串数据,而在PHP之中也可以更改变量的类型,如类型转换等。在PHP的开发语言之中,主要分为自定义变量 和预定义变量 两种。
自定义变量 基础 变量的基本格式
变量的初始化
此时One变量已经被初始化,而初始化值为”10“,通常在PHP开发语言之中使用”=“ 对变量进行初始化
变量的赋值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 100; $two = $one; echo "$two"; ?> </body> </html>
将”one”变量赋值给”two“变量,之后输出two变量自然而然的就得出了one变量中的数值。
局部变量 局部变量格式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php function my_function() { // Code } my_function(); // 调用局部变量 ?> </body> </html>
局部变量实例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>dmeo</title> </head> <body> <?php $my_one = "调用外部变量"; // 创建局部变量 function fouction() { $my_one = "调用局部变量"; print("$my_one"); } fouction(); // 调用局部变量 echo "<br>"; print("$my_one"); ?> </body> </html>
局部变量是指这些变量只能通过被动调用来使用,而不像通常变量一样,供其他方法调用。
全局变量 全局变量格式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 100; function my_function() { global $one; } my_function(); ?> </body> </html>
全局变量实例 (global) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 200; function my_function() { global $one; // 声明one是一个全局变量 echo "Hello,$one"; } my_function(); ?> </body> </html>
全局变量与局部变量的区别就是,局部变量仅仅在某个区域才可使用。而全局变量可以在任何地方进行使用,只需要加上一段方法即可。
变量方法 isset() isset()主要用于检测变量是否存在,如果变量存在则返回TRUE、否则返回FALSE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = ""; var_dump(isset($one)); echo "<br>"; var_dump(isset($two)); ?> </body> </html>
empty() empty()方法主要用于检测变量是否为空,如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 0; if (empty($one)) { echo "该变量为空"; } ?> </body> </html>
在PHP语言之中,主要存在两种类型转换,分别为隐式类型转换 和显式类型转换 两种,而在通常的编程语言中。主要称隐式类型转换为“自动类型转换 ”,而显式类型转换主要被称之为“强制类型转换” 两种。
自动类型转换(隐式类型转换) 数值+字符串 (字符串)! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 10; $two = 'String'; echo $one,$two; ?> </body> </html>
此时原本的$one变量是一个整数的,但经过于字符串变量“two”连接 ,将会被自动转换为字符串类型 。
字符串+字符串 (整型)! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>data</title> </head> <body> <?php $one = "1"; // 字符串 $two = "a"; // 字符串 $num = $one + $two; echo "$num"; ?> </body> </html>
此时经过隐式类型转换,“1”与“a”相加,输出结果为“1” ,将会被自动转换为“整型”
字符串+浮点数(浮点型)! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = "1"; $two = $one + 3.14; echo "$two"; ?> </body> </html>
经过字符串与浮点数的相加,最后得出的结果类型将会被自动转换成‘**”整数型”**
强制类型转换(显性类型转换) 整型 (int) 字符串转整型 (int) 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (int)"hello,world!"; echo "$one"; ?> </body> </html>
浮点型转整型 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (int)3.14; echo "$one"; ?> </body> </html>
布尔转整型 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (int)false; echo "$one"; ?> </body> </html>
字符串(int) 整型转字符串 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (string)10; echo "$one"; ?> </body> </html>
浮点型转字符串 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (string)3.14; echo "$one"; ?> </body> </html>
浮点型 (float) 整型转浮点型 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (float)3; // 浮点型结果为 3.00 echo "$one"; ?> </body> </html>
布尔型(bool,boolean) 变量为布尔型 (bool)! 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (bool)1; // 经过布尔转换值应为“true” echo "$one"; ?> </body> </html>
变量为布尔型 (boolean) 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (boolean)0; // 经过布尔转换值应为“false” echo "$one"; ?> </body> </html>
数组转字符串 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $arrayName = array('key1' => 1,'key2' => 2,'key3' => 3); extract($arrayName); echo "$key1"; ?> </body> </html>
ID
DA
FA
(int),(integer)
转换为整型
整型
(string)
转换为字符串
字符串
(float),(double),(real)
转换为浮点型
浮点型
(bool),(boolean)
转换为布尔
布尔型
(array)
转换为数组
数组
extract
数组转字符串
(object)
转换为对象
对象
整型 (-2147483648~2147483647) 十进制数 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > demo</title > </head > <body > <?php $data = 1; echo "$data"; ?> </body > </html >
八进制数 [^在八进制中,必须在数字前面加上“0”] 1 2 3 4 <?php $data = 0123 ; echo "$data " ; ?>
十六进制数 [^需在数值前面加上“0x”] 1 2 3 4 <?php $data = 0x1B ; echo "$data " ; ?>
零 1 2 3 4 <?php $data = 0 ; echo "$data " ; ?>
负数 1 2 3 4 <?php $data = -50 ; echo "$data " ; ?>
浮点型 普通浮点型 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > demo</title > </head > <body > <?php $data = 3.14; echo "$data"; ?> </body > </html >
精度 (3.3e4) 1 2 3 4 <?php $two = 3.3e4 ; echo "$two " ; ?>
最大精度 (1.8e308)! 1 2 3 4 <?php $three = 1.8e308 ; echo "$three " ; ?>
字符串(”String”) 输出单个字符串 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > demo</title > </head > <body > <?php $one = "Hello,"; echo "$one"; ?> </body > </html >
组合字符串 1 2 3 4 5 6 <?php $one = "Hello," ; $two = "World" ; echo "$one $two " ;?>
字符串特殊字符输出
ID
DA
\n
换行
\r
回车
\t
tap
\\
反斜线
\$
美元符号
\“
双引号
输出单引号
1 2 3 4 5 6 7 8 9 10 11 12 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > demo</title > </head > <body > <?php echo '吾有一\'单引号'; ?> </body > </html >
输出\
1 2 3 4 5 6 7 8 9 10 11 12 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > demo</title > </head > <body > <?php echo '吾有一\\'; ?> </body > </html >
如果使用“\‘转义其他字符,则“\”也会显示,使用双引号和单引号的主要区别是。单引号定义的字符串中出现的变量和转义序列不会被变量值替代;而双引号中使用的变量名在显示变量的值。
布尔型 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > data</title > </head > <body > <?php $a = true; $b = false; echo "$a"; ?> </body > </html >
True 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > data</title > </head > <body > <?php $a = true; echo "$a"; ?> </body > </html >
False 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > data</title > </head > <body > <?php $a = false; echo "$a"; ?> </body > </html >
布尔型主要有两个值,分别为“false” and “false”,在PHP中,这两个值是没有大小写限制的,可以使用“TRUE” and “FALSE” or “true” and “false”两种写法,本文使用小写。
数组 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $arrayName = array("key1" => "Hello", "key2" => "World"); $one = (array)$arrayName; echo "$one"; ?> </body> </html>
数值 One (0,1,2) 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > data</title > </head > <body > <?php $one = array(0,1,2); s var_dump($one); ?> </body > </html >
Two (0 > 0, 1 > 1) 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > data</title > </head > <body > <?php $two = array("One" > "one","Two" > "two","Three" > "three"); var_dump($two); ?> </body > </html >
数组可以在变量中存储多个值,使用var_dump 方法可以返回数据的类型和值
类与对象 定义类 1 2 3 4 5 <?php class one { } ?>
定义对象 1 2 3 4 5 6 <?php class one { $data = new data (); } ?>
调取对象数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > data</title > </head > <body > <?php class person { function one() { echo "Hello,world!"; } } $person = new person(); $person -> one(); ?> </body > </html >
ID
DA
FA
/
转义
new
初始化对象
class
定义类
function
新建对象功能
根据上一章节“PHP连接数据风格”来看,PHP主要分为面向过程风格和面向对象风格两种风格来连接数据库,通常主要列举三种函数,分别为MySQLi、MySQLi_connect、PDO三种函数,但本书仅使用MySQLi、MySQLi_connect两种格式和函数进行演示,对PDO深有兴趣的读者,还请自行进行研究和学习。
对数据库帐号进行权限设置 对数据库帐号权限设置的前提是PHP需要对MySQL执行下写入、修改、删除的权限。如当前数据库连接帐号权限不够完成操作时则会报错为**ERROR 1044 (42000): Access denied for user ‘sun‘@’localhost’ to database ‘password’**,为避免出现此问题所以按照本书流程进行操作
查询当前数据库所有用户
1 select distinct user from mysql.user;
或使用:
1 2 use mysql; #进入mysql库 select * from user; # 查看所有用户
分配帐号权限 分配所有权限给用户 基本格式 1 GRANT 权限 on 库.表 to '用户'@'localhost';
授权用户 1 grant all on *.* to 'user'@'localhost'; # 将所有MySQL权限和库访问及操作权限授权给sun
创建数据库 面向对象 MySQLi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php // 连接数据库 $server = '127.0.0.1:3306'; $username = "sun"; $password = "7e63de77"; $mkmysql = new mysqli($server,$username,$password); if ($mkmysql -> connect_error) { echo "连接失败"; } // 创建数据库 $sqlcommand = "CREATE DATABASE password"; if ($mkmysql -> query($sqlcommand) === TRUE) { echo $sqlcommand,"数据库创建成功"; } else { echo "数据库创建失败"; } // 关闭数据库连接流 $mkmysql -> close(); ?> </body> </html>
面向过程 MySQLi_connect
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demos</title> </head> <body> <?php // 连接数据库 $server = '127.0.0.1:3306'; $username = "sun"; $password = "7e63de77"; $mkmysql = mysqli_connect($server,$username,$password); if (!$mkmysql) { echo "数据库连接失败"; } // 创建数据库 $sqlcommand = "CREATE DATABASE world"; if (mysqli_query($mkmysql,$sqlcommand)) { echo "数据库创建成功"; echo "数据库命令为: ",$sqlcommand; } else { echo "数据库创建失败"; } // 关闭数据库流 $mkmysql -> close(); ?> </body> </html>