一般來說安裝完 Ubuntu 與 LAMP Server 後,Apache mod_rewrite 預設是沒有啟動的,若我們要啟動它,需要依照以下方法來設定。
首先輸入指令啟動rewrite mod
# sudo a2enmod rewrite
或是用自定link的方式來啟動
# sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
一般來說安裝完 Ubuntu 與 LAMP Server 後,Apache mod_rewrite 預設是沒有啟動的,若我們要啟動它,需要依照以下方法來設定。
首先輸入指令啟動rewrite mod
# sudo a2enmod rewrite
或是用自定link的方式來啟動
# sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
Joomla! 1.6 之後,便提供了開發者與使用者方變得套件更新機制。但由於相關更新機制都是由 xml manifest 檔來判斷的,在官方教學資源不夠完善的情況下,剛開始開發很難入門。
老舊版本的 Mysql4 資料庫或 Joomla! 1.0 時代,常常會見到 latin1 編碼的資料表,在phpMyAdmin上觀看是亂碼,匯出.sql檔後也是一團糟,但網站本身卻可正常讀取。
這是因為資料表雖然設定為latin1,但網站還是utf-8的資料。 因此MySql以latin1來儲存utf-8編碼的文字,讀取時也用latin1讀取,所以會正常還原為原本的資料。
當資料庫轉移要解決這問題時,我們就需要用到 mysqldump 來處理了。
指令只需要這樣下:
mysqldump -u {username} -p{password} {database} > {file_name}.sql --default-character-set=latin1
就能成功用latin1導出原本是utf-8的資料,此時用文件打開就能看到正常的文字了。(要注意,-p與密碼之間無空格,但-u與帳號名稱之間有空格)
範例:
mysqldump -u root -p12345678 database > database.sql --default-character-set=latin1
Windows 下的 mysqldump 在 mysql / bin 下面,用cmd即可操作
範例:
C:\AppServ\mysql\bin\mysqldump -u root -p12345678 database > database.sql --default-character-set=latin1
database.sql 會產生到你操作當下鎖在的目錄。
Joomla!1.6 中,元件render是在Dispatch時進行的。當 JApplication::dispatch() 被執行時,其中一行就會看見:
$contents = JComponentHelper::renderComponent($component);
$document->setBuffer($contents, 'component');
呼叫元件helper在輸出緩衝之中渲染元件頁面的html,然後存在 $contents 中放進緩衝區,等待之後的全站 Render 過程再拿來用。
在 Joomla! 2.5 以後,開發 plugin 主要需要兩個檔案。一個是外掛主檔(php),另一個是安裝資訊檔(xml)。只要有這兩者即可成為一個可運作的外掛。其他語系檔或者附加檔案可在自行加上去。
這篇是為了研究 Joomla! 1.6 的整個頁面讀取過程做的筆記。
從 index.php 開始可以看見整個loading過程非常有結構的分成初期 載入 framework 與接下來的四個執行階段:
最後的 echo $app 就等於執行 $app->__toString() 這個php的魔術函式。並判斷是否要先 gzip 後再輸出。
未完成文章,隨時補充 (最後更新 2011-03-19)
http://www.joomla123.com.tw/api16/ - Joomla! 1.6
http://lab.asikart.com/japi250/ - Joomla! 2.5
http://lab.asikart.com/jpapi12/ - Joomla!Platform 12.1
http://asikart.com/docs/japi30/ - Joomla! 3.0
http://asikart.com/docs/japi31/ - Joomla! 3.1
有需要用到的人可以來這裡參考。