開始PHP,常量/變數與記憶體間的關係--傳值
一.常見的PHP程式碼嵌入式方式,與html結合
要注意:檔名字尾必須形如xxx.php否則html將無法解析
二.php脫離html程式碼獨立工作,沒有其他程式碼
不需要藉助Apache工作,只需要php引擎;通過php.exe去執行php檔案
方式2帶來的問題是:只能由伺服器訪問,而方式一,則可以由客戶端訪問
三.PHP基礎
常見形式:<?php ?>
指令碼語言形式:<script language="php"></script>,易與<script type="javascript"></script>混淆
短標籤形式:<??>預設php已經不支援短標籤,要在php.ini中找到short_open_tag並改為on,由於http.conf載入了php.ini所以有必要重啟Apache----注意該操作會引起Apache(2.2)短暫的故障
古老的PHP版本形式:<?asp?>需要開啟php.ini的asp_tags=On
PHP註釋---兩大類:三種-----//, #, /**/ 凡是有業務邏輯的地方,必須要有註釋!!!但凡動態網站,無外乎瀏覽器與資料庫伺服器互動資料,拿到資料需要一個容器來承載,這就用到了.....
四.PHP變數
變數命名原則-----以$開頭,
以字母,數字,下劃線組成,
不能以數字開頭;
可以是中文;命名方式---駝峰命名CoachNAME;帶下劃線Coach_Name
是一種弱型別語言,變數可以為任意型別而不需要指定變數型別
輸出變數 echo, print_f, var_dump();刪除變數unset
常量----不能變化值的量:define,直接使用常量名;
常量的應用場景----例如描述網站路徑根目錄和下轄資料夾的關係;數學中常量的應用
命名規則 不能以$開頭,通常全部使用大寫字母,其他命名規則與變數一致
<?php
define('cpcsnickname','小松鼠');
echo cpcsnickname;
?>
記憶體空間分為 棧,堆,程式碼區,靜態區(全域性變數區)
全域性變數分為:常量區,變數區,靜態變數區
棧的特點:速度快,佔記憶體空間小;堆的特點:速度慢,佔的空間大
以執行 echo “喜歡陳培昌”為例;記憶體的變或過程如下:
$ispeak='喜歡陳培昌';
1.把'喜歡陳培昌' 讀入記憶體(放入全域性變數中的變數區----開闢記憶體空間,而開闢記憶體就一定有記憶體地址)
2.在棧內開闢一塊記憶體空間存放變數名ispeak
3.把'喜歡陳培昌'對應的地址賦值給棧內對應的變數名上
常量:值放在全域性變數區的常量區,變數區的值可以寫入多次,而常量區只能寫一次。
PHP指令碼執行結束----PHP引擎將php程式碼最後一行程式碼執行結束,
以上圖為例:PHP實際上開闢了4塊記憶體空間,當指令碼執行完畢後,PHP佔據的記憶體會被釋放,無論變數和常量(可以想想畢業後人走屋空的例子),作業系統會回收所有記憶體
注意!!!在結束符後還有空行,那麼php將把後面的空行解析成html標籤中的空行,所以如果沒有後續的php程式碼行,最好不用結束符,以免浪費頻寬!!!
注意!不是所有錯誤提示都精確到行
常量比變數的定義更加鬆散,有時候常量命名的很不正經,就得用如下方式訪問
<?php
define('-_-','小松鼠');
echo constant('-_-');
?>