欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。

教程  php基础(一)--安装、标记、注释、输出语句、书写规范

PHP学习 本站 940 0评论

一、PHP介绍


PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。

语法吸收混合了C、Java、Perl以及PHP自创的语法特点,利于学习,使用广泛,主要适用于Web开发领域。它可以比CGI或者Perl更快速地执行动态网页。

用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP是B/S(Browser/Server,浏览器/服务器)体系结构,属于三层结构。服务器启动以后,用户可以不使用客户端软件,只使用浏览器即可访问,既保持了图形化的用户界面,又大大减少了应用的维护量。


PHP新特性

· PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

· PHP可以比CGI或者Perl更快速的执行动态网页。(动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。)

· PHP支持几乎所有流行的数据库以及操作系统。

· 最重要的是PHP可以用C、C++进行程序的扩展。


PHP新的对象模型


1)构造函数和析构函数 

在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。在 PHP5 中,构造函数被统一命名为 __construct,并且引入了析构函数的概念,被统一命名为 __destruct。


2)对象的引用 

在PHP4中,传递变量给一个函数或方法,实际是把这个变量做了一次复制,也就意味着你传给函数或方法的是这个变量的一个副本,除非你使用了引用符号“&;” 来声明是要做一个引用,而不是一个 Copy。在 PHP5中,对象总是以引用的形式存在的,对象中的赋值操作同样也都是一个引用操作。


3)对象的克隆 

当一个对象始终以引用的形式来被调用时,如果我想得到该对象的一个副本,该怎么办呢?PHP5 提供了一个新的功能,就是对象的克隆,语法为 __clone。


4)抽象类

· 抽象类不能被实例化。

· 抽象类与其它类一样,允许定义变量及方法。

· 抽象类同样可以定义一个抽象的方法,抽象类的方法不会被执行,不过将有可能会在其派生类中执行。


5)对象中的私有、公共及受保护模式 


6)接口 (Interfaces)


7)__call 

PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。


8)__set 和 __get 

这是一个很棒的方法,__set 和 __get 方法可以用来捕获一个对象中不存在的变量和方法。


9)类型指示

在 PHP5 中,你可以在对象的方法中指明其参数必须为另一个对象的实例。


10)静态成员

静态成员和静态方法在面象对象编程的术语中被称作 “类方法(class methods)” 和 “类变量(class variables)”。“类方法” 在一个对象没有实例化前允许被调用。同样,“类变量” 在一个对象没有实例化前可以被独立操作控制(不需要用一个对象的方法来控制)。


PHP技术应用

1)伪静态

2)静态页面生成

3)数据库缓存

4)过程缓存

5)div+cssw3c标准

6)大负荷

7)分布式

8)Flex

9)桌面程序应用(不擅长)

10)支持MVC模型

11)Smarty模版引擎

12)多种框架


二、PHP开发环境搭建


参考文章:http://www.ittxx.cn/view/79

PHP的安装和配置,扩展的安装参考官网:http://php.net/manual/zh/install.php 


三、语法和标记注释


1.语法


PHP 脚本可放置于文档中的任何位置

PHP 脚本以 <?php 开头,以 ?> 结尾:

<?php
// 此处是 PHP 代码
?>

PHP 文件的默认文件扩展名是 ".php"。

PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。


下面的例子是一个简单的 PHP 文件,其中包含了使用内建 PHP 函数 "echo" 在网页上输出文本 "Hello World!" 的一段 PHP 脚本:

<!DOCTYPE html>
<html>
<body>
<h1>我的第一张 PHP 页面</h1>
<?php
echo "Hello World!";
?>
</body>
</html>

注释:PHP 语句以分号结尾(;)。PHP 代码块的关闭标签也会自动表明分号(因此在 PHP 代码块的最后一行不必使用分号)。


2.标记风格


PHP标记风格有4种,如下:

1)标准风格:<?php  echo “Hello,world”;  ?>

2)脚本风格:<script  language=”php”>  echo ‘Hello,world’;  </script>

3)简短风格:<?  echo “Hello,world”;  ?>

4)ASP风格:<%  echo “Hello,world”;  %>

说明:如果使用3或4风格,需要在php.ini中设置如下:

Short_open_tag=On     asp_tags=On 


3.PHP注释


PHP注释有3种,如下:

单行注释:  //注释内容

多行注释:  /* …注释内容…*/  (注意多行注释不允许嵌套操作)

Shell风格注释:  #注释内容  (注意单行注释内容中不能有’?>’ )

例子:

/** 
*这是一个什么文件 
* 
*此文件程序用来做什么的(详细说明,可选。)。 
* @author      richard<mail@163.com> 
* @version     $Id$ 
* @since        1.0 
*/

以上注释用于文件头部,函数头部,类的头部注释。如果是单行注释直接在语句末尾加上

如:$this->createDataFiles();   // 生成数据文件  


4.指令分隔符;


同 C 或 Perl 一样,PHP 需要在每个语句后用分号结束指令。一段 PHP 代码中的结束标记隐含表示了一个分号;在一个 PHP 代码段中的最后一行可以不用分号结束。如果后面还有新行,则代码段的结束标记包含了行结束。

<?php
    echo "This is a test";
?>
<?php echo "This is a test" ?>
<?php echo 'We omitted the last closing tag';


提示:

文件末尾的 PHP 代码段结束标记可以不要,有些情况下当使用 include 或者 require 时省略掉会更好些,这样不期望的空白符就不会出现在文件末尾,之后仍然可以输出响应标头。在使用输出缓冲时也很便利,就不会看到由包含文件生成的不期望的空白符。


四、输出语句


PHP的输出语句有以下几种:echo,print,printf,sprintf,print_r下面对这几种语句进行说明和对比。


1.echo

echo 是一个语言结构,有无括号均可使用:echo 或 echo()。是程序设计中最常用的一种输出方法,

语法:  echo "string arg1,string [arg2]...."。 

· echo语句将传入的参数arg1进行输出。

· 由于它本身不是一个函数,没有返回值

· echo 后面能连续输出多个字符串,用逗号分开。例:echo  $str1 , $str2,$arr[3];

· 连续输出的多个字符串也可以用"."连接起来,成为一个新的字符串。例:echo  $str1 . $str2;


2.print

print 也是语言结构,有无括号均可使用:print 或 print()。只能输出一个字符串,可以有返回值,

语法:print(string arg) 语句执行成功返回1,失败返回0。


echo和print对比:

1)但是echo速度会比print快一点点。因为它不是一个函数,没有返回值。print有返回值为1。如: $x=echo time();//错误的     $x=print time(); //正确

2)echo 可以连续输出多个字符串,而print不行。如:print $str1 , $str2;是错误的。

3)echo与print输出的都是没有格式化的字符串

4)echo与print输出的字符串中都可以包含HTML标记,如:

echo "<h2>PHP is fun!</h2>";  print "<h2>PHP is fun!</h2>";


3.printf()和sprintf()

它们都是函数,是输出格式化的字符串

sprintf并不是直接输出字符串到网页上,而是返回格式化的字符串。可以赋值给变量。

如:$a= sprintf(“%s”,$string);


printf函数语法如下:void  printf(format,arg1,arg2,arg++)

sprintf函数语法如下:string  sprintf (format arg1,arg2,arg++)


例: 

$string= 15;
printf(“%c”,$string);  //将整形转换层ASCII字符,输出。
$a=sprintf(“%c”,$string); //格式化并赋值给变量a,输出15


参数 format 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。下面是可能的 format 值:

%% – 返回百分比符号

%b – 二进制数

%c – 依照 ASCII 值的字符

%d – 带符号十进制数

%e – 可续计数法(比如 1.5e+3)

%u – 无符号十进制数

%f – 浮点数(local settings aware)

%F – 浮点数(not local settings aware)

%o – 八进制数

%s – 字符串

%x – 十六进制数(小写字母)

%X – 十六进制数(大写字母)


arg1, arg2, arg++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的,在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 “$” 组成。可使用数字指定显示的参数,详情请看例子。例子:

printf("My name is %s %s。","xshell", "net"); // My name is xshell net。
printf("My name is %1$s %1$s","xshell", "net"); 
// 在s前添加1$或2$.....表示后面的参数显示的位置,此行输出 My name is xshell  xshell
只显示第一个参数两次。
printf("My name is %2$s %1$s","xshell", "net"); // My name is net xshell


如果你只想输出静态文件,那么echo()和print()都可以;但是如果你想把一个动态数据推入到一个原本是静态的文本中,则你得使用printf()和spintf()。


关于printf()

前面说到如果你想把一个动态数据推入到一个原本是静态的文本中,这是什么意思呢?

实例说明一切:

printf(Bar inventory:%d bottles of tonic water.,200)    //Bar inventory:100 bottles of tonic water.

其中%d是一个占位符,告诉程序这将用一个类型为整形的变量来替代(后面的200)。

当然如果后面的200是一个小数,则会取最接近的整数。


4.print_r() 

print_r函数打印关于变量的易于理解的信息。输出数组、对象等复合数据类型

语法:mixed print_r ( mixed $expression [, bool return ] )

如果变量是string , integer or float , 将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读,也就是有key和value对应的那种格式。对于object对象类同。print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回字符串,否则返回布尔值true,默认是false。

例子:

$a="xshell";
$c = print_r($a);  
echo $c; // $c的值是true或1
$c = print_r($a, true);
echo $c; // $c的值是字符串xshell

输出:

xshell1xshell

sandbox> exited with status 0


5.var_dump()

功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。例

$a=100;
var_dump($a);  //int(100)
$a=100.356;
var_dump($a);  //float(100.356)
$a = array (1, 2, array ("a", "b", "c"));
var_dump($a);  //array(3)

输出:

int(100)

float(100.356)

array(3) {

[0]=>

int(1)

[1]=>

int(2)

[2]=>

array(3) {

[0]=>

string(1) "a"

[1]=>

string(1) "b"

[2]=>

string(1) "c"

}

}


五、PHP语言书写规范


请参考网址:https://ittxx.cn/view/256 


转载请注明: ITTXX.CN--分享互联网 » php基础(一)--安装、标记、注释、输出语句、书写规范

最后更新:2019-02-28 09:36:10

赞 (1) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽