-
PHP類和對象之定義類的方法
使用關鍵字static修飾的,稱之為靜態方法,靜態方法不需要實例化對象,可以通過類名直接調用,操作符為雙冒號::。
查看全部 -
PHP類和對象之類的屬性
默認都為public,外部可以訪問。一般通過->對象操作符來訪問對象的屬性或者方法,對于靜態屬性則使用::雙冒號進行訪問。當在類成員方法內部調用的時候,可以使用$this偽變量調用當前對象的屬性。
受保護的屬性與私有屬性不允許外部調用,在類的成員方法內部是可以調用的。
查看全部 -
PHP類和對象之創建一個對象
//方法內部可以使用$this偽變量調用對象的屬性或者方法
查看全部 -
類是一類東西的結構描述,而對象則是一類東西的一個具體實例,例如汽車這個名詞可以理解為汽車的總類,但這輛汽車則是一個具體的汽車對象。
類與對象看起來比較相似,但實際上有本質的區別,類是抽象的概念,對象是具體的實例。類可以使程序具有可重用性。
查看全部 -
當我們了解了如何使用mysql_query進行數據查詢以后,那么類似的,插入數據其實也是通過執行一個sql語句來實現,例如:
$sql?=?"insert?into?user(name,?age,?class)?values('李四',?18,?'高三一班')"; mysql_query($sql);?//執行插入語句
通常數據都是存儲在變量或者數組中,因此sql語句需要先進行字符串拼接得到。
$name?=?'李四'; $age?=?18; $class?=?'高三一班'; $sql?=?"insert?into?user(name,?age,?class)?values('$name',?'$age',?'$class')"; mysql_query($sql);?//執行插入語句
在mysql中,執行插入語句以后,可以得到自增的主鍵id,通過PHP的mysql_insert_id函數可以獲取該id。
$uid?=?mysql_insert_id();
這個id的作用非常大,通??梢杂脕砼袛嗍欠癫迦氤晒Γ蛘咦鳛殛P聯ID進行其他的數據操作。
查看全部 -
在數據庫建立連接以后就可以進行查詢,采用mysql_query加sql語句的形式向數據庫發送查詢指令。
$res?=?mysql_query('select?*?from?user?limit?1');
對于查詢類的語句會返回一個資源句柄(resource),可以通過該資源獲取查詢結果集中的數據。
$row?=?mysql_fetch_array($res); var_dump($row);
默認的,PHP使用最近的數據庫連接執行查詢,但如果存在多個連接的情況,則可以通過參數指令從那個連接中進行查詢。
$link1?=?mysql_connect('127.0.0.1',?'code1',?''); $link2?=?mysql_connect('127.0.0.1',?'code1',?'',?true);?//開啟一個新的連接 $res?=?mysql_query('select?*?from?user?limit?1',?$link1);?//從第一個連接中查詢數據
查看全部 -
$host = '127.0.0.1';
$user = 'code1';$pass = '';
$link = mysql_connect($host, $user, $pass);
mysql_select_db('code1');
mysql_query("set names 'utf8'");
查看全部 -
mysql擴展進行數據庫連接的方法:
$link?=?mysql_connect('mysql_host',?'mysql_user',?'mysql_password');
mysqli擴展:
$link?=?mysqli_connect('mysql_host',?'mysql_user',?'mysql_password');
PDO擴展
$dsn?=?'mysql:dbname=testdb;host=127.0.0.1'; $user?=?'dbuser'; $password?=?'dbpass'; $dbh?=?new?PDO($dsn,?$user,?$password);
查看全部 -
PHP異常處理之捕獲異常信息
在了解了異常處理的基本原理之后,我們可以通過try catch來捕獲異常,我們將執行的代碼放在try代碼塊中,一旦其中的代碼拋出異常,就能在catch中捕獲。
這里我們只是通過案例來了解try catch的機制以及異常捕獲的方法,在實際應用中,不會輕易的拋出異常,只有在極端情況或者非常重要的情況下,才會拋出異常,拋出異常,可以保障程序的正確性與安全,避免導致不可預知的bug。
查看全部 -
PHP異常處理之異常處理類
PHP具有很多異常處理類,其中Exception是所有異常處理的基類。
Exception具有幾個基本屬性與方法,其中包括了:
message 異常消息內容
code 異常代碼
file 拋出異常的文件名
line 拋出異常在該文件的行數其中常用的方法有:
getTrace 獲取異常追蹤信息
getTraceAsString 獲取異常追蹤信息的字符串
getMessage 獲取出錯信息查看全部 -
PHP異常處理之拋出一個異常
從PHP5開始,PHP支持異常處理,異常處理是面向對象一個重要特性,PHP代碼中的異常通過throw拋出,異常拋出之后,后面的代碼將不會再被執行。
既然拋出異常會中斷程序執行,那么為什么還需要使用異常處理?
異常拋出被用于在遇到未知錯誤,或者不符合預先設定的條件時,通知客戶程序,以便進行其他相關處理,不至于使程序直接報錯中斷。
當代碼中使用了try catch的時候,拋出的異常會在catch中捕獲,否則會直接中斷。
?
1、基本語法
? ? ? ? try{
? ? ? ? ? ? //可能出現錯誤或異常的代碼
? ? ? ? ? ? //catch表示捕獲,Exception是php已定義好的異常類
? ? ? ? } catch(Exception $e){
? ? ? ? ? ? //對異常處理,方法:
? ? ? ? ? ? ? ? //1、自己處理
? ? ? ? ? ? ? ? //2、不處理,將其再次拋出
? ? ? ? }
2、處理處理程序應當包括:
Try - 使用異常的函數應該位于 "try" ?代碼塊內。如果沒有觸發異常,則代碼將照常繼續執行。但是如果異常被觸發,會拋出一個異常。
Throw - 這里規定如何觸發異常。注意:每一個 "throw" 必須對應至少一個 "catch",當然可以對應多個"catch"
Catch - "catch" 代碼塊會捕獲異常,并創建一個包含異常信息的對象。查看全部 -
PHP文件系統之刪除文件
刪除文件夾使用rmdir函數,文件夾必須為空,如果不為空或者沒有權限則會提示失敗。
如果文件夾中存在文件,可以先循環刪除目錄中的所有文件,然后再刪除該目錄,循環刪除可以使用glob函數遍歷所有文件。
查看全部 -
PHP類和對象之訪問控制
被定義為公有的類成員可以在任何地方被訪問。被定義為受保護的類成員則可以被其自身以及其子類和父類訪問。被定義為私有的類成員則只能被其定義所在的類訪問。
如果構造函數定義成了私有方法,則不允許直接實例化對象了,這時候一般通過靜態方法進行實例化,在設計模式中會經常使用這樣的方法來控制對象的創建,比如單例模式只允許有一個全局唯一的對象。
查看全部 -
PHP類和對象之Static靜態關鍵字
靜態屬性與方法可以在不實例化類的情況下調用,直接使用
類名::方法名
的方式進行調用。靜態屬性不允許對象使用->操作符調用。靜態方法中,$this偽變量不允許使用??梢允褂胹elf,parent,static在內部調用靜態方法與屬性。
調用靜態屬性需要加$符號
查看全部 -
PHP類和對象之構造函數和析構函數
在子類中如果定義了__construct則不會調用父類的__construct,如果需要同時調用父類的構造函數,需要使用parent::__construct()顯式的調用。
查看全部
舉報