对于初次学习php的来说,需要在自己电脑上搭建php环境。省去空间和上传的麻烦!
这里推荐一个软件:WampServer是一款由法国人开发的Apache Web服务器、PHP解释器以及MySQL数据库的整合软件包。免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。
这篇文章讲的安装很好了,wampserver安装详解
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
(1) 通过虚拟路径访问,也就是URL地址:单线程;
(2) CLI运行方式:真正的多线程
php在程序中使用功能执行语句,例如变量的声明、内容的输出、函数的调用等,是用来在程序中执行某些特定功能的语句,这种语句也可以成为指令,php需要在每个指令后用分号结束。
记得刚学着做php原生态的时候,找个bug半天就是没有找到,后面发现是有个语句分号没写,以前用惯了javascript的语法,有时候习惯不加分号。
ps:养成良好的代码格式规范还是有必要的。
php注释的三种形式:
以“/”和“/”闭合多行注释符,
“//”和”#”开始的单行注释符。
1.php变量的定义是使用$。
1) 以$开头,$后面不能直接跟数字,后面跟字母、数字、下划线;
2) 变量名称区分大小写,PHP关键词不区分大小写;
3)第一次赋值,就创建了变量。必须使用"$"后跟变量名表示。再次给该变量赋值会覆盖之前的变量。
2.变量的类型
4种标量类型:boolean(布尔型)、integer(整型)、float(浮点型)、string(字符串)
2种复合类型:array(数组)、object(对象)
2种特殊类型:resource(资源)、NULL
如果想看某个表达式的值和类型,可以使用函数var_dump()。
3.变量赋值
1)赋值传值:
$h = 120;
$q = $h; //将$h的值拷贝给$q
$h = 135;
echo $h; //输出135
2)引用传值:
$h = 155;
$q = &$h; //引用传值,表示$h的地址传给$q
$q = 195;
echo $h; //输出195
3)可变变量
$a1 = array('username' => '邓海涛', 'passwd'=>'123456', 'tel'=>'15982369', 'email'=>'[email protected]');
foreach ($a1 as $key122 => $value134) {
${$key122} = $value134;
}
echo $email;
echo $tel;
4.变量检测
1)is_array:是否是数组;
2)is_bool :是否是布尔型;
3)is_float :是否是浮点型;
4)is_int :是否是整数;
5)is_null :是否为 NULL;
6)is_numeric :是否为数字或数字字符串;
7)is_object :是否是一个对象;
8)is_resource :是否为资源类型;
9)is_string :是否是字符串;
使用print_r()函数查看数组中的全部内容。
数组分索引数组和关联数组,用array定义一个数组,数组的元素可以是任意类型的值;如果数组的元素还是数组,那么该变量就是多维数组;
//PHP数组的定义
$array1 = array();
// $array1 = []; //用于7.0版本以后
//索引数组
$student = array('梁刚','郑鸿斌','易航','谭俊');//索引从0开始
$num = array(1, 2, 3, 4, 5);
//计算数组的元素个数:count();
$an = count($student);
echo $an;
//关联数组
$student1 = array('name'=>'赵梓茗', 'age'=>18, 'height'=>190.02);
//多维数组
$students = array(
0=>array('name'=>array('realname'=>'邓海涛', 'age'=>18, 'height'=>190),
1=>array('name'=>'邓海涛', 'age'=>18, 'height'=>190),
2=>array('name'=>'邓海涛', 'age'=>18, 'height'=>190),
);
var_dump($students);
1)Echo:输出字符串;
2)print_r() :打印变量的易于理解的信息;
3)var_dump():打印易于理解的完整数据信息及结构,包括字符串长度;
4)exit():打印并停止执行PHP脚本;
die():同exit;
1)双引号里面的变量会解析,单引号不会解析;
2)双引号里面的变量如果还要内容,最好用{}括起来;
3)推荐使用单引号:运行效率稍微高点;
4)如果输出单引号或者双引号,需要转义;
1)SESSION:为每个访问者创建一个唯一 id ,并基于这个ID 来存储信息,Session_id()返回当前会话id;
2)通过session_start() 启动session会话(必须位于 标签之前);
3)$_SESSION[‘username’] = ’用户账号’; 用于设置session值;
4)$_SESSION[‘username’] 用于获取session值;
5)unset() 用于释放指定的session变量;
6)session_destroy() 将重置所有session数据;
7)cookie 信息存储在用户电脑中,每当用户访问网页时同时会发送cookie ;
setcookie(name, value, expire); 用户设置cookie内容;
$_COOKIE[“user”]用于获取cookie的值;
setcookie(“user”, “”, time()-3600);用于删除cookie内容 ;
1)Action指定后台处理的页面,method指定数据传输方式:
2)PHP如何接收POST过来的数据:
获取指定输入框的数据:
全部数据存放在一个数据里面的:
3)PHP接收GET过来的数据方式:$_GET[‘username’];
数组一般使用foreach遍历:
$arrar1 = array(1, 56, -89, 120, 568, 1028, 56, 3);
$max = $arrar1[0];
foreach ($arrar1 as $key => $value) {
if($max < $value){
$max = $value;
}
}
echo $max;
1)函数是可重复使用的代码块,使程序结构清晰,易于维护。
2)函数内部使用外部的变量使用global;
3)函数分为自定义函数和内置函数;
function fn(参数1,参数2,参数3…) {
执行的代码;
Return 返回的数据,可以是数组、对象、字符串等
}
1)打开文件: fh=fopen( filename, “打开模式”);打开模式描述如下表:
2)读取打开的文件指定长度的内容:fread( fh,filesize( filename));
3)读取文件单行内容:Fgets($fh);
一行一行读取文件所有内容:
while(!feof($fh)){
$str1 = fgets($fh);
}
4)文件写入:
fwrite($fh, “访客1\tip:112.105.213.20\t时间:2017-03-06 16:42:21 " . PHP_EOL);
5)关闭打开的文件:fclose($fh);
6)一次性获取文件内容和写入文件的方式:
//读取远程文件内容
$str = file_get_contents('http://localhost/indexmk/preview.do');
var_dump($str);
//写入文件
file_put_contents('a.html', $str);
1)表单method必需为POST;
2)指定表单enctype属性值为”multipart/form-data” :
enctype:encodetype,即编码类型;
multipart/form-data:表单数据由多部分构成,如文本、二进制数据文件等;
3)指定input标签的type为file:
<input type=“file” name=“uploadfile” id=“uploadfile” />;
4)使用$_FILES[‘uploadfile’]获取上传文件的相关信息;
5)move_uploaded_file() :将上传的文件从临时空间移动到你想保存的目录:
move_uploaded_file($_FILES["uploadfile"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
1)面向对象编程简称OOP( Object-oriented programming );
2)类是具有相同属性和服务的一组对象的集合;
3)对象是类的实例;
4)如何定义一个类:
class Person
{
//类的属性
public $name;
//构造函数,对类和属性进行初始化
function __construct($name1, $age1){
$this->name = $name1;
}
}
5)实例化一个对象
$person1 = new Person('李鑫', 170);
//调用对象的属性
echo $person1->name;
6)成员变量
类中的变量,也称为属性。成员变量用来保存信息数据,或与成员方法进行交互来实现某项功能。
定义成员变量的格式为:关键字 成员变量名。
访问成员变量和访问成员方法是一样的。只要把成员方法换成成员变量即可,格式为:
对象名 -> 成员变量
7)成员方法
类中的函数被称为成员方法。
函数和成员方法唯一的区别就是,函数实现的是某个独立的功能,而成员方法是实现类中的一个行为,是类的一部分。
class Student{
//学生的名字
var $name;
function setName($name){
//把局部变量给当前对象的全局变量赋值
$this->name = $name;
}
function getName(){
//返回当前对象全局变量$name
return $this->name;
}
}
8)PHP 构造函数
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值;
function __construct( $name, $age )
{
$this->name = $name;
$this->age= $age;
}
9)析构函数
析构方法的作用和构造方法正好相反,对象生命周期结束时调用;
function __destruct( $name, $age )
{
echo $this->name;
echo $this->age;
}
10)类的继承
PHP 使用关键字 extends 来继承一个类,PHP 不支持多继承。
class ChildClass extends ParentClass {
// 代码部分
}
11)访问控制
–public(公共成员)
可以公开的、没有必要隐藏的数据信息。可以在程序中的任何位置(类内、类外)被其他的类和对象调用。子类可以继承和使用父类中所有的公共成员;
–private(私有成员)
被private关键字修饰的变量和方法,只能在所属类的内部被调用和修改,不可以在类外被访问。在子类中也不可以;
–protected(保护成员)
被protected修饰的类成员,可以在本类和子类中被调用,其他地方则不可以被调用;
12)static: 声明类属性或方法为 static(静态),可以不实例化类而直接访问;
13)Final 关键字
a)如果父类中的方法被声明为 final,则子类无法覆盖该方法;
b)如果一个类被声明为 final,则不能被继承;
14)调用父类构造方法: parent::__construct();
15)自动加载类 __autoload()函数:
function __autoload($classname) {
require_once $classname . '.php';
}
// MyClass1类不存在时,自动调用__autoload()函数,传入参数”MyClass1”
$obj = new MyClass1();
php原生态的基础编程知识学习到了这,下次介绍ci框架下的php编程,基于mvc编程模式,可以更加方便更加快速的开发代码。