PHP之面向对象(上)
PHP
1,定义:动态交互的计算机语言,弱类型语言
静态交互 html css js
凡是动态交互的都需要服务器phpstudy
2,使用集成服务器phpstudy
apache 服务器
mysqi 数据库
WWW 是根目录,写好的项目放在根目录下面打开
打开方式---ipv4地址+:8088+目录
如何访问---https:// 域名 / ip地址:端口
3,php都是以php结尾的文件
http文件里面不能写PHP代码,但是PHP文件可以嵌套html代码
4,对比template.js underscore 中的template
html 该怎么写怎么写
js <% %>
5,PHP模板
html 该怎么写怎么写
php <? php ?>
6,语法
<? php php代码 ?>
// /* */ 注释 快捷键 Ctrl + ?
echo print 输出语句
7,变量
-变量的命名 区分大小写
-变量的标志 $
-变量的赋值 =赋值运算 从右往左
$a=2; 存放2的数据空间的地址赋值给变量a
-变量的主要功能
存储数据
如果=右边是基本数据类型,PHP会默认把地址和数据空间为一体,直接赋值给a
但是基本数据类型的赋值可以直接忽略地址,直接操作数值
$a=2; $b=$a; 2
如果我们想把地址赋值给变量,需要在前面加上一个地址符&,他的赋值就是操作地址,不再是操作值;
8,PHP的数据类型
基本:int float Boolean string
复合:array object
特殊:null resource(资源)
9,变量的作用域
local 局部 global 全局 static 静态 parameter 参数
-local 局部 函数内的都是局部作用域
-global 全局 函数外的都是全局作用域
和JS作用域的区别:
js中有作用域链,PHP没有
php中全局作用域不能访问局部的,局部也不能访问全局,得手动操作
局部非要访问全局变量,在局部变量加关键字 global
-static静态
函数调用完毕之后,会自动消除内存,但有时我们需要函数内的一个变量不被销毁,PHP使用static就解决了
-parameter参数 isset()判断变量是否设置(赋值),返回值是Boolean
10,复合(数据)类型
array object
针对变量,PHP是弱类型语言,是什么类型跟你声明的时候没关系,跟你赋值的时候有关系
var_dump() 返回变量的数据类型和值
11,字符串
1)幷置运算
js中拼接用+
PHP中叫幷置 .
注意 php的汉字出现乱码 我们需要在php的第一行添加
header("Content-Type: text/html;charset=utf-8")
2)strlen()返回字符串的长度
一个字母一个字符长,一个汉字三个字符串
3)运算符
四则运算 + - * /
赋值运算 $a+=2 $a=$a+2
自增自减 $a++ ++$a
比较运算符 等于== 主要用于判断 ===值与类型相同 ==值相同
逻辑运算 || && ! || 有一个为true 就返回true && 都得为true 才返回true
三目运算 条件?echo1:echo2
求余运算 % echo 8%5; 3
12,php流程语句
php代码执行 从上至下
条件语句:if else switch
循环语句:for while do while foreach
foreach 是针对关联数组的array()
Array(“name”=>”zhang”,”age”=>12) 这种写法我们叫关联数组
Php中没有json格式,但是对于前端来说,要json格式。
Php提供了一个方法叫 json_encode() 将数据转换成json格式
注意 while和do while:
While是先判断后执行,do while 先执行后判断
13,数组
1)数组 $arr=[“zhang”,”li”] $a=array(“yuan”,”ni”)
2)关联数组 $arr=array(“name”=>”zhang”,”age”=>56)
3)多维数组 获取数组长度的方法 count() Is_array() 判断一个变量是不是数组
14,函数
PHP自定义函数和内置函数
使用关键字function定义函数 function(){}
函数调用的时候会开辟内存空间,里面有栈和堆,调用完毕之后这个内存就会被销毁
函数作用域:local global static parameter
global变量都会存在一个叫$GLOBALS数组中
15,函数的传参
1)参数传参
2)默认传参 默认与普通同时传,注意顺序问题
3)在js中函数自身有一个arguments的属性,叫实参构成的数据集合
Func_num_args() 获取实参的个数
Func_get_args() 获取实参构成的集合
[222,1]
Func_get_arg(index) 获取具体的某一个参数
4)递归函数
函数内部调用函数本身
5)引用传参
将变量的地址传进去,函数内部如果修改了这个地址里的值 函数外也会跟着改
16,PHP常量
PHP常量,设置define函数,并且常量都是全局的,在函数内部也可以访问
超全局变量 数据类型都是array
$GLOBALS php中所有全局变量都会自动存放在这个数组中
默认有5个值
$GLOBALS[“_GET”]
$GLOBALS[“_POST”]
$GLOBALS[“_COOKIE”]
$GLOBALS[“_FILES”]
$GLOBALS[“GLOBALS”]
$GLOBALS[“_GET”] 所有前台用get方法提交的字段 都存在这个数组了
$GLOBALS[“_POST”] 所有前台用post方法提交的字段 都存在这个数组了
$GLOBALS[“_COOKIE”] 存放cookie
$GLOBALS[“_FILES”] 存放文件的信息
$_SERVER 所有跟服务器有关的信息存在这里
$_REQUEST 用于收集表单提交的信息 不管是get还是post
$_GET 用于收集前台get方式提交的数据
$_POST 用于收集前台post方式提交的数据
17,directory目录
创建目录 mkdir(“a”)
如果没有aa这个目录,就创建一个a文件,返回值是true
如果存在这个a文件夹,不创建,返回false
错误抑制符 @ 返回值是false,但是不报错
删除目录 rmdir(“a”)
第一次删除返回值是true,如果没有删除就继续删除,返回值是false
打开目录 opendir(“a”)
返回值是一个resource()of type (stream)这是一个新的数据类型,叫资源数据类型
得到的是一个句柄,用于操作资源
读取目录 readdir(句柄)
读取的时候,他会自动逐个逐个在目录中读取资源,知道全部读取完毕,然后返回false
关闭目录 closedir(句柄)
18,文件操作方法
打开文件的方法 fopen(filename,model)
读取正确返回的是句柄,否则返回false
读取文件的内容 fread(参数1,参数2)
参数1:fopen()返回的是句柄
参数2:读取的是字节长度
最多返回十个字符
fwrite(参数1,参数2,参数3)
参数1:fopen()返回的句柄
参数2:写入的string
参数3:写入的最大字节数目
如写入成功,返回文件内容的字符长,否则返回false
19,魔术常量
__LINE__ 当前行数
__FILE__ 文件的完整路径
__DIR__ 文件的目录
__FUNCTION__ 当前所在的方法名
__CLASS__ 当前所在的类名
__NAMESPACE__ 当前的所在命名空间名
__METHOD__ 当前所在的函数/方法名
20,php引入文件
Include和require
PHP之面向对象(上)的更多相关文章
- java第三节 面向对象(上)
//第三讲 //面向对象(上) /* 理解面向对象的概念 面向过程 在一个结构体中定义窗体的大小,位置,颜色,背景等属性,对窗口操作的函数窗口本身的定义没有任何关系 如HideWindow, Move ...
- 【Java基础】面向对象上
面向对象上 这一章主要涉及 Java 类及类的成员,包括属性.方法.构造器:代码块.内部类. 面向过程与面向对象 面向过程(Procedure Oriented Programming,POP)与面向 ...
- python学习笔记六 初识面向对象上(基础篇)
python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...
- Java和C#在面向对象上语法的区别
做了几年了开发一直没有总结什么,回到了家乡的小城做了一名培训班的教员,教授软件开发的知识.细小的知识从头细细嚼来,别有一番滋味.或是以前遗漏的太多,或是确实没有系统的学习过,教学生的过程中自己也对教材 ...
- Python之路第七天,基础(9)-面向对象(上)
面向对象的编程思想 回想 我们所学过的编程方法: 面向过程:根据业务逻辑从上到下写堆叠代码. 函数式编程:将重复的代码封装到函数中,只需要写一遍,之后仅调用函数即可. 面向过程编程最易被初学者接受,其 ...
- Java基础学习(三)—面向对象(上)
一.理解面向对象 面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节:这种思想是将数据作为第一位,而方法或者说是 ...
- Java编程基础-面向对象(上)
一.面向对象的概念 1.概念:面向对象是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题.当然,一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能.这 ...
- Java学习笔记(面向对象上)
面向对象(上) 面向对象的特点:封装性(是面向对象的核心思想,将对象的属性和行为封装起来).继承性(主要描述类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展)和多态 ...
- Python 面向对象(上)
一. 什么是面向对象? 1. 在了解面向对象之前,首先我们需要知道两个概念:(1)什么是函数?函数是对功能或动作的一种封装.函数的语法结构如下: def func(arg1): '''函数的内部有函数 ...
- Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组
类 面向对象是一种思想,一般指将事务的属性与方法抽出总结为模板(类/class),处理事务时通过类创建/new出对象由对象的功能/方法去完成所要计算处理的事情. 面向过程:POP:以过程,步骤为主,考 ...
随机推荐
- flask flask_session,WTForms
一.Flask_session 本质上,就是是cookie 下的session存储在redis中,方便快速取得session from flask import Flask,session from ...
- 201871010110-李华《面向对象程序设计(java)》第十四周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...
- CF932F Escape Through Leaf(DP,斜率优化)
SB 题. 写出 DP 方程:\(f_i\) 表示从 \(i\) 跳的最小值. \(i\) 是叶子就是 \(0\),否则就是选个子树中的 \(v\),\(f_i=\min(f_v+a_ib_v)\). ...
- Spring Cloud组件使用/配置小记
仅使用,无多少技术含量,权记于此以备忘. 微服务架构下的主要组件 服务注册组件:Consul.Etcd等 网关:Zuul.Spring Cloud Gateway等 容错框架:Hystrix 负载均衡 ...
- Linux网络编程综合运用之MiniFtp实现(一)
春节过后,万物复苏,在这元宵佳节的前一天,决定继续开启新年的学习计划,生命在于运动,提高源于学习,在经过漫长的Linux网络编程学习后,接下来会以一个综合的小项目来将所学的知识点综合运用,首先是对项目 ...
- 2,[VS入门教程] 使用Visual Studio写c语言 入门与技巧精品文~~~~优化篇
本文导航: 关闭界面特效以提高流畅度 解决调试时出现"无法查找或打开PDB文件"的符号问题 注册微软账号并在vs登录 使用Visual Studio Team Services,同 ...
- subprocess实用手册
背景 python执行操作系统的命令,如python执行shell命令 subprocess模块主要用于创建子进程,并连接它们的输入.输出和错误管道,获取它们的返回状态.通俗地说就是通过这个模块,你可 ...
- Computer-Hunters——冲刺总结
Computer-Hunters--冲刺总结 一.作业相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺总结 团队名 ...
- python运维开发常用模块(一)psutil
1.模块简介 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻 松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网 络等)信息.它主 ...
- Python2.x升级python3.x【升级步骤和错误总结】
网上帖子一大堆,按照那些教程操作,确实可以成功安装.但是安装成功之后呢,pip还是用的python2的pip. 切换到python3的pip之后,发现无法下载模块,还会有很多报错信息.以及" ...