思維導圖 介紹 叫老大不光是因為職位比我高,還因為技術也讓人佩服! 今天跟老大聊聊我們一些代碼結構的問題,有些可能會對你是有協助的。如果大家有不同的看法,可以提出來,一起討論一下。 對話 1>單個檔案巨大(超過5000行) 我:檔案大會不會影響效能啊?PHP語言在處理源檔案的時候(這個主要是php的詞法分析和文法分析),會將源檔案切分為一個一個的標記(token)。如果檔案很大的話,把我們當前不需要的方法都會做標記的,這樣不是明顯影響效能嗎? 老大:這個在效能方面的影響是
思維導圖 介紹 Regex,大家在開發中應該是經常用到,現在很多開發語言都有Regex的應用,比如javascript,java,.net,php等等,我今天就把我對Regex的理解跟大家嘮嘮,不當之處,請多多指教! 需要知道的術語——下面的術語你知道多少? 定界符;字元域;修飾符;限定符;脫字元;萬用字元(正向預查,反向預查);反向引用;惰性匹配;注釋;零字元寬 定位 我們什麼時候使用Regex呢?不是所有的字元操作都用正則就好了,php在某些方面用正則
1. yiiframeworkYii是一個高效能的PHP5的web應用程式開發架構。通過一個簡單的命令列工具 yiic 可以快速建立一個web應用程式的代碼架構,開發人員可以在產生的程式碼架構基礎上添加商務邏輯,以快速完成應用程式的開發。2. CodeIgniter FrameworkCodeIgniter 是目前使用最廣泛的 PHP 架構。CodeIgniter 是一個簡單快速的PHP MVC 架構。EllisLab 的工作人員發布了
APC簡介 APC(Alternative PHP Cache)是一個PHP緩衝。它在記憶體中儲存PHP頁面並且減少了硬碟的I/O。這對於效能的提升十分明顯。你甚至可以在CPU使用率下降50%的情況下提升系統50%的效能。 這篇教程我們會告訴大家如何在windows上安裝APC。我已經在windows server 2003上成功測試。當然,在你也可以使用windows xp做為測試伺服器。 windows下安裝PHP的APC拓展 注意:你不能在一天伺服器上同時安裝APC和Zend
每個人的學習方式不同,寫這篇文章的目的是分享一下自己的學習過程,僅供參考,不要一味的用別人的學習方法,找對自己有用的學習方式 經常在某些論壇和QQ群裡看到一些朋友會問“怎樣才能學好PHP,怎樣才能學好***語言
很多的PHP程式員,尤其是學習還不是很久的,都不知道PHP的精華所在。Perl當年如何在商界出名?其強大的Regex。而PHP呢?他是一門從Unix下發展起來的語言,當然也就繼承了Perl的很多特點,同時C的優點都有。快速、簡潔、明了,尤其是C程式員,PHP是至愛,我就是深愛著“PHP”(都忘了女友了)。這裡,我想來寫一篇PHP的變數、數組應用技巧和PHP的Regex、PHP的模板應用,以後有時間再寫PHP與COM、PHP與XML的完全結合。 1、變數、數組的應用技
相信很多人都想過如何用PHP產生GIF動畫來實現動態圖片驗證碼,以下是實現過程。 ImageCode函數通過GIFEncoder類實現的GIF動畫的PHP原始碼,有興趣的朋友可以研究一下。 效果如圖: /** * ImageCode 產生GIF圖片驗證 * @param $string 字串 * @param $width 寬度 * @param $height 高度 * */ function ImageCode($string = '', $
最近花了大約一星期的時間寫了一個PHP擴充模組Opdumer,並封裝成了Web服務(點擊這裡訪問)。這個模組的主要內容是輸出PHP代碼對應的opcode。其實之前已經有一些用於查看opcode的擴充模組,如比較有名的vld。之所以重新實現一個這樣的模組,主要是因為vld不支援PHP_FUNCTION API,也就是說vld只能用於CLI形式,而Opdumer同時擁有CLI API和PHP_FUNCTION API,另外,也想藉助編寫這個模組的機會學習Zend
我們經常會遇到這種情況:將一些沒有經過任何測試的遺留代碼進行重新編寫測試,甚至這些代碼還是用物件導向寫的。要對這樣的代碼進行測試,我的建議是把代碼分解成塊,這樣就容易測試了。 然而,這些遺留代碼並不是那麼好重構的,比如:測試前,你不能在把代碼重新編寫,這是為了避免影響原有程式,當然也不好進行單元測試。 在PHP程式中,通常有一部分代碼是寫在幾個index.php和script.php檔案中的,這些.php檔案存放在幾個不同的檔案夾裡。如果不找到它們的進入點,是無法直接由Web伺服器訪問的
本文介紹 12 款很棒的 PHP 資源和工具,包括開發架構、開發工具、調試器等。1. CakePHPCakePHP是一個運用了諸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名設計模式的快速開發架構。該項目主要目標是提供一個可以讓各種層次的PHP開發人員快速地開發出健壯的Web應用,而 又不失靈活性。2. Zend StudioZend Studio
一般來說, 我們可以通過直接讓URL指向一個位於Document Root下面的檔案, 來引導使用者下載檔案. 但是, 這樣做, 就沒辦法做一些統計, 許可權檢查, 等等的工作. 於是, 很多時候, 我們採用讓PHP來做轉寄, 為使用者提供檔案下載. $file = "/tmp/dummy.tar.gz"; header("Content-type:
<?php/* * PHP調用Google翻譯 * author:野草 * date:2012/3/23 * email:129@jinzhe.net * site:http://yckit.com */function translate($text,$language='zh-cnen'){ if(empty($text))return false; @set_time_limit(0);&
PHP在之前把原始碼遷移到了git下管理, 同時也在github(https://github.com/php/php-src)上做了鏡像, 這樣一來, 就方便了更多的開發人員為PHP來貢獻代碼. 今天寫這篇文章, 就是為了給在國內的同學們, 願意為PHP開源社區做貢獻的同學們, 做個樣本, 如何為PHP來貢獻你的智慧. 現在, 假設你要為貢獻一個新特性, 或者簡單點, 你要為PHP修複一個bug(一般來說, 大家可以在這裡發現PHP已經報告的bug: 註冊github 2.
項目結構: 開始搜尋: 這裡搜尋索引鍵("大""這") 搜尋結果: 高亮顯示 項目所需資料庫結構: 實現代碼: conn.php <?php $conn = @ mysql_connect("localhost", "root", "") or
PHP一直是在Web開發領域中十分重要而快捷方便的開發語言,深受廣大開發人員的青睞。現在PHP 5.4的正式版本已經發布,其中增加了大量新的特性,官方聲稱效能提高20%,並且佔用更少的資源。在本文中,我將帶領大家學習PHP 5.4的一些新的特性。 在PHP 5.4中,首先是修複了多達100多處的bug,並且在記憶體及效能最佳化上做的更好了,而且去掉了一些之前版本的方法,比如register_globals,magic_quotes,safe_mode等,而且要注意的是,PHP
前言我的脾氣古怪。我會抱怨很多東西。這個星球上大多數技術我都不喜歡。PHP不僅使用起來尷尬,還有要嘛我想要的不適合,要嘛不是最令人滿意,要嘛違背我的信仰。我可以告訴你關於一門語言,所有我想避免的好方式,所有我喜歡的壞方式。來吧,問吧!談話會很有趣!php是唯一的例外。幾乎php抽象的所有東西都是支離破碎的。包括語言,架構,整個生態系統都一塌糊塗。我幾乎不能單獨列出咒罵的事情,因為它全身都壞了。每次我打算編輯一堆雜亂如麻的php抱怨清單的時候,我都被一些瑣事打亂,越深入就越會發現其它令人震驚的事情
小小見解(參考風雪之隅及網上相關資料): 引用和複製的區別: 大家都知道引用其實就是:$a = 1;$b = $a;改變$a或者$b不會影響對方。而引用是按地址傳值:$a = 1;$b = &$a;改變任何一個另一個值都會改變。 但是在末尾加個why呢,為什麼會是這樣呢? 大家需要理解php裡面的兩個機制就是copy on write 和 change on write: copy on write :寫時複製;應用於變數複製。例如上面例子,$a = 1;$a變數存放在符號表裡面,
本文介紹了可以協助簡化 PHP 開發的11個項目,包括架構,類庫,工具,代碼1. CakePHP Development Framework CakePHP 是一個 PHP 的快速開發架構。它提供了可擴充的架構,使用了常見的 MVC 和 ORM 模式。它遵循約定優於配置理念。2. pChart pChart 是一個用來建立圖表的 PHP 架構。在大部分圖表類庫都收費的今天,pChart堅持免費。你可以用 SQL 查詢、CSV
“這個模板好,用它吧?不,再往下看看。恩,這個也不錯,要不……” 這是來到點點的第一天,我所乾的事——挑模板。點點唯美的模板讓人淘醉。 下面用php實現簡單的頁面模板更換。 先貼出工程目錄結構: tpl_test為工程目錄,
1.echo和print的區別 PHP中echo和print的功能基本相同(輸出),但是兩者之間還是有細微差別的。echo輸出後沒有傳回值,但print有傳回值,當其執行失敗時返回flase。因此可以作為一個普通函數來使用,例如執行下面的代碼後變數$r的值將為1。 $r = print "Hello