백엔드 개발 PHP 튜토리얼 PHP常见知识点梳理小结

PHP常见知识点梳理小结

Jun 13, 2016 am 11:49 AM
cookie include php require

PHP常见知识点梳理总结

PHP方面:
1,echo print print_r的区别
Echo是PHP语句,print与print_r是函数语句没有返回值,函数可以有返回值
Print只能打印简单类型变量的值。
Print_r可以打印复杂变量值(数组或对象)
Echo 输出一个或者多个字符串。

2,mysql_fetch_array() 与mysql_fetch_row()区别
mysql_fetch_array()返回根据从结果集取得的行生成的数组,如果没有更多行,返回false,除了将数据以字段做索引外,还可以用字段名作为索引。
mysql_fetch_row() 返回从结果集中取得一行作为枚举数组,返回一个数字索引的数组,偏移量从0开始。
mysql_fetch_array() 是mysql_fetch_row()的扩展版本。

3,PHP面向对象中 _set() 与 _construct的作用
_set() ——- 用于为属性设置值, _get() 获取属性的值
_construct ——- 在一个类中只能声明一个构造方法,只有在每次创建对象的时候回去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。

4,PHP中session与cookie的区别
Cookie是保存在客户端的信息,是一种在远程浏览器储存数据并以此来跟踪和识别用户的机制。PHP的http协议的头信息里发送cookie,因此setcookie()函数必须在其他信息输出前调用,和header()函数的限制类似。
Session是保存在服务器端的信息,从这个角度,session比cookie更安全。当会话创建时,服务器返回客户端一个加密的session_id 以标识用户身份,浏览器关闭时,session会销毁,从而session存的值就没有了。

5,如何设置cookie并指定有效的时间
Bool setcookie(string name,string value,int expire,string path,string domain,bool secure,bool httponly)
Name : cookie变量名
Value : cookie 变量值
Expire: 有效期结束的时间
Path: 有效目录
Domain: 有效域名,顶级或唯一
Secure: 如果值为1,则cookie只能在https连接上有效,如果为默认值0,http和https都可以

Php设置cookie
$value = ‘something from somewhere’;

setcookie(“TestCookie”, $value); /* 简单cookie设置 */
setcookie(“TestCookie”, $value, time()+3600); /* 有效期1个小时 */
setcookie(“TestCookie”, $value, time()+3600, “/~rasmus/”, “.example.com”, 1); /* 有效目录 /~rasmus,有效域名example.com及其所有子域名 */
?>
使用header()设置cookie;
header(“Set-Cookie: name=$value[;path=$path[;domain=xxx.com[; ]]”);
后面的参数和上面列出setcookie函数的参数一样.

Cookie的机制原理:
a) 服务器通过随着响应发送一个http的Set-Cookie头,在客户机中设置一个cookie(多个cookie要多个头).
b) 客户端自动向服务器端发送一个http的cookie头,服务器接收读取.
HTTP/1.x 200 OK
X-Powered-By: PHP/5.2.1
Set-Cookie: TestCookie=something from somewhere; path=/
Expires: Thu, 19 Nov 2007 18:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-type: text/html

这一行实现了cookie功能,收到这行后
Set-Cookie: TestCookie=something from somewhere; path=/
浏览器将在客户端的磁盘上创建一个cookie文件,并在里面写入:
TestCookie=something from somewhere;
/
这一行就是我们用setcookie(‘TestCookie’,’something from somewhere’,’/’);的结果.也就是用header(‘Set-Cookie: TestCookie=something from somewhere; path=/’);的结果.
6,PHP面向对象中的访问控制
Public 表示全局,类内部外部子类都可以访问
Private 表示私有,只有本类内部可以调用
Protected 表示受保护的,只有本类或子类或父类可以访问

7,什么是PHP的MVC,MVC的作用及原理
MVC是一个设计模式,它强制性的使应用程序的输入,处理,输出分开,使用MVC应用程序本分成了三个核心部分:模型,视图,控制器,它们各自处理自己的任务。

MVC的原理:首先控制器接受用户的请求,并决定应该调用用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,然后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
基本原理:表现层(V)的请求发送到控制器(C),控制器根据请求类型调用业务层(M),最终调用表现层显示。

8,PHP中include require 的区别
这两种结构在处理失败之外有不同,include产生一个警告,而require则导致一个致命的错误,换句话说,如果你想在遇到丢失文件时停止处理页面就用require。Include就不是这样,脚本会继续执行。
Require的使用方法如require(“Myfile.php”); 这个表式通常放到PHP程式的最前面,PHP执行前,就会读入require所指定引入的档案,使它变成PHP程式网页的一部分。
Include使用方法和上面相同,这个程式一般放到流程控制的处理区段,php程式网页在读到include的档案时,才将它读进来,这种方式,可以把程式执行时的流程简单化。

当页面执行到require()时,如果require是一个PHP、HTML页面的话,这时就会马上转到去执行该页面了。而include,一般是用于include进来一些inc文件。比如说可以将你的网站的页头和页眉作为一个inc文件,这样在每个PHP文件里面再include进来。include实际只是将你要include的文件嵌入到当前页面当中。而require则是马上去执行你所请求的页面。
——————————————————————————–
incluce在用到时加载
require在一开始就加载
_once后缀表示已加载的不加载
php系统在加载php程序时有一个伪编译过程,可使程序运行速度加快。但incluce的文档仍为解释执行
include的文件中出错了,主程序继续往下执行
require的文件出错了,主程序也停了
所以包含的文件出错对系统影响不大的话(如界面文件)就用include,否则用require
include_once()函数,require_once()函数会先检查目标档案的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容

10,计算两个时间差 2009.5.12 2009.5.20
$regist1 = “05/12/2006″;
$regist2 = “10/05/2007″;
list($month1,$day1,$year1)= explode(“/”,$regist1);
list($month2,$day2,$year2)= explode(“/”,$regist2);
$regist1 = mktime(0,0,0,$month1,$day1,$year1);
$regist2 = mktime(0,0,0,$month2,$day2,$year2);
$time_difference = $regist2-$regist1;

11,你了解的协议有哪些?HTTP协议的错误提示代表什么?
SMTP(Simple Mail Transfer Protocal)称为简单邮件传输协议,目标是向用户提供高效、可靠的邮件传输。
POP的全称是 Post Office Protocol ,即邮局协议,用于电子邮件的接收,它使用TCP的110端口,现在常用的是第三版,所以简称为 POP3
IMAP是Internet Message Access Protocol的缩写,顾名思义,主要提供的是通过Internet获取信息的一种协议。
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。
IE提示 HTTP 403 – 禁止访问
IE提示 HTTP 403.9 – 禁止访问:连接的用户过多
IE提示 HTTP 404 – 无法找到文件
IE提示 HTTP 500 – 内部服务器错误

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

cakephp4에서 날짜와 시간을 다루기 위해 사용 가능한 FrozenTime 클래스를 활용하겠습니다.

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

이번 장에서는 라우팅과 관련된 다음과 같은 주제를 학습하겠습니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP 유효성 검사기 만들기 CakePHP 유효성 검사기 만들기 Sep 10, 2024 pm 05:26 PM

컨트롤러에 다음 두 줄을 추가하면 유효성 검사기를 만들 수 있습니다.

See all articles