PHP笔记——java程序员看懂PHP程序,phpjava程序员看懂
1. php是一种服务器端脚本语言,类型松散的语言。
2. ?> xml风格
脚本风格
?> 简短风格
%> ASP风格
以;结尾;
3. 注释:
a) //
b) #
c) /* */
4. 变量是存储数据的容器,对大小写敏感。当变量非常长时,用定界符
$k=
…
str;
以为PHP为类型松散的语言,所以变量在声明的时候没有具体的类型关键词。
统一用$开头 + 变量名
1、 必须字母或者_开头
2、 只能包含字母数字字符和下划线
3、 对大小写敏感
5. 变量可以在PHP脚本任意位置声明。
6. 被引用/使用的脚本——作用域
a) local(局部)
b) global(全局)
c) static(静态)
函数之外声明的变量拥有global作用域,只能在函数之外进行访问。
函数内部声明的变量拥有local作用域,只能在函数之内进行访问。
函数内部调用global变量需要①在内部用global关键词进行声明;②$GLOBAL[index]中存储了所有的全局变量,可以通过超全局变量$GLOBAL[index]中获取。
7. $GLOBAL[index]这个数组在函数内可以访问,并能够用于直接更新全局变量。
8. 通常,当函数完成执行之后,会删除所有变量。假若不需要删除,即需要在首次声明的时候使用static
9. 常量无$,在脚本中无法改变其值。通过define(“常量的名称”,”常量的值”,”常量名是否对大小写敏感”);true(大小写相同)不敏感,false敏感。在类里定义常量用const关键字。
根据使用位置而改变的常量,成为魔术常量。
1) __FILE__ 当前文件夹
2) __LINE__ 当前行数
3) __FUNCTION__ 当前函数名
4) __CLASS__ 当前类名
5) __METHOD__ 当前对象的方法名
10. 打印:echo 能够输出一个以上的字符串。
print 只能够输出一个字符串,并始终返回1。
11. 字符串长度strlen();检索字符串内指定的字符或文本strpos();字符串连接用“.”,“.”后跟数字必须加空格。
12. 超全局变量:
a) $GLOBALS 引用全局作用域中的全部变量。
b) $_SERVER 保存关于报头、路径和脚本位置的信息。
c) $_REQUEST 用于收集HTML表单提交的数据。
d) $_POST 广泛用于收集提交method=”post”的HTML表单后的表单数据,也常用与传递变量。
e) $_GET 用于收集提交HTML表单(method=”get”)之后的表单数据,也可以收集URL中发送的数据。
f) $_FILES 从客户计算机向远程服务器上传文件。
g) $_ENV 获取服务器端的环境参数。(variables_order=EPGCS)
h) $_COOKIE 用于取回cookie的值。
i) $_SESSION 用于存储有关用户会话的信息,或者更改用户会话的设置。
13. include/require语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用include/require语句的文件中。
a) require(静态加载),当出现错误的时候,会生成致命错误,并停止脚本。
b) include(动态加载),当出现错误的时候,只生成警告,脚本会继续执行。
c) require_once/include_once 同一个页面只包含一次。
14. 数组处理:$数组名[‘键名’]来初始化数组;也可以通过Array()函数来创建数组。
count()返回数组的长度。
数组遍历:foreach循环,用count()得到数组的长度然后用for;list()语言结构循环,仅仅用于默认数字索引;each()返回的是键值对。
while(list($key,$value)=each($array)){
}
foreach($array as $key => $value){
}
15. PHP中类对象用class关键字来声明,类的属性也有作用域,不指定作用域可以用var进行修饰,成员方法与函数的区别在于可以用关键字进行修饰。构造函数__constract,析构函数__destruct
16. “::” 作用域操作符,可以在不实例化的情况下调用类中的常量,变量和方法;
“=>” 数组成员访问符号;
“->” 对象成员访问符号;
“=&” 引用(起别名);
“=” 赋值。
17. $变量名 = new 类名([参数]); //实例化;
$变量名->成员属性 = 值; //为属性赋值;
$变量名->成员属性; //取得属性值;
$变量名->成员方法; //使用方法;
18. mysql:一般用conn.php封装,然后用require到需要的页面。
1) $conn = mysql_pconnect(“localhost”,”root”,””) or die(mysql_error());
2) mysql_select_db(“数据库名”,$conn);//连接到指定的数据库。
3) mysql_query(“set names utf8”);
4) $sql = “”;
5) $resultSet = mysql_query($sql) or die (“Invalid query : “.mysql_error);//返回sql语句结果集;
6) while($v = mysql_fetch_array($resultSet)){
7) echo “字段名:”.$v[‘title’];
8) }
9) mysql_free_result($resultSet);//关闭结果集;
10) mysql_close($conn);//关闭连接
复制去Google翻译翻译结果

要保護應用免受與會話相關的XSS攻擊,需採取以下措施:1.設置HttpOnly和Secure標誌保護會話cookie。 2.對所有用戶輸入進行輸出編碼。 3.實施內容安全策略(CSP)限制腳本來源。通過這些策略,可以有效防護會話相關的XSS攻擊,確保用戶數據安全。

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显著提升应用在高并发环境下的效率。

theSession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceisesneededeededeedeedeededto toavoidperformance andunununununexpectedLogOgouts.3)

在PHP中,可以使用session_name()函數配置會話名稱。具體步驟如下:1.使用session_name()函數設置會話名稱,例如session_name("my_session")。 2.在設置會話名稱後,調用session_start()啟動會話。配置會話名稱可以避免多應用間的會話數據衝突,並增強安全性,但需注意會話名稱的唯一性、安全性、長度和設置時機。

會話ID應在登錄時、敏感操作前和每30分鐘定期重新生成。 1.登錄時重新生成會話ID可防會話固定攻擊。 2.敏感操作前重新生成提高安全性。 3.定期重新生成降低長期利用風險,但需權衡用戶體驗。

在PHP中設置會話cookie參數可以通過session_set_cookie_params()函數實現。 1)使用該函數設置參數,如過期時間、路徑、域名、安全標誌等;2)調用session_start()使參數生效;3)根據需求動態調整參數,如用戶登錄狀態;4)注意設置secure和httponly標誌以提升安全性。

在PHP中使用會話的主要目的是維護用戶在不同頁面之間的狀態。 1)會話通過session_start()函數啟動,創建唯一會話ID並存儲在用戶cookie中。 2)會話數據保存在服務器上,允許在不同請求間傳遞數據,如登錄狀態和購物車內容。

如何在子域名間共享會話?通過設置通用域名的會話cookie實現。 1.在服務器端設置會話cookie的域為.example.com。 2.選擇合適的會話存儲方式,如內存、數據庫或分佈式緩存。 3.通過cookie傳遞會話ID,服務器根據ID檢索和更新會話數據。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

記事本++7.3.1
好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Linux新版
SublimeText3 Linux最新版