Time of Update: 2018-12-03
單例模式概念單例模式是指整個應用中類只有一個對象執行個體的設計模式。單例模式的特點一個類在整個應用中只有一個執行個體類必須自行建立這個執行個體必須自行向整個系統提供這個執行個體php中使用單例模式的原因我用php大部分操作都是和各種資料庫打交道,包括mysql,redis,memcache等各種關係型和非關係型資料庫,所以一個應用中會存在大量串連資料庫的操作,如果不用單例模式,那每次都要new操作,但是每次new都會消耗大量的記憶體資源和系統資源,而且每次開啟和關閉資料庫連接都是對資料庫的一種極
Time of Update: 2018-12-03
各位redis群的同學,幫忙查看指正一下代碼,多謝了,希望看到各位的改進意見<?phpclass Singleton{// MYSQL資料庫連接資訊const MYSQLHOSTNAME = "127.0.0.1";const MYSQLCHARSET = "utf8";private static $instances = array(); //偽類單例private $db; //資料庫連接控制代碼/** * Description:私人化建構函式,防止外界執行個體化對象
Time of Update: 2018-12-03
前言昨晚實驗室一師弟在微薄上@我,給我發了幾道php的基礎面試題,這裡把我寫的答案貼出來題目(1)寫一個函數擷取URL的檔案尾碼,例如“http://www.feiyan.info/test.php?c=class&m=method”(獲得php或者.php)<?php/** * 給定url,擷取檔案尾碼 * @param string $url * @return string */function getUrlPostfix ($url){ $url_arr =
Time of Update: 2018-12-03
前言快開始校招了,我應聘的職位以php和c開發為主,最近也會從網上找幾套php面試的題目,親自做一遍並且記錄一下基礎題1.回答<?php$str1 = null;$str2 = false;echo $str1 == $str2 ? '相等' : '不相等';相等.<?php$str1 = '';$str2 = 0;echo $str1 == $str2 ? '相等' : '不相等';相等 <?php$str1 = 0;$str2 = '0';echo $str1 ===
Time of Update: 2018-12-03
今天就是國慶長假的最後一天,無心搞業務代碼,看到群裡討論php如何判斷數組有序,我就給實現了一個複雜度為N的演算法,貼出代碼供大家學習<?phpfunction JudegSortArray($array) {if ($array [0] > $array [1]) {$flag = 1;} else {$flag = 0;}$temp = $flag;$len = count ( $array );for($i = 1; $i < $len; $i ++) {if
Time of Update: 2018-12-03
簡介 斐波那契數列(Fibonacci Sequence),又稱黃金分割數列,指的是這樣一個數列:1、1、2、3、5、8、13、21、……在數學上,費伯納西數列以如下被以遞迴的方法定義:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。我用遞迴和迭代兩種方法實現了斐波那契數列實現代碼(php)<?phpclass Fibonacci{ /** * Description:迭代方法擷取fibonacci第n項數值 * *
Time of Update: 2018-12-03
需求項目中遇到了二維關聯陣列轉字串的問題,查閱相關資料,寫了如下程式,並且能過濾重複的關鍵字。舉例,php的二維數組如下:$name = array( "self" => "wangzhengyi", "student" => array( "chenshan", "xiaolingang" ), "unkmow" => "chaikun",
Time of Update: 2018-12-03
兩天前,需要用到找出php數組中的重複資料,總結了兩種方法,在這裡跟大家共用一下,求關注啊(1)利用php提供的函數,array_unique和array_diff_assoc來實現<?phpfunction FetchRepeatMemberInArray($array) {// 擷取去掉重複資料的數組$unique_arr = array_unique ( $array );// 擷取重複資料的數組$repeat_arr = array_diff_assoc ( $array,
Time of Update: 2018-12-03
我們知道:php支援c/c++寫的擴充模組。原因無他,因為php底層本質上就是c實現的,既然人家zend可以用c來實現現在php的這麼多功能函數,我們當然也可以了。這一篇博文不會討論如何去實現這樣一個擴充,只是分析一下原理和優缺點以及一些雜想。
Time of Update: 2018-12-03
上一篇文章說到一個問題:wev-server處理一個php請求,是給它一個線程呢?還是一個進程呢?這就要牽扯php本身的一些特性了。 早期版本的x系統,包括linux等,其實不支援線程的。故而:那是為每一個php請求都建立分配了一個進程。 網上也很多人說這個問題,因為php手冊上說:php是使用線程的。實際上:此時是用多進程來類比線程而已。所以你查看線程進程什麼的,你會發現每個請求都是一個進程。
Time of Update: 2018-12-03
前邊文章說過:web-server會建立一個線程(進程)來處理收到的php請求。(使用線程還是進程的區別見博文:http://blog.csdn.net/NRC_DouNingBo/archive/2011/06/29/6575807.aspx)。那這個請求怎樣才算處理完畢呢?怎樣才能讓web-server回收這個線程呢??
Time of Update: 2018-12-03
php的編譯和執行是分離開的,亦即:先執行完編譯,而後再執行。很多人會說:c++也是如此啊,確實。不過php的這種分離可以給我們提供很多便利,當然不可避免也有很有缺點。 先說一下整個過程: ①php會調用編譯函數zend_compile_file()來進行編譯。 這個函數的具體實現其實是包括兩個主要過程的:詞法分析(Lex實現),文法分析(Yacc實現)。當執行完這個函數之後:php指令碼的編譯就算結束了。
Time of Update: 2018-12-03
AJAX在PHP中的應用 [AJAX執行原理]
Time of Update: 2018-12-03
PHP小執行個體-製作留言本第一步:在mysql中建立資料庫bbs 然後執行sql代碼CREATE TABLE `message` (`id` tinyint(1) NOT NULL auto_increment,`user` varchar(25) NOT NULL,`title` varchar(50) NOT NULL,`content` tinytext NOT NULL,`lastdate` date NOT NULL,PRIMARY KEY (`id`))
Time of Update: 2018-12-03
<?/*********************************************************************** Written by caocao caocao@eastday.com http://nethermit.yeah.net
Time of Update: 2018-12-03
前面講過,物件導向的最大特點之一就是封裝,封裝是指將一些相關的屬性和方法隱藏起來,從而得到保護和安全。比如,程式的某些變數或者方法不能被使用者訪問或修改,就採用封裝的技術處理可以避免發生不安全事件。那麼,實現封裝很關鍵的幾個關鍵字就是Public,protected,private。
Time of Update: 2018-12-03
傳統開發方法存在的問題:軟體重用性差,軟體可維護性差,無很好的擴充性。物件導向的要素:抽象性,封裝性,共用性,強調對象結構而不是程式結構。物件導向的三大特點:封裝,繼承,多態,缺一不可。缺少一個都不能成為是正宗的物件導向。In my opinion ,PHP的物件導向跟Java的物件導向差不多,只是在細節上有一些差別,主要是文法規則的差別。例如
Time of Update: 2018-12-03
今天看了《 PHP上傳原理及其應用》的視頻,基本瞭解了php的檔案上傳的方法,最主要的兩個函數是move_uploade_file(臨時檔案,目標位置和檔案名稱)和is_uploaded_file(),前者用來移動上傳後儲存在伺服器緩衝區的檔案到目標檔案,後者用來判斷檔案是否上傳成功。除了以上兩個函數之外,還要說明一下form標籤中enctype的值應該如下:<form enctype="multipart/form-data" method="post"
Time of Update: 2018-12-03
產生HTML檔案有很多好處,比如減輕伺服器和資料庫的壓力,以及搜尋引擎對單個檔案的收錄等。 在我看來,產生HTML檔案的原理也很簡單,就是通過fwrite()函數將寫好的檔案寫成HTML形式的檔案即可,只是過程中的細節需要準確把握。PHP的部分操作函數:(這些函數主要是對檔案的操作)Fopen(路徑和檔案名稱,開啟檔案);該函數的作用是開啟指定路徑下的檔案,常用的開啟檔案有三種,R為唯讀,W為寫入,A為讀寫。Fread(開啟的檔案,結束位置);該函數的作用是讀取檔案中指定的一段內容,從檔案開始
Time of Update: 2018-12-03
PHP 初學者 (PHP Beginner) 定義: 準備以PHP程式謀生,準備建設或正在維護一個或幾個使用PHP技術實現的網站/程式的人是PHP 初學者 (PHP Beginner). 描述: 這些人已經或即將以PHP為主要謀生手段,他們的分布以即將畢業的大學生及剛剛加入PHP 程式員行列的人為主 特徵: 1: 能夠簡單維護/操作/最佳化linux. 2: 能夠編寫PHP程式. 3: 會MySQL. 4: 會html/js. 5: 能夠構建符合W3C標準的頁面. 6: