花了2天時間,總算素完成了,就一個累字.
先說下起因吧.
前面偶在徵集貼裡已經說過了,徵集一個可以放筆記和程序源碼的程序.
要求1.為了備份,處理還有查看方便,要有數據庫.
要求2.偶記錄的東西為方便查看和管理,必須要連在一起,就像是論壇的連貼形式一樣.
在偶找到這個程序之前,偶素用什麼來記錄筆記/源碼的呢?
答案素符合上面2個要求的PHPWind.
那偶又為什麼現在要重新徵集呢?素因為偶用PHPWind已經遇到瓶頸,這個瓶頸就是轉義.
沒錯,PHPWind給偶的感覺很舒爽,寫完東西以後 Ctrl+Enter就好.
然而,卻會把一些特殊字符轉義.畢竟偶很少會寫帶有網頁特殊字符的程序,這一寫就出問題了.
< > 轉成了< > 當時就感到不快了,但那類程序確實很少寫,所以在中間加了個空格了事.
可是,最近要寫的程序包含了大量的特殊字符,這一 Ctrl+Enter 後,速度程序大變樣,所以不得不放棄PHPWind,而轉向能處理特殊字符的Discuz 7.0.
有數據庫轉換程序的,轉換本身是不難.然後,轉完出來後的程序源碼,都不能用了......全變成了&xxx的形式. = =
這才注意到,PHPWind的數據庫處理實在是很有問題. = =
看下圖就明白了.
偶當時實在是很怒,儘管現在心情好了點.
原來偶提交進數據庫的內容不是偶寫的內容.換個角度來說,偶的源碼從一開始就被破壞了!
用戶提交的數據(UBB代碼),也不過是偽代碼,任你PHPWind怎麼渲染這段數據,是你的事情.但你居然破壞了這段數據!
這一破壞,讓數據庫轉換也遇到了困難,讓以後放棄PHPWind的用戶遇到了困難(當然是可以解決的,但 Discuz 的轉換程序沒有考慮到這點,結果是偶自已寫了個轉換程序).
當然,現在的PHPWind也受到了這種數據庫處理方法應有的懲罰:從v4.3.2開始(之前的就不用測試了吧)到最新的v7.3.2都無法處理這些特殊字符.
等PHPWind v8.0出來,看會不會解決這個問題吧.當然,偶並不樂觀.
而且,經過了這件事後,偶再也不會把偶的源碼放到PHPWind上了.