毛片在线视频观看,一级日韩免费大片,在线网站黄色,澳门在线高清一级毛片

薈聚奇文、博采眾長、見賢思齊
當(dāng)前位置:公文素材庫 > 報告體會 > 述職述廉 > php程序員述職報告

php程序員述職報告

網(wǎng)站:公文素材庫 | 時間:2019-05-29 11:43:07 | 移動端:php程序員述職報告

php程序員述職報告

大家好,我是來自技術(shù)部的XXX,我于201*年3月進(jìn)入公司做php程序開發(fā),至今已近三個月了。初來公司,曾經(jīng)很擔(dān)心不知該怎么與人共處,該如何做好工作;但是公司融洽的工作氛圍、團(tuán)結(jié)向上的企業(yè)文化讓我較快適應(yīng)了公司的工作環(huán)境。在本部的工作中,我一直嚴(yán)格要求自己,認(rèn)真及時做好領(lǐng)導(dǎo)布置的每一項任務(wù)。不懂的問題虛心向同事請教,不斷提高充實自己,希望可以為公司做出更大的貢獻(xiàn)。當(dāng)然,初入職場,難免出現(xiàn)一些小差小錯需領(lǐng)導(dǎo)指正;但前事之鑒,后事之師,這些經(jīng)歷也讓我不斷成熟,在處理各種問題時考慮得更全面,杜絕類似失誤的發(fā)生。在此,我要特地感謝部門的領(lǐng)導(dǎo)和同事對我的指引和幫助,感謝他們對我工作中出現(xiàn)的失誤的提醒和指正?偨Y(jié)經(jīng)驗是一個人迅速成長的有利催化劑,為了更快地成為一名優(yōu)秀的員工,現(xiàn)將我這一段時間的學(xué)習(xí),工作情況總結(jié)如下:

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

經(jīng)過這三個月,我現(xiàn)在已經(jīng)能夠獨立擔(dān)任模塊的開發(fā),當(dāng)然我還有一些不足,處理問題的經(jīng)驗方面有待提高,團(tuán)隊協(xié)作能力也需要進(jìn)一步增強(qiáng),需要不斷學(xué)習(xí)以提高自己技術(shù)水平。

這三個月來我學(xué)到了很多,感悟了很多,記得剛來公司時的第一次開會,當(dāng)時公司全員僅20人,經(jīng)過短短三個月的時間;我看到公司的迅速發(fā)展,各項制度的不斷完善,我深深地感到驕傲和自豪,我很慶幸我是公司的一員,我會用謙虛的態(tài)度和飽滿的熱情做好我的本職工作,為公司創(chuàng)造價值,同公司一起創(chuàng)造美好的未來。

擴(kuò)展閱讀:PHP程序員的優(yōu)化調(diào)試技術(shù)和技巧

PHP程序員的優(yōu)化調(diào)試技術(shù)和技巧

本文介紹調(diào)試PHP應(yīng)用程序的各種方法,包括在ApacheandPHP中打開錯誤報告,以及通過在一個簡單的PHP腳本中放置策略性的print語句,找到更困難的bug的源頭。還會介紹用于Eclipse的PHPEclipse插件,這是一個靈活的開發(fā)環(huán)境,具有實時語法解析能力,還會介紹PHPEclipse的DBG調(diào)試器擴(kuò)展。簡介

有許多PHP調(diào)試技術(shù)可以在編碼的時候節(jié)約大量時間。一個有效卻很基本的調(diào)試技術(shù)就是打開錯誤報告。另一個略微高級一點的技術(shù)包括使用print語句,通過顯示在屏幕上實際出現(xiàn)的內(nèi)容,有助于精確地找出更難發(fā)現(xiàn)的bug。PHPEclipse是一個Eclipse插件,能夠強(qiáng)調(diào)常見的語法錯誤,可以與調(diào)試器結(jié)合起來用于設(shè)置斷點。設(shè)置

要學(xué)習(xí)本文描述的概念,需要PHP、Web服務(wù)器和Eclipse。調(diào)試器擴(kuò)展支持的PHP版本是V5.0.3。

我們需要一個Web服務(wù)器來解析用PHP創(chuàng)建的頁面并把它們顯示到瀏覽器。本文中使用的是Apache2。但是,任何Web服務(wù)器都可以滿足要求。要利用本文中介紹的一些調(diào)試技術(shù),需要安裝EclipseV3.1.1和插件PHPEclipseV1.1.8。由于Eclipse要求Java技術(shù),所以還要下載它。

還需要PHP的調(diào)試器擴(kuò)展模塊。安裝它略有些麻煩。請仔細(xì)跟隨安裝調(diào)試器擴(kuò)展的操作說明,F(xiàn)在,先在php.ini文件中注釋掉那些要求裝入和配置PHP擴(kuò)展的行。在需要使用調(diào)試器的時候,再取消注釋。

請參閱參考資料獲得下載信息,F(xiàn)在介紹出錯消息。出錯消息

出錯消息是作為開發(fā)人員的第一道防線。誰都不想在一臺沒有配置成顯示出錯消息的服務(wù)器上用PHP開發(fā)代碼。但是,請記住,當(dāng)代碼調(diào)試完成,準(zhǔn)備運(yùn)行的時候,應(yīng)當(dāng)確保關(guān)閉了錯誤報告,因為不希望站點的訪問者看到出錯消息,因為這會給他們提供足夠的信息來利用站點的弱點并黑掉站點。

也可以用出錯消息為自己服務(wù),因為它們會顯示拋出或生成錯誤的正確代碼行。這樣,調(diào)試就變成在瀏覽器上查看生成的錯誤所顯示的行號,并在代碼中檢查這一行。稍后,將會看到PHPEclipse插件通過即時地給語法錯誤加下劃線并在保存文件時用紅色“x”標(biāo)注語法錯誤,可在開發(fā)和調(diào)試過程中提供極大的幫助。

先來看如何在php.ini文件中開啟錯誤報告并設(shè)置錯誤報告的級別。然后將學(xué)習(xí)如何在Apache的配置文件中覆蓋這些設(shè)置。PHP的錯誤報告

php.ini文件中有許多配置設(shè)置。您應(yīng)當(dāng)已經(jīng)設(shè)置好自己的php.ini文件并把它放在合適的目錄中,就像在Linux上安裝PHP和Apache2的文檔說明中所示的那樣(請參閱參考資料)。在調(diào)試PHP應(yīng)用程序時,應(yīng)當(dāng)知道兩個配置變量。下面是這兩個變量及其默認(rèn)值:

display_errors=Offerror_reporting=E_ALL

通過在php.ini文件中搜索它們,可以發(fā)現(xiàn)這兩個變量當(dāng)前的默認(rèn)值。display_errors變量的目的很明顯它告訴PHP是否顯示錯誤。默認(rèn)值是Off。但是,要讓開發(fā)過程更

加輕松,請把這個值設(shè)為On:

display_errors=On

error_reporting變量的默認(rèn)值是E_ALL。這個設(shè)置會顯示從不良編碼實踐到無害提示到出錯的所有信息。E_ALL對于開發(fā)過程來說有點太細(xì),因為它在屏幕上為一些小事(例如變量未初始化)也顯示提示,會搞糟瀏覽器的輸出。我只想看到錯誤和不良編碼實踐,但是不想看到無害的提示。所以,請用以下值代替error_reporting的默認(rèn)值:

error_reporting=E_ALL&~E_NOTICE

重新啟動Apache,就全部設(shè)置好了。接下來,將學(xué)習(xí)如何在Apache上做同樣的事。服務(wù)器上的錯誤報告

依賴于Apache正在做的工作,在PHP中打開錯誤報告可能沒法工作,因為在計算機(jī)上可能有多個PHP版本。有時很難區(qū)分Apache正在使用哪個PHP版本,因為Apache只能查看一個php.ini文件。不知道Apache正在使用哪個php.ini文件配置自己是一個安全問題。但是,有一種方法可以在Apache中配置PHP變量,從而保證設(shè)置了正確的出錯級別。

而且,最好知道如何在服務(wù)器端設(shè)置這些配置變量,以否決或搶占php.ini文件,從而提供更高級別的安全性。

在配置Apache時,應(yīng)該已經(jīng)接觸過/conf/httpd.conf中http.conf文件中的基本配置。

要做在php.ini文件中已經(jīng)做過的事,請把下列各行添加到httpd.conf,覆蓋任何php.ini文件:

php_flagdisplay_errorsonphp_valueerror_reporting2039

這會覆蓋在php.ini文件中為display_errors已經(jīng)設(shè)置的標(biāo)志,以及error_reporting的值。值2039代表E_ALL&~E_NOTICE。如果愿意采用E_ALL,請把值設(shè)為2047。同樣,還是要重啟Apache。

接下來,要在服務(wù)器上測試錯誤報告。測試錯誤報告

如果啟動了錯誤報告,會節(jié)約許多時間。PHP中的錯誤會指向代碼中的錯誤。請創(chuàng)建一個簡單的PHP文件test.php,并像清單1所示一樣定義它。清單1.一個生成錯誤的簡單PHP

print("Thenextlinegeneratesanerror.");printaline("PLEASE");

print("Thiswillnotbedisplayedduetotheaboveerror.");>

第一個print()語句會向Web瀏覽器顯示它的內(nèi)容。但是第二個語句會生成錯誤并在Web頁面上顯示。這造成最后一個print()語句不起作用,如圖1所示。圖1.生成錯誤

現(xiàn)在開啟了錯誤報告!接下來,用print語句幫助調(diào)試應(yīng)用程序。介紹print語句

因為應(yīng)用程序中的功能性bug不會產(chǎn)生錯誤,所以在所有調(diào)試策略中,關(guān)于如何正確地放置和使用print或die語句來調(diào)試PHP應(yīng)用程序的知識是一種很好的資產(chǎn)?梢杂胮rint語句在代碼中縮小對問題語句的定位,這些語句在語法上沒有錯誤,也不是bug,但是從代碼的功能上看是bug。這些是最難發(fā)現(xiàn)和調(diào)試的bug,因為它們不會拋出錯誤。惟一知道的就是在瀏覽器上顯示的內(nèi)容不是想要的內(nèi)容,或者想要保存在數(shù)據(jù)庫中的內(nèi)容根本沒有保存。

假設(shè)正在處理通過GET請求發(fā)送過來的表單數(shù)據(jù),想向瀏覽器顯示信息,但是出于某種原因,數(shù)據(jù)沒有正確地提交,或者不能正確地從GET請求中讀出。要調(diào)試這類問題,重要的是用print()或die()語句知道變量的值是什么。

die()語句會中止程序執(zhí)行,并在Web瀏覽器上顯示文本。如果不想注釋掉代碼,而且只想顯示到出錯之前的信息和出錯信息,不想顯示后面的信息,那么die()語句特別有用。讓我們在PHP中用print語句來測試這個概念使用print語句進(jìn)行調(diào)試

在我作程序員的那些時候,當(dāng)我在Linux上開發(fā)應(yīng)用程序時,沒有方便的GUI可以告訴我bug在哪,我迅速地發(fā)現(xiàn)我在程序中放的print語句越多,我在應(yīng)用程序中把bug的范圍縮小到一行的機(jī)會越大。請創(chuàng)建另一個PHP文件test2.php,并像清單2所示的那樣定義它。

清單2.顯示通過GET提交的所有變量

print("Letsretrieveallthevariablessubmittedtothis");print("scriptviaaGETrequest:");foreach($_GETas$key=>$i){print("$key=$j");}

if($_GET["Submit"]=="SendGETRequest")$j="done!";>

Name:

Email:

您可能會非常容易地發(fā)現(xiàn)清單2中的bug!您很棒!但請注意這是一個非常簡單的腳本,只是作為使用print語句進(jìn)行調(diào)試而展示的一個例子而已。這個腳本只是提取GET請求中的所有變量,如果有,就把它們顯示在瀏覽器上。還提供了一個表單,用GET請求向服務(wù)器發(fā)送變量以進(jìn)行測試。請看輸出,如圖2所示。圖2.test2.php的輸出

現(xiàn)在單擊SendGETRequest按鈕,請注意只有$_GET請求的鍵顯示在瀏覽器上,而正確的值都沒顯示?梢栽谘h(huán)中放一個print語句,檢驗在foreach循環(huán)中每個元素中是否確實存在數(shù)據(jù)。請參閱清單3。

清單3.用print語句驗證代碼的功能

...

foreach($_GETas$key=>$i){

print("Correctdata".$_GET[$key]."");print("$key=$j");}...

放進(jìn)去的print語句是粗體。注意,現(xiàn)在已經(jīng)知道在Web瀏覽器上顯示的$key值是正確的,但是由于某些原因,值沒有正確地顯示。請看新的輸出,如圖3所示。圖3.修改后的test2.php的輸出

現(xiàn)在已經(jīng)知道應(yīng)用程序正確地從GET請求接收到了變量,那么肯定是在代碼中有bug。查看之后注意到,用來顯示值的變量$j是錯誤的。在foreach語句中指定的是$i,所以它肯定會有正確的值,但是無意之中輸入了$j。所以通過把$j替換成$i,迅速地修正了錯誤,重新載入頁面之后,就看到了正確的輸出,如圖4所示。圖4.修正后的test2.php的輸出

現(xiàn)在可以刪除或注釋掉剛才添加的print語句了,因為已經(jīng)發(fā)現(xiàn)了代碼中的bug。注意,這只是在調(diào)試應(yīng)用程序時可能遇到的許多錯誤中的一個很小的子集。對于使用數(shù)據(jù)庫時可能遇到的問題,一個好的解決方案是輸出SQL語句,以確保執(zhí)行的SQL就是想要執(zhí)行的,F(xiàn)在要來看看如何使用EclipseIDE和PHPEclipse插件及調(diào)試器擴(kuò)展進(jìn)一步在調(diào)試歷程中提供幫助。

PHP程序員的優(yōu)化調(diào)試技術(shù)和技巧2

您可能用過Eclipse,但是可能不熟悉它。請參閱參考資料獲得Eclipse平臺的介紹。

用于Eclipse的PHPEclipse插件是用來開發(fā)PHP應(yīng)用程序的一個流行工具。請啟動Eclipse并把工作區(qū)目錄指定為Apache的www目錄(在我的機(jī)器上是c:\\www),F(xiàn)在單擊File>New>Project。會彈出NewProject向?qū)。雙擊PHP文件夾并選擇PHPProject。單擊Next,輸入項目名稱debugArticle,并單擊Finish。

如果把Web服務(wù)器設(shè)置為在端口80上偵聽,那么不需要做任何修改。否則,請轉(zhuǎn)到Navigator窗口,在PHP項目debugArticle上右擊,選擇Properties,然后單擊PHPProjectSettings。單擊ConfigureWorkspaceSettings然后修改合適的localhost或者添加Web服務(wù)器偵聽的端口(例如:8080)。單擊Apply完成設(shè)置。Navigator窗口應(yīng)當(dāng)顯示項目和一個.project文件。在項目上右擊,就像前面做的那樣,只是這次選擇New>PHPFile。用想要創(chuàng)建的PHP文件的名稱test3.php替換*.php,然后單擊Finish。在EclipseIDE中應(yīng)當(dāng)出現(xiàn)一個新文件?赡苄枰獙(dǎo)航到窗口底部的PHP瀏覽器來查看PHP文件的當(dāng)前輸出(參見圖5)。圖5.Eclipse的PHPEclipse插件

注意,只有Windows的用戶可以像清單5所示的那樣使用PHP瀏覽器。通過打開獨立瀏覽器窗口并把瀏覽器指向測試腳本所在目錄,也可以使用同樣的功能,F(xiàn)在來演示這個應(yīng)用程序,證明它的強(qiáng)大能力。在“使用調(diào)試器”一節(jié)中,將學(xué)習(xí)如何用Eclipse、PHPEclipse和前面下載的調(diào)試器PHP擴(kuò)展來調(diào)試PHP應(yīng)用程序。先從學(xué)習(xí)如何使用它的語法解析功能開始。語法解析和加下劃線

先從查看PHPEclipse如何提供幫助調(diào)試PHP應(yīng)用程序的實時語法解析功能開始。要看這個特性的實際應(yīng)用,先從在Eclipse中定義test3.php開始,如下所示。

print(,"HelloWorld!");>

注意,在清單4中加下劃線的兩個字符在Eclipse中加了下劃線,提示語法不正確。按Ctrl+S保存文件,會在Eclipse中顯示解析錯誤:在代碼中與解析錯誤對應(yīng)的行上會加上紅“x”,如圖6所示。圖6.語法錯誤強(qiáng)調(diào)

現(xiàn)在演示PHP瀏覽器。這個窗口提供了當(dāng)前PHP腳本的預(yù)覽,如圖6所示。從上面定義的test3.php中刪除逗號(,)。按Ctrl+S保存文件,然后觀察PHP瀏覽器窗口的更新,顯示了HelloWorld(參見圖7)。圖7.在PHPEclipse中預(yù)覽PHP腳本下面是用調(diào)試器在PHP中設(shè)置斷點。使用調(diào)試器

使用調(diào)試器,可以設(shè)置斷點并查看PHP代碼到所設(shè)斷點之前的瀏覽器輸出。然后可以繼續(xù)代碼的執(zhí)行并查看到下一斷點之前的瀏覽器輸出,然后再到下一個,直到PHP腳本完成。

現(xiàn)在把“設(shè)置”一節(jié)中在php.ini中注釋掉的行取消注釋,并重新啟動Apache,F(xiàn)在裝入了調(diào)試器,Eclipse能夠和它掛上了。

現(xiàn)在在Eclipse中設(shè)計調(diào)試環(huán)境。請創(chuàng)建新的test4.php文件,先保持為空,F(xiàn)在單擊Run>Debug。在左側(cè)面板中選擇PHPDBGScript,并單擊New。現(xiàn)在轉(zhuǎn)到File選項卡,輸入當(dāng)前項目debugArticle以及想要調(diào)試的文件test4.php,F(xiàn)在轉(zhuǎn)到Environment選項卡,然后再到Interpreter子選項卡。在PHP的安裝目錄中找到php.exe文件(我的是c:\\apps\\php5.0.3\\php.exe),F(xiàn)在單擊RemoteDebug子選項卡,選擇RemoteDebug,如果沒有使用Windows,請取消“OpenwithDBGSessionURLininternalbrowserbox”復(fù)選框。把RemoteSource路徑設(shè)置成與要測試的PHP腳本的絕對路徑(不是Web路徑)相同(我的設(shè)置是c:\\www\\debugArticle\\test4.php)。現(xiàn)在單擊Debug,F(xiàn)在應(yīng)當(dāng)裝入Debug透視圖,如圖8所示。否則,請單擊Window>OpenPerspective>Other,并選擇Debug。

圖8.Eclipse中的Debug透視圖現(xiàn)在可以設(shè)置斷點了。

對于本文中使用的插件和擴(kuò)展的版本,斷點功能是必需的,因為PHP在把輸出發(fā)送到瀏覽器之前會緩沖它。除此之外,需要做的不僅僅是設(shè)置一個斷點把當(dāng)前顯示數(shù)據(jù)刷新到Web瀏覽器,所以要像下面和圖8所示那樣定義test4.php。清單4.設(shè)置和創(chuàng)建斷點

functionbreak-point(){ob_flush();flush();sleep(.1);debugBreak();}

print("Thiswillgetshownfirst,");print("aswillthis");

breakpoint();

print("Thiswon"tgetshownuntilafter");print("continuingthebreak-point");breakpoint();print("END!");

breakpoint()函數(shù)會把緩沖的輸出和其他緩沖的數(shù)據(jù)刷新到Web瀏覽器。對sleep(.1)的調(diào)用是必需的,這樣代碼中止于debugBreak()之前,服務(wù)器才有足夠的時間把數(shù)據(jù)刷新到Web瀏覽器,這個函數(shù)是前面下載的PHP調(diào)試器擴(kuò)展的內(nèi)部函數(shù)。這樣,調(diào)用breakpoint()會把HTML塊、print()和echo()語句的數(shù)據(jù)刷新到瀏覽器,然后中止代碼執(zhí)行。

在像清單4那樣編寫完代碼之后,可以打開瀏覽器并指向test4.php,或者可以查看PHP瀏覽器窗口(我的是)。每次輸入和保存文件時,在PHP瀏覽器窗口中就已經(jīng)啟動了調(diào)試序列。如果不使用Windows,請通過瀏覽器查看test4.php。在保存了文件之后,用F8或單擊Run>Resume繼續(xù)代碼執(zhí)行。持續(xù)這么做,直到最后一行輸出是END!為止(參見圖9、10和11)。圖9.初始的到第一個斷點的PHP瀏覽器輸出

請注意圖9中的Debug窗口如何把執(zhí)行顯示為掛起的。圖10.第一個斷點之后到第二個斷點之前的PHP瀏覽器輸出

圖10的Debug窗口仍然把執(zhí)行顯示為掛起,而第二組數(shù)據(jù)顯示在PHP瀏覽器中。圖11.完整的PHP瀏覽器輸出注意,圖11的Debug窗口中的代碼不再掛起,整個腳本已經(jīng)執(zhí)行,如圖11中的PHP瀏覽器所示。

既然已經(jīng)看到了用PHPEclipse和調(diào)試器擴(kuò)展進(jìn)行開發(fā)的優(yōu)勢,那么很難想像沒有它會怎么樣。結(jié)束語

現(xiàn)在已經(jīng)向PHP的調(diào)試技術(shù)集中添加了錯誤報告的運(yùn)用、print語句、PHPEclipse和調(diào)試器擴(kuò)展,您可以通過減少每行代碼的錯誤數(shù)量,成為更有效的PHP編碼人員。請參閱參考資料獲得一些PHP教程,可以在上面測試這些新技能。

友情提示:本文中關(guān)于《php程序員述職報告》給出的范例僅供您參考拓展思維使用,php程序員述職報告:該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。


php程序員述職報告》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請保留原作者信息,謝謝!
鏈接地址:http://www.seogis.com/gongwen/695415.html
相關(guān)文章