你不可不知的 JSON 基本介紹
還不知道 JSON 是什麼嘛?本篇教學會帶您瞭解 JSON 在網站上的應用,以及運作流程跟使用 PHP 和 JavaScript 來處理 JSON。假如您現在的工作就是網站設計師,相信一定聽過 JSON,但是什麼是 JSON,它能夠做什麼,及您能透過它在網站上做到哪些事情呢?
透過本篇介紹您可以瞭解基本的 JSON,底下會列出本篇會提到的重點:
- 什麼是 JSON
- JSON 應用在哪些地方
- 如何建立 JSON 字串
- 一個簡單的 JSON 範例
- JSON vs XML
- 如何透過 PHP 及 JavaScript 使用 JSON
什麼是 JSON
JSON 是個以純文字為基底去儲存和傳送簡單結構資料,你可以透過特定的格式去儲存任何資料(字串,數字,陣列,物件),也可以透過物件或陣列來傳送較複雜的資料。一旦建立了您的 JSON 資料,就可以非常簡單的跟其他程式溝通或交換資料,因為 JSON 就只是個純文字格式。
JSON 的優點如下:
- 相容性高
- 格式容易瞭解,閱讀及修改方便
- 支援許多資料格式 (number,string,booleans,nulls,array,associative array)
- 許多程式都支援函式庫讀取或修改 JSON 資料
CodeIgniter 2.0.X MVC 架構介紹
這次受到 OSSF::自由軟體鑄造場(Open Source Software Foundry) 邀請在高雄講 CodeIgniter 2.0.X 系列講座,一整天的課程,可以參考 KaLUG 社群技術分享工作坊 - 快速學習 PHP Framework - CodeIgniter 2.0,2009 年我也是講了一場介紹 CodeIgniter 1.7.X 講座,這次針對於 CodeIgniter 2.0.X 做了詳細介紹,及我們該如何轉換原本網站程式到 CI 上面,學員雖然來的不多,但是我相信大家都有學到這次講課的精華,就是 CodeIgniter MVC 架構,跟如何應用 Controller Model Views 基礎用法,看到大家都很認真學習,還有學員從雲科大到高雄,真的太令我感動了,希望這次議程沒有讓學員們失望,底下附上我的簡報:
簡報檔
CodeIgniter 2.0.1 Release 發佈了
CodeIgniter Release 2.0.1 版本了,原本大家都很擔心為什麼 CodeIgniter 每發佈 Release 版本都要等個好幾個月甚至到半年以上,現在不用這麼久了,因為自從官方新增了 CodeIgniter Reactor 加速版本開發及修正,所以更多人貢獻了自己的程式碼及回報問題,我相信 CodeIgniter 會越來越好,希望有更多台灣的朋友來使用。 2.0.1 版本新增了 ENVIRONMENT 這環境變數,讓程式開發者可以任意調整環境狀況,最主要是改變 PHP error reporting 狀態:
/* * production => error_reporting(0) * development => error_reporting(E_ALL) */ define('ENVIRONMENT', 'production');當您設定為 production,表示網站不需要任意輸出錯誤訊息,如果調整成 development,系統就會打開全部錯誤訊息,這對開發者相當重要。如果想瞭解更多,請參考
Handling Multiple Environments。 歡迎大家下載最新版本: http://www.codeigniter.org.tw/downloads 如果想加入翻譯團隊,可以參考這裡: https://github.com/appleboy/PHP-CodeIgniter-Framework-Taiwan
Ubuntu (Debian) 架設 apache mpm worker mod_fcgid 筆記
最近想架設 Redmine 在 Ubuntu 伺服器上面,架設之前要先搞定 apache 搭配 mpm worker 及 mod_fcgi module,安裝步驟其實不難,就搭配懶人指令 apt 就可以了。
安裝 apache mpm worker 由於怕安裝過程會叫你把 apache2-mpm-worker 移除,改裝 apache2-mpm-prefork,所以安裝順序上面有些變化,請參考底下:
# 先安裝 $ apt-get install apache2.2-bin apache2.2-common apache2-mpm-worker libapache2-mod-fcgid php5-cli php5-cgi php5-common #後安裝 $ apt-get install apache2 php5 php5-gd php5-curl至於 PHP 5 套件就看你需要什麼就裝什麼吧,搜尋一下 php5-* 看看,apache 裝好預設看不到 PHP 網頁,也就是認不得 php type,請在 apache config 檔案加入底下 [Read More]
用 js 或 php 判斷 Android 手機上網
之前寫了一篇 jQuery 偵測瀏覽器版本, 作業系統(OS detection),這次可以來加上 Android 手機版本,其實就是分析瀏覽器 User Agent 來達到目的,底下分享 PHP 跟 Javascript 作法
PHP 方法
if(stripos($_SERVER['HTTP_USER_AGENT'],'Android') !== false) { header('Location: http://android.xxx.com'); exit(); }
Javascript 方法
if(navigator.userAgent.match(/Android/i)) { window.location = 'http://android.xxx.com'; }
Apache .htaccess 方法 用
RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$ RewriteRule ^(.*)$ http://android.xxx.com [R=301]
利用 mb_strwidth 取代 mb_strlen 計算 Multi-byte 字數
WordPress plugin 加強網址 SEO
由於網站 SEO 在大家心中都是非常重要,現在製作網站也都考慮了很多 SEO 的問題,其中一個功能就是可不可以自訂網址,Wordpress 很早之前就支援了此功能,站長我呢,在創站的時候使用 blog.wu-boy.com/2011/02/17/2542,為了使搜尋引擎更可以快速找到本站,所以打算將網址改成 blog.wu-boy.com/2011/02/php-codeigniter-google-url-shortener-api-library/,在後台 Permalink Settings 可以自訂部落格網址,將網址格式改成 /%year%/%monthnum%/%postname%/,可是改了之後,之前搜尋引擎及別人引用的網址就會變成 404 NOT Found,為瞭解決此問題,必須寫一支 Mapping Url 程式,讓之前的舊網址轉到新網址,剛好在 Roga Blog 找到一篇 加強部落格的 SEO,提供了轉換的 plugin,底下是該程式碼:
|
|
PHP CodeIgniter Google URL Shortener API Library
原由 由於 bbs 的盛行,從最早的
0rz.tw 短網址出現,陸陸續續出來很多更好用的網址: tinyurl.com, bit.ly,後來 Google 也推出 goo.gl 服務,讓大家可以使用,提供了 Google URL Shortener API 讓程式開發者可以順利使用此 API,當然在使用 API 之前一定要跟 Google 申請一組 API Key,先到 Google API Console 申請,Shortener API 的規定每天可以存取 1,000,000 次(100萬),我想這樣也足夠個人或者是公司使用了,除非真的比這個大量,可以跟 Google 再提出額外申請。
系統需求
- CodeIgniter Reactor 版本
- PHP 5.2 版本支援 Curl
下載檔案 我已經將檔案都放在
github 上面,為了保持程式最新版本,請大家到底下連結進行下載
CodeIgniter-Google-URL-Shortener-API
系統文件
安裝 此安裝檔案共有三個:
- application/config/google_url_api.php
- application/controllers/google_url.php
- application/libraries/Google_url_api.php 請將檔案放入到相對應的 application 目錄即可
設定 打開
application/config/google_url_api.php 檔案,將申請好的 API Key 填入即可
第一次執行 請在網址列打入
http://your_host/index.php/google_url/ 即可,如果有任何問題,可以在 Controller 部份將 debug mode 打開
$this->google_url_api->enable_debug(TRUE);[Read More]
[新聞] CodeIgniter 發佈 2.0.0 版 Release
[新聞] PHP Framework Codeigniter 1.7.3 釋出 Release 之後,官方終於釋出 2.0 的版本,消息來源: http://codeigniter.com/news/codeigniter_2.0.0_released/。 CodeIgniter 發展其實還蠻慢的,所以很多工程師都跳去其他 PHP Framework 了,然而我始終認為 CI 是一套非常好學習的初階 Framework,希望更多人來使用,底下是 2.0 發佈相關新聞,大家可以參考看看到底做了哪些改變以及 Fix Bug list:
[Read More]