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

PHP——基本使用(二)的更多相关文章

  1. 【小程序分享篇 二 】web在线踢人小程序,维持用户只能在一个台电脑持登录状态

    最近离职了, 突然记起来还一个小功能没做, 想想也挺简单,留下代码和思路给同事做个参考. 换工作心里挺忐忑, 对未来也充满了憧憬与担忧.(虽然已是老人, 换了N次工作了,但每次心里都和忐忑). 写写代 ...

  2. 前端开发中SEO的十二条总结

    一. 合理使用title, description, keywords二. 合理使用h1 - h6, h1标签的权重很高, 注意使用频率三. 列表代码使用ul, 重要文字使用strong标签四. 图片 ...

  3. 【疯狂造轮子-iOS】JSON转Model系列之二

    [疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...

  4. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  5. 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  6. MIP改造常见问题二十问

    在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...

  7. 如何一步一步用DDD设计一个电商网站(二)—— 项目架构

    阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的 ...

  8. ASP.NET Core 之 Identity 入门(二)

    前言 在 上篇文章 中讲了关于 Identity 需要了解的单词以及相对应的几个知识点,并且知道了Identity处在整个登入流程中的位置,本篇主要是在 .NET 整个认证系统中比较重要的一个环节,就 ...

  9. MVVM模式和在WPF中的实现(二)数据绑定

    MVVM模式解析和在WPF中的实现(二) 数据绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  10. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

随机推荐

  1. Sockets Tutorial

    Sockets Tutorial This is a simple tutorial on using sockets for interprocess communication. The clie ...

  2. 【LeetCode-面试算法经典-Java实现】【067-Add Binary(二进制加法)】

    [067-Add Binary(二进制加法)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given two binary strings, return thei ...

  3. hdu1025 Constructing Roads In JGShining&#39;s Kingdom(二分+dp)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025 Problem ...

  4. UVA1523-Helicopter(暴力+全排列)

    题目链接 题意:有八个乘客坐在直升机上,求重心M最小值. 思路:依据题目所给的公式,我们能够知道要使得M最小.也就是要使得Mv和Mh的和最小,我们能够使用全排列,分别将每一个值放在各个位子上,然后更新 ...

  5. 使用qemu

    1 获取qemu启动linux kernel的log qemu-system-x86_64 -nographic -kernel xxx -initrd xxx -append "conso ...

  6. mysql default null empty string concat varchar text

    text不可设置默认值 null  empty string   前者update 初始值时 我响应,但不报错

  7. struts 模块化

    <struts> <!-- 包含了三个配置文件 --> <!-- 不指定路径默认在src下时的方式 --> <include file="strut ...

  8. java jmenu的替代方案

    本来想实现一个类似jmenu的窗口,但是发现找了半天也没从L&F中找到实现menu的消失的头绪,最后还是使用了替代方案 使用JDialog来模拟一个menu的窗口,设置 setModel(fa ...

  9. CentOS常用基础命令大全

    这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1 ...

  10. 6 WPF控件

    WPF控件分类: 内容控件 标题内容控件 文本控件 列表控件 基于范围的控件 日期控件 控件类 控件是与用户交互的元素.控件可以获得焦点,能接受键盘或鼠标的输入. 所有控件的基类是System.Win ...