PHP——基本使用(二)

PHP与Apache

  • Apache服务器在接受到客户端请求的时候,根据客户端所请求的文件的类型,然后去问模块能否处理此文件,php作为模块之一有可能可以处理此文件,处理之后将数据再返回给apache,apache再传给客户端。如果php无法处理,apache会自己处理再返回给客户端

PHP基本使用

省略结束标记

  • php在有结束的情况下且后面无代码,如果在结束标记后打多个回车,那么返回给客户端的数据就会有回车,这样的情况可以省略结束标记
<?php 
    echo "hello";

输出内容

  • echo可以输出多个参数,print只能输出一个参数
  • var_dump一般用于调试,可以输出数据和数据类型,而且echo true 结果1,但是false确实什么都没有,所以用var_dump不仅可以查看数据的类型还有值
<?php 
    var_dump(false);//bool(false)
<?php 
    $arr=['hello1'=>'say1','hello2'=>'say2'];
    var_dump($arr);
//array(2) { ["hello1"]=> string(4) "say1" ["hello2"]=> string(4) "say2" }

 

语句混编

  • 普通嵌入
<h1><?php echo "hello"; ?></h1>

 

  • 语句混编
<?php $value=20 ?>
<?php if ($value>18) { ?>
    <h1>成年人</h1>
<?php } else { ?>
    <h1>未年人</h1>
<?php } ?>

 

  • 指令式语法
<?php $value=20 ?>
<?php if ($value>18): ?>
<h1>成年人</h1>
<?php else: ?>
<h1>未成年</h1>
<?php endif ?>

 

PHP基本语法

函数作用域

  • php在这一点上与大多数语言不同,默认函数内部不能访问函数所在作用域的成员,如果函数内部需要访问可以使用global声明
  • "global $value;"是产生了函数外部$value的别名变量"$value",它不是真正的函数外部变量,他只存在于函数的内部,所以即使在函数内将别名变量删除也不会影响外面的变量,但是可以修改函数外部变量的值。
  • $GLOBALS是由所有已定义全局变量自动形成的数组。变量名就是该数组的索引。即$GLOBALS['value']与函数外部的变量$value是同一个变量,所以将$GLOBALS['value'] 删除后,该变量已不存在,所有无法输出了
  • 参考:http://zzk.cnblogs.com/s?t=b&w=php%20global
<?php 
$value=1;
function say(){
    global $value;
    echo $value;
}
function ye(){
    echo $GLOBALS['value'];
}
say();//输出1
ye();//输出1

 

双引号

  • 单引号只是字符串的输出,不支持转义字符,除了双反斜线 \\ 和 单反斜线 \
  • 双引号支持解析变量和转义字符,例如换行 \n
<?php 
$value=1;
echo 'what\'s your name?';
echo "<br>";
echo "what's your name?\n";
echo "<br>";
echo "数字$value";

开启PHP扩展

  • php=>ext=>php_mbstring.dll,php的扩展包都在ext文件下,但是默认都没有引用
  • 将php目录下的php.ini-development复制一份改名为phpo.ini,进入修改文件配置:extension_dir = "C:/php/ext",指定扩展包目录路径;extension=php_mbstring.dll,将;取消
  • 在apache的主配置文件的LoadMoudle下输入 PHPIniDir C:/php/,指定php文件的php.ini文件所在目录路径,重启apache
  • 调用phpinfo()方法打印php配置信息,发现php.ini配置文件的路径虽然还是c盘下的windows目录,但是真正加载的路径已经变了,而且我们还能找到mbstring扩展包的信息,同样我们也可以加载mqsqli扩展包

API测试

  • 打开cmd,进入php目录
  • 执行php -a命令就可以进入php的REPL环境,会看到php提示,这里就可以做一写API简单测试,也不用经过Apache

 

posted @ 2018-03-25 13:53  var_obj  阅读(303)  评论(0编辑  收藏  举报