日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php小结,PHP编程小结

發(fā)布時(shí)間:2025/3/20 php 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php小结,PHP编程小结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

擴(kuò)展庫(kù)

l通過標(biāo)記中的src屬性,不但可以調(diào)用同一個(gè)服務(wù)器上的JS文件,還可以通過指定路徑來調(diào)用其他服務(wù)器上的JS文件

日期和時(shí)間

?更改PHP語(yǔ)言中的時(shí)區(qū)設(shè)置有兩種方法:修改php.ini,在[date]下的“;date.timezone=”選項(xiàng),將其修改為“date.timezone=Asia/Hong_Kong”;2.在應(yīng)用程序中,在使用時(shí)間日期函數(shù)之前添加函數(shù)date_default_timezone_set(timezone),timezone為PHP可識(shí)別的時(shí)區(qū)名稱。

?Mktime()函數(shù)將一個(gè)時(shí)間轉(zhuǎn)換成UNIX的時(shí)間戳(從1970年到現(xiàn)在的秒數(shù))int mktime(int hour, int minute, int second, int month, int day,

int year, is_dst(是否設(shè)置夏令時(shí))

?Date函數(shù)可以將UNIX時(shí)間戳轉(zhuǎn)換為日期和時(shí)間

?Time()獲取當(dāng)前時(shí)間戳

?Date(string format[, int timestamp])獲取當(dāng)前日期和時(shí)間

?Array getdate(int timestamp )以數(shù)組形式返還日期

?Bool checkdate(int month, int day, int year)檢驗(yàn)日期的有效期(一年多少天之類)

?PHP中的時(shí)間是不可以直接進(jìn)行比較的,所以首先要將事件解析為時(shí)間戳的格式,然后再進(jìn)行比較。Strtotime()函數(shù)可以完成該操作

Cookie與Session

?Cookie的管理:

nCookie是在HTTP協(xié)議下,通過服務(wù)器或腳本語(yǔ)言可以維護(hù)客戶瀏覽器上信息的一種方式。

nCookie是一種在客戶瀏覽器端粗處數(shù)據(jù)并以此來跟蹤和識(shí)別用戶的機(jī)制。Cookie是Web服務(wù)器暫時(shí)存儲(chǔ)在用戶硬盤上的一個(gè)文本文件,并隨后被Web瀏覽器讀取。當(dāng)用戶再次訪問該Web網(wǎng)站時(shí),網(wǎng)站通過讀取Cookie文件記錄這位訪客的特定信息。

nCookie文本文件的命令格式如下:用戶名@網(wǎng)站地址[數(shù)字].txt。

nPHP中通過setcookie()函數(shù)創(chuàng)建Cookie,bool setcookie(string name[, string value [, int ex[ire[, stringpath[, string domain[. Int secure]]]]]]

uCookie是HTTP頭標(biāo)的組成部分,而頭標(biāo)必須在頁(yè)面其他內(nèi)容之前發(fā)送,因此它必須最先輸出。若在setcookie()函數(shù)前輸出一個(gè)HTML標(biāo)記、echo語(yǔ)句、甚至一個(gè)空號(hào)都會(huì)導(dǎo)致程序出錯(cuò)。

uName:cookie的變量名,可以通過$_COOKIE[“cookiename”]調(diào)用變量名為cookiename的Cookie

uValue:Cookie變量的值,該值保存在客戶端

uExpire:Cookie的失效時(shí)間,如果未設(shè)置Cookie的失效時(shí)間,則在關(guān)閉瀏覽器時(shí)自動(dòng)刪除Cookie數(shù)據(jù);如果為Cookie設(shè)置了失效時(shí)間,瀏覽器將會(huì)記住Cookie數(shù)據(jù),即使用戶重啟計(jì)算機(jī),只要沒到期,再次訪問網(wǎng)站是也會(huì)獲得數(shù)據(jù)。

uPath:Cookie在服務(wù)器端的有效路徑,如果該參數(shù)設(shè)置為”\”,則它將整個(gè)domain內(nèi)有效;如果設(shè)置為“/11”,它將在domain下/11目錄及子目錄內(nèi)有效。

uDomain:Cookie有效的域名,如果要是Cookie在mrbccd.com域名下的所有子域名都有效,應(yīng)該設(shè)置mrbccd.com

uSecure:指明Cookie是否僅通過安全的HTTPS,值為0或1,如果為1,Cookie只能在HTTPS連接上有效;默認(rèn)為0,Cookie在HTTP和HTTPS連接上均有效。

n讀取Cookie

u在PHP中可以直接通過超級(jí)全局?jǐn)?shù)組$_COOKIE[]來讀取瀏覽器端餓的Cookie值。

n刪除Cookie

uSetcookie(“name”,””,time()-1)

nCookie的生命周期

u如果Cookie不設(shè)定失效時(shí)間,它的生命周期就為瀏覽器會(huì)話期間,這種Cookie被稱為會(huì)話Cookie,一般不保存在硬盤上,而是保存在內(nèi)存中。

u瀏覽器最多允許存儲(chǔ)300個(gè)Cookie文件,每個(gè)Cookie文件支持最大容量為4KB;每個(gè)域名最多支持20個(gè)Cookie,如果達(dá)到限制時(shí),瀏覽器會(huì)自動(dòng)隨機(jī)刪除Cookie文件。

?Session

nSession會(huì)話文件中保存的數(shù)據(jù)在PHP腳本中是以變量的形式創(chuàng)建的,創(chuàng)建的會(huì)話變量在生命周期(20分鐘)中可以被跨頁(yè)的請(qǐng)求所引用

nSession會(huì)話是存儲(chǔ)在服務(wù)器端的,相對(duì)安全,并且不像Cookie那樣有存儲(chǔ)長(zhǎng)度的限制。

nSession工作原理:當(dāng)啟動(dòng)一個(gè)Session時(shí),會(huì)生成一個(gè)隨機(jī)且唯一的session_id,也就是Session的文件名,此時(shí)session_id存儲(chǔ)在服務(wù)器的內(nèi)存中。當(dāng)關(guān)閉頁(yè)面時(shí)此id會(huì)自動(dòng)注銷,重新登錄此頁(yè)面,會(huì)再次生成一個(gè)隨機(jī)且唯一的id。

n創(chuàng)建會(huì)話

u創(chuàng)建一個(gè)會(huì)話需要通過以下步驟:啟動(dòng)會(huì)話à注冊(cè)會(huì)話à使用會(huì)話à刪除會(huì)話

u啟動(dòng)會(huì)話,有兩種方式:1.

Session_start()函數(shù),2.使用session_register()函數(shù)為會(huì)話創(chuàng)建一個(gè)變量來隱含地啟動(dòng)會(huì)話。

lSession_start()函數(shù)在頁(yè)面開始位置調(diào)用,然后會(huì)話變量被登錄到數(shù)據(jù)$_SESSION。

l使用session_start()函數(shù)之前瀏覽器不能有任何輸出。

u注冊(cè)會(huì)話,會(huì)話變量被創(chuàng)建后,全部保存在數(shù)組$_SESSION中。通過數(shù)組$_SESSION創(chuàng)建一個(gè)會(huì)話變量很容易,只要直接給該數(shù)組添加一個(gè)元素即可$_SESSION[‘a(chǎn)dmin”]=xx;

u使用會(huì)話:判斷會(huì)話變量是否有一個(gè)會(huì)話ID存在,如果存在,則將這個(gè)已創(chuàng)建的會(huì)話變量載入以供用戶使用。如!empty($_SESSION[‘session_name’])) $myvalue = $_SESSION[‘session_name’];

u刪除會(huì)話:刪除會(huì)話的方法主要有刪除單個(gè)會(huì)話、刪除多個(gè)會(huì)話和結(jié)束當(dāng)前會(huì)話3種

l刪除單個(gè)會(huì)話:即刪除單個(gè)會(huì)話變量,unset($_SESSION[‘user’])

l刪除多個(gè)會(huì)話:$_SESSION= array()

l結(jié)束當(dāng)前會(huì)話:session_destroy();

nSession設(shè)置失效時(shí)間

uSession失效時(shí)間設(shè)置主要有以下兩種方法:

l客戶端沒有禁止Cookie

n(不推薦)使用session_set_cookie_params($time);示例為$time=1*60; session_set_cookie_params($time); session_start();

n使用setcookie()函數(shù)可對(duì)Session設(shè)置失效時(shí)間

uSession_start(); $time = 1*60; setcookie(session_name(),session_id(), time()+$time, “/”);

nSession臨時(shí)文件存儲(chǔ)位置,可以由session_save_path($path)完成

nSession緩存:將網(wǎng)頁(yè)中的內(nèi)容臨時(shí)存儲(chǔ)到IE客戶端的Temporary Internet Files文件夾下,并可以設(shè)置緩存的時(shí)間,session_cache_limiter()函數(shù)設(shè)置緩存;session_cache_expire()設(shè)置緩存時(shí)間。Session_cache_limiter()和session_cache_expire()必須在session_start()之前調(diào)用。

nSession數(shù)據(jù)庫(kù)存儲(chǔ)bool session_set_save_handler(string open, string close, string

read, string write, string destroy, string gc),其中的參數(shù)其實(shí)都是函數(shù)名

圖像支持

文件系統(tǒng)

面向?qū)ο?/p>

?類的定義

class SportObject {

function beatBasketball()($name, $height) {

}

}

?類的實(shí)例化:通過關(guān)鍵字new來聲明一個(gè)對(duì)象;然后通過對(duì)象名->成員方法來調(diào)用要使用的方法

?成員變量的格式為:關(guān)鍵字成員變量名,關(guān)鍵字可以使用public、private、protected、static、final中的任意一個(gè)。訪問成員變量的方式也是對(duì)象名->成員變量

nProtected:指可以在本類及子類中被調(diào)用;

nStatic:不需要實(shí)例化對(duì)象,直接可調(diào)用,“self::靜態(tài)成員“或者”類名::靜態(tài)成員”即可訪問。可以是靜態(tài)變量也可以是靜態(tài)方法。靜態(tài)方法中只能調(diào)用靜態(tài)變量、不能調(diào)用普通變量。

nFinal:被final修飾過的類和方法就是“最終的版本”

uFinal class classname {}說明該類不可以再被繼承

uFinal function methodname()說明該方法在子類中不可以進(jìn)行重寫,也不可以被覆蓋。

?類常量,定義時(shí)使用關(guān)鍵字const,如const

PI=3.14159。常量不需要實(shí)例化對(duì)象,直接由“類名::常量名”調(diào)用即可。

?構(gòu)造函數(shù):void

__construct([mixed args [,…]]);如果類中沒有構(gòu)造方法,那么PHP會(huì)自動(dòng)生成一個(gè)。自動(dòng)生成的構(gòu)造方法沒有任何參數(shù),沒有任何操作

?析構(gòu)方法:void

__destruct(void)一般情況下是不需要收到創(chuàng)建析構(gòu)方法的。

?繼承:class subClassextends superclass { … }

?多態(tài):存在兩種形式:覆蓋和重載,覆蓋就是子類和父類中的方法名稱及參數(shù)完全相同;重載就是方法名稱相同,但是參數(shù)個(gè)數(shù)或類型不同。

?子類不僅可以調(diào)用自己的變量和方法,也可以調(diào)用父類中的變量和方法:

n$this->調(diào)用本身的變量或方法,$this只能在類的內(nèi)部使用

n“::”可以在沒有聲明任何實(shí)例的情況下訪問類中的成員方法或成員變量。通用格式為“關(guān)鍵字::變量名/常量名/方法名”,關(guān)鍵字分為三種情況:parent(調(diào)用父類中的成員變量、方法和常量)、self(調(diào)用當(dāng)前類中的靜態(tài)成員和常量)、類名(調(diào)用奔雷中的變量、常量和方法)

?抽象類

n僅能作為其他類的父類來使用,不能被實(shí)例化

nAbstract class abstractName{}

n抽象類中至少要包含一個(gè)抽象方法,抽象方法沒有方法體,abstract function abstractName();

?接口的使用

nPHP只支持單繼承,如果想實(shí)現(xiàn)多重繼承,就要使用接口

nPHP可以實(shí)現(xiàn)多個(gè)接口

n接口類通過interface關(guān)鍵字來聲明,并且類中只能包含未實(shí)現(xiàn)的方法和一些成員變量,格式為interface InterfaceNmae { function interfaceName1(); }

n不要用public之外的關(guān)鍵字來修飾接口中的類成員,對(duì)于方法,不寫關(guān)鍵字也可以。

n子類是通過implements關(guān)鍵字來實(shí)現(xiàn)接口的,如果實(shí)現(xiàn)多個(gè)接口,那么每個(gè)接口之間應(yīng)使用逗號(hào)“,”隔開。接口類中所有未實(shí)現(xiàn)的方法需要在子類中全部實(shí)現(xiàn)。

uClass SubClass implement InterfaceName1, InterfaceName2 { }

?各個(gè)類可以實(shí)現(xiàn)自己的復(fù)制拷貝函數(shù)__clone()

n對(duì)象可以調(diào)用clone,實(shí)現(xiàn)對(duì)象的復(fù)制;PHP5之后,=默認(rèn)是指引用

n兩個(gè)等號(hào)“==”是比較兩個(gè)對(duì)象的內(nèi)容

n三個(gè)等號(hào)“===”是比較對(duì)象的引用地址

?Instanceof:objectName instanceof ClassName,檢測(cè)當(dāng)前對(duì)象是屬于哪個(gè)類

?魔術(shù)方法__

nPHP中保留了所有以“__”開頭的方法,所以只能使用PHP中已有的這些方法,不要自己創(chuàng)建

n__set()、__get()

n__call()

n__sleep()和__wakeup()

u__sleep()可以清除對(duì)象并返回一個(gè)包含該對(duì)象中所有變量的數(shù)組

u__wakeup()方法則是恢復(fù)在序列號(hào)中可能丟失的數(shù)據(jù)庫(kù)連接及相關(guān)工作。

n__toString()將對(duì)象轉(zhuǎn)化為字符串

n__autoload()避免在一個(gè)頁(yè)面引入多個(gè)類時(shí)需要使用include_once()函數(shù)或require_once()函數(shù)一個(gè)個(gè)引入,__autoload()方法可以自動(dòng)實(shí)例化需要使用的類。PHP5將調(diào)用__autoload()方法,在指定的路徑下自動(dòng)查找和該類名稱相同的文件,如果找到,程序則繼續(xù)執(zhí)行;否則,報(bào)告錯(cuò)誤。

PHP加密技術(shù)

?單向加密:String

crypt(string str[, string salt]);支持4種算法:CRYPT_STD_DES、CRYPT_EXT_DES、CRYPT_MD5、CRYPT_BLOWFISH

?md5():

?sha1()

?

PHP操作MySQL數(shù)據(jù)庫(kù)

?Mysql_connect()、mysql_select_db()、mysql_query()、mysql_fetch_array()、mysql_fetch_object()、mysql_fetch_row()、mysql_num_rows()、

PHP數(shù)據(jù)庫(kù)抽象層

?PDO是PHP data object,支持多種數(shù)據(jù)庫(kù),有了PDO,用戶不必再使用mysql_*函數(shù)

?PDO構(gòu)造函數(shù)__construct(string $dsn[,string $username[,string $password[,array$driver_options]]])

nDsn是data source name的首字母縮寫,包括三個(gè)部分:PDO驅(qū)動(dòng)名稱(如mysql、sqlite、pgsql)、冒號(hào)和驅(qū)動(dòng)特定的語(yǔ)法。

?Int PDO:exec(string statement)返回執(zhí)行SQL語(yǔ)句后受影響的行數(shù)

?PDOStatement PDO::query(string statment)參數(shù)statement是要執(zhí)行的SQL語(yǔ)句,他返回的是一個(gè)PDOStatement對(duì)象

?PDO事務(wù)處理

?PDO存儲(chǔ)過程

ThinkPHP框架

Smarty模板技術(shù)

PHP與XML技術(shù)

PHP與Ajax技術(shù)

?Ajax = Asynchronous JavaScript And XML的縮寫

?Ajax在用戶和服務(wù)器之間引入一個(gè)中間媒介(Ajax引擎),Web頁(yè)面不用打斷交互流程進(jìn)行重新加載即可動(dòng)態(tài)地更新。

?Ajax利用JS將DOM、XHTML(或HTML)、XML以及CSS等技術(shù)綜合起來,并控制它們的行為

?Ajax技術(shù)中,最核心的技術(shù)就是XMLHttpRequest

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的php小结,PHP编程小结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。