zendstudio 10.0破解版,新建完項目後,首先修改項目的編碼方式,統一改成utf-8 (選中項目,再右鍵properties:Text file encoding)。修改字體大小。 apache 安裝:httpd-2.2.17-win32,安裝成功後訪問apache伺服器:http://1 ...
zendstudio 10.0破解版,新建完項目後,首先修改項目的編碼方式,統一改成utf-8 (選中項目,再右鍵properties:Text file encoding)。修改字體大小。
apache 安裝:httpd-2.2.17-win32,安裝成功後訪問apache伺服器:http://127.0.0.1 localhost; apache配置文件:httpd.conf(在apache/conf/目錄下) :ServerRoot:apache的安裝目錄,Listen 80:埠號,DocumentRoot:apache的預設主目錄htdocs;Directory:瀏覽目錄;(當需要修改apache的預設主目錄的時候,需要修改 DocumentRoot 和 Directory 這兩項。),DirectoryIndex :index.html 預設首頁。
webServer工作原理:用戶輸入網址後,首先通過本地的DNS伺服器將輸入網址轉換成目的ip地址後返回給瀏覽器;瀏覽器再根據這個ip地址請求相應的某個目錄下的某個頁面,通過http request發送請求,web伺服器接到請求後,首先在預設主目錄中搜索是否有請求的頁面文件,如果沒有找到,通過http response發送給瀏覽器一個沒找到的響應(響應的是html標記,瀏覽器可以解析html標記)。如果找到了,首先apache查看請求文件的擴展名,apache只能處理html,css,javascript這樣靜態的文件,如果是這些靜態文件apache直接將找到的結果通過http response 返回給瀏覽器。如果請求的是.php為尾碼的文件,apache就處理不了,這是就將控制權移交給php引擎,php引擎具有處理,解析php代碼的能力,它會將php代碼解析的結果以html代碼的形式返回給apache伺服器,apache伺服器接收到php引擎的響應後,再通過http響應給用戶瀏覽器。
php版本:php-5.4.0-win32,解壓完成後將php.ini.development文件重命名為php.ini(php的配置文件),這樣php安裝完成。綁定php和apache:第一步,載入php5模塊,在apache配置文件中加入:LoadModule php5_module "php安裝路徑\php5apache2_2.dll" ,第二步,載入php配置文件所在目錄,在apache配置文件中加入:PHPIniDir "php安裝目錄" ,第三步,告訴apache什麼時候什麼類型的文件需要交個php引擎來處理,在apache配置文件中加入:AddType application/x-httpd-php .php 把.php結尾的文件交給php引擎來處理。對apache配置文件做了更改後需要重啟apache伺服器。phpinfo(),測試一下。
==========第4個視頻開始講授 PHP基礎語法:變數
PHP標準風格(推薦風格):<?php 代碼段;?> PHP每句代碼以分號 ; 結尾。 短風格(需要php配置文件中short_open_tag=On,再重啟apache):<? 代碼段; ?> 長風格<script language='php' 代碼段; /script> ASP風格(需要php配置文件中asp_tag=On,再重啟apache):<% 代碼段; %>
PHP中的註釋:單行:// # 多行:/* */
PHP文件擴張名:.php 。
PHP文檔組成:在php文件中可以同時書寫html、css、javascript/jquery、PHP代碼(在腳本中的任意位置都可以寫PHP代碼,在腳本中不只有PHP代碼的時候,<?php ?>標記一定要成對出現。當文檔中只有PHP代碼時,結束標記不要寫。);emmet插件:html:xt + tab鍵,自動生成html文件基本模板。
PHP變數:在程式執行期間可以變化的量,用變數保存值。以 $ + 變數名稱 聲明變數,變數名稱遵循駝峰標記法(小駝峰:首字母小寫,以後沒有個單詞第一個字母大寫;大駝峰:每一個單詞的首字母都大寫),或下劃線法:每個單詞之間用下劃線分隔。php的變數名稱嚴格區分大小寫,$a和$A是不同的兩個變數。當變數名稱重覆的時候,相當於對變數重新賦值,後面的會覆蓋之前的值。php是弱類型語言,變數可以不聲明直接使用。變數賦值:$變數名=值; $a=12; 使用變數名稱$a,就可以使用變數。在瀏覽器中,查看變數的值:echo $a; 當PHP腳本中有頭信息時,通過 header('content-type:text/html;character=utf-8'); 來發送頭信息,這句代碼告訴瀏覽器,以utf-8的編碼方式解析html文檔。修改PHP配置文件中的error_reporting=E_ALL&~E_NOTICE,之後重啟伺服器,可以屏蔽掉腳本在執行過程中報出的“註意”信息。一次聲明多個變數並且賦值相同:$i=$j=$k=$m=$n=1;一次輸出多個變數的值:echo $i,$j,$k; 多個變數之間以逗號分隔。
php可變變數(等量代換的原則)。php引用賦值:& 取地址符,把變數在記憶體中的地址覆給另一個變數。$j=&$i; $i和$j指向同一個記憶體空間,對$i和$j任何一個的修改,都將改變另一個變數的值。變數銷毀:unset(變數名)函數,銷毀變數相當於引用記憶體空間的變數名不存在了,但保存變數的記憶體空間依然存在。
==========第7個視頻開始講授 PHP基礎語法:數據類型
php中支持8中主要數據類型和3中偽類型。8種主要數據類型分3大類:標量類型(只能存儲單一數據,有分為類,整型int\interger(帶符號:-21億到21億,無符號:0到42億,超過整型的存儲範圍,會產生溢出的現象,可以存儲八進位數、十進位數、十六進位數。在顯示的時候都是將八進位和十六進位的數,轉換成十進位的數在瀏覽器上顯示。),浮點類型float\double\real(浮點類型帶有小數點或者科學計數法的寫法,帶有e或者E ,他的存儲範圍比整型大。),布爾類型bool\boolean(真:TRUE\true,假:FALSE\false。),字元串類型string(字元串定界符:單引號,雙引號(雙引號和單引號的區別:雙引號解析變數,單引號不解析變數,單引號的執行效率快。當內容中含有定界符時,用轉意符解決(\';\";\\;\$;\n換行;\r回車)。雙引號解析所有轉意符,單引號只能解析\\和\',這兩個轉意符。當頁面中要出現大於號>,小於號<,單引號,雙引號,不間斷空格,都要把它們轉換成html實體(進行html編碼)。php引擎在解析變數的時候,會儘可能多的向後去取合法字元,認為取的合法字元越多,變數的含義就越明確,花括弧的作用:將變數當做一個整體,{$變數名}或${變數名},在變數名稱和花括弧{}之間不要有空格。通過花括弧{}對字元串中的制定字元做增刪改查。字元串的下標從 0 開始。也可以用方括弧[],把字元串string當做數組操作,下標從 0 開始,完成增刪改查,每次只能增刪改一個字元位置。),HereDoc,NowDoc(當要輸出大段文本的時候,就需要用到這兩個HereDoc和NowDoc,HereDoc以三個小於號開始<<<,就相當於定界符中的雙引號,<<<名稱,3個雙引號後是名稱,名稱後直接回車,不能有空格。以名稱結束,在結束名稱之前,不能有任何的輸出(在結束名稱前不要有空格,必須頂格書寫)。在HereDoc中的變數將被解析,在NowDoc中的變數將被原樣輸出,不進行解析。))中文在UTF8下,一個中文占3個長度。),複合類型(數組array,對象object),特殊類型(資源resource,空null\NULL:未聲明的變數值為NULL,聲明變數並且賦值為NULL,通過unset()函數註銷過的變數。)。
3種偽類型:告訴函數可以接受哪些類型的參數。偽類型有3類:第一類,數值型munber:可以接受整數和浮點數。第二類,混合類型mixed:代表可以接收不同形式的參數。回調函數callback:
得到變數的數據類型:var_dump():將一個或多個變數的詳細信息列印到瀏覽器。
==========第10個視頻開始講授 PHP基礎語法:數據類型的轉換
在php中主要支持兩種數據類型的轉換:顯式轉換(強制轉換)和隱式轉換(自動轉換)。
隱式轉換(自動轉換):變數根據上下文環境進行自動類型轉換。其他類型轉換成數值型(true轉換成整型的 1 ,false轉換成整型 0 ,null轉換成整型 0 。字元串轉換成數值型:以合法數字開始的字元串,取到第一個非法數字結束。(這個合法數字,可以是整型,浮點型(包括小數形式和科學計數法形式),正負都可))。以非法數字開頭的字元串(即以字母開頭的字元串),轉換成 0 。其他類型轉換成字元串型:數值類型直接轉換成數值本身;true轉換成 1 ,false轉換成 空制符串,null轉換成 空字元串。數組轉換成字元串 Array。資源resource轉換成 Resource id #數字。對象不可以直接轉換成字元串。其它類型轉換成布爾類型(找到轉換為false的,其它的都會轉換為true):整型0,浮點型0.0,空字元串''或者控制符串""或者'0',"0",null,空數組,這5類都將轉換成false,其它轉換都為true。
顯式轉換(強制轉換):分為兩種:臨時轉換【(int\interger)->整型,(float)\(double)\(real)->浮點類型,(boolean)\(bool)->布爾類型,(string)->字元串類型,(unset)->空,(array)->數組,(object)->對象,資源類型不能進行強制轉換。臨時轉換並沒有改變這個變數的類型。通過函數的形式實現臨時轉換:intval($val):返迴轉換成整型的值,floatval \ doubleval($val):返迴轉換成浮點類型的值,strvar($val):返迴轉換成字元串的值,boolval($val):返迴轉換成布爾的值(php版本>5.5.0)。】和永久轉換(永久轉換會改變這個變數的類型)【settype($val, $type):設置變數的類型,type的可能值為:boolean \ integer \ float \ string \ array \ object \ null \,gettype($val):得到變數的類型(推薦用var_dump())。】。
通過變數函數庫檢測變數類型,檢測的結果為bool類型:是否為整型:(is_int($var),is_integer($var),is_long($var));檢測是否為浮點類型:(is_float($var),is_double($var),is_real($var));檢測是否是字元串類型:is_string($var);檢測是否是布爾類型:is_bool($var);檢測是否是標量:is_scalar($var);檢測是否是數組is_array($var);檢測是否是資源:is_resource($var);檢測是否是對象:is_object($var);檢測是否為空:is_null($var); 檢測是否為數值型,或者字元串的數值(如:'1.1'):is_numeric($var);
==========第12個視頻開始講授 PHP基礎語法:常量
常量:是一個簡單值的標識符,和變數相反,在腳步執行期間該值不能改變,不能再對常量賦值。常量分為三類:系統常量,自定義常量,魔術常量。
系統常量:是系統提供好的,拿過來可以直接使用的:PHP_VERSION \ PHP_OS \ M_PI 等;
自定義常量:define($name, $value[,$case_insensitive=false]) 方括弧表示可選; 註意:常量名前沒有$ ;常量名稱以字母或者下劃線開始,儘量使用大寫字母;常量可以在任何地方定義和使用;常量一經定義不能改變也不能取消定義;常量的值只能為標量(整型,浮點類型,布爾,字元串),雖說可以為resource資源類型,但儘量不要使用;常量預設是區分大小寫的,如果需要不區分大小寫,通過設置define函數的第三個參數為true來實現。
使用常量:第一種,可以直接寫常量的名稱,不要放到引號之間,不帶$;第二種,constant($name);
檢測常量是否已經被定義:通過defined函數檢測常量名稱是否被定義,返回真或者假;
在PHP5.3.0以後可以使用 const 在類定義之外定義常量: const 常量名稱=值; const定義的常量區分大小寫;
得到所有已被定義過的常量:get_defined_constants(),返回的是關聯數組;包括系統常量和自定義常量;
魔術常量:__LINE__:返迴文件中當前的行號;__FILE__:返迴文件的完整路徑和文件名,註意:如果用在被包含文件中(include文件中),則返回被包含的文件名。從PHP4.0.2起,__FILE__返回一個絕對路徑,之前則返回相對路徑。__FUNCTION__:返回函數名稱,註意:自PHP5起常量返回該函數被定義時的名字(區分大小寫),在PHP4中該值為小寫;__CLASS__:返回類的名稱,自PHP5起常量返回該類被定義時的名字(區分大小寫),在PHP4中該值為小寫;__METHOD__:返回類的方法名(區分大小寫),PHP5.0.0新增;__DIR__:返迴文件所在目錄,如果用在被包含文件中,則返回被包含文件所在目錄,PHP5.3.0新增;__NAMESPACE__:返回當前命名空間的名稱(區分大小寫),此常量是編譯時定義的,PHP5.3.0新增;__TRAIT__:返回Trait的名字,區分大小寫,Trait名包括其被聲明的作用域,PHP5.4.0新增。
==========第14個視頻開始講授 PHP基礎語法:運算符