很高興看到 Laravel 的 Homestead 推出 PHP 7 的版本,假如您還在使用 PHP 5.x 的 homestead box,請參考本篇教學,或者是參考線上文件來升級。底下是這次升級的兩個步驟,第一個就是重新下載新的 PHP-7 box 檔案,第二步驟修改 Homestead.yaml
設定檔,請參考如下:
Laravel Presenter 在 Controller 的使用
Laravel Auto Presenter 是一套用在 view 裡的 decorates objects,搭配資料庫時,如果有需要組合或整合欄位來顯示相關資訊,這套就非常適合使用在 Laravel View 裡,如果不是透過 Laravel Auto Presenter,開發者也可以利用 Laravel Accessors & Mutators 來實現這方法,只是這要寫在 Model 層,寫法如下,此做法寫起來蠻亂的,而且也並不是每個地方都需要擴充這些欄位。
/** * The accessors to append to the model's array form. * * @var array */ protected $appends = [ 'is_twitter', ];/**
- Get the user’s is_twitter flag.
- @param string $value
- @return string */ public function getIsTwitterAttribute() { return (bool) ($this->attributes[‘options’] & self::$OPTIONS[‘is_twitter’]); }
Laravel Homestead 2.1.5 版本將不再刪除舊有資料庫
Laravel Homestead 提供一套虛擬機器,讓開發者可以快速將 Laravel 環境架設起來。在 2.1.5 版本以前,要新增新的 Site 都會透過修改 yaml 設定檔後,直接下 homestead provision
來重新啟動 VM,問題就來了,此指令會將現有的 Database 全部刪除,重先建立一次,這樣開發者就要重新跑 DB Migration 才有資料。此問題作者聽到了,所以在 2.1.5
版本作者拿掉 Drop Database 指令,而是透過 CREATE DATABASE IF NOT EXISTS 來取代原有指令 (下面程式碼),這樣開發者就不用擔心資料會被刪除。當然作者也很貼心,如果開發者想要清除整個資料庫,一樣可以透過指令 homestead destroy
來將整個 VM 刪除即可。
// 取代原有 mysql -uhomestead -psecret -e "DROP DATABASE IF EXISTS \`$DB\`"; mysql -uhomestead -psecret -e "CREATE DATABASE IF NOT EXISTS \`$DB\` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci";
詳細的資訊可以參考 official documentation,或參考最近修改的 commit 內容。
Laravel 5.1 is released

很高興昨天收到 Laravel 釋出 5.1 版本,此版本在 Laravel 發展過程中第一個長期支援的版本,底下我們就來看看 Taylor Otwell 作者在此版本釋出有什麼新功能或變化。
[Read More]CodeIgniter 3.0 Release 終於釋出啦

從 2.2.x 版本到現在的 3.0 Release,終於等到釋出大家所期待的 3.0,此版本跟 2.2.x 版本差距極大,修正很多 bugs 重構很多程式碼,官網列出底下重大修正,要嘗鮮的請直接下載吧
- CodeIgniter 使用 MIT 版權宣告
- 重構各種 Database Driver library
- 支援 PDO 所有函數
- 重新撰寫 Session Library,支援 Native Session
- 重新撰寫 Encryption library
- 已加強單元測試部分,以及改善程式碼覆蓋率
- 官方建議使用 PHP 5.4 或更新版本,但是官方仍繼續支援 PHP 5.2.4
詳細資料,可以參考官方的 ChangeLog,如果要升級 CodeIgniter 2 到 3,請詳細參考升級文件。
PS:台灣官網部分近期內會修正
Laravel 5 PHP Framework 釋出
很開心看到 Laravel 作者 Taylor Otwell 能在年前公開 Laravel 5 is Released!,這次連官網也順道一起改版了,經過幾天努力,Laravel Taiwan 也將官網換成新的了,這次 Laravel 5 共釋出 22 個新功能,前端部份也導入新功能叫做 Elixir,另外也將 Scheduler 納入主功能了,非常開心能看到作者開發了好多新功能。由於 Laravel 5 出來了,那接下來就是要翻譯新的文件,請大家可以到 Hackpad 登記翻譯,翻譯完成後送 PR 到 Laravel Taiwan documentation Repo,基本上翻譯過 4.2 版本,把差異性部份補上即可。
Laravel 5 新功能可以直接到 Laracasts 看 laravel 5 Fundamentals 教學影音。
Debian 7.x Install PHP 5.5 或 5.6 版本
Debian 目前預設的 PHP Stable 版本是 5.4.x,由於 Laravel PHP Framework 關係,所以希望升級到 PHP 5.5 或 5.6 版本,只要透過底下操作就可以直接裝 PHP 5.6 版本了
[Read More]加速 PHP Composer 執行效率
早上剛起床就看到 DK 發表一篇增加一行程式碼讓 PHP Composer 效率爆增,Composer 是 PHP 套件管理工具,現在各大 Framework 都用 Composer 管理套件相依性,但是最讓人擔憂的是,每次執行 composer install
或 update 的時候,機器就會開始哀號,然後等了很久指令才執行完成。今天看到 Github 上 Composer 為了改善執行效率及時間就把 gc disabled。這 commit 引發了很多人迴響,超多搞笑留言圖片。底下有兩種方式可以加速 Composer 執行效率
CodeIgniter 搭配 Homestead 開發環境

Homestead 為 Laravel Framework 所提供出來的懶人安裝環境,大幅降低學習 Laravel 的門檻,大家都知道初學一套 Framework 最重要的是快速寫出 Hello world,如果初學者卡在環境都架設不來,那就更加不用接著學習 MVC 架構了,所以 Laravel 提供了 Homestead,不管你是用 Linux 或 Windows 都可以快速的把開發環境架設起來。相信很多人也從 CodeIgniter 跳往 Laravel 框架了,但是舊的網站還是要維護阿,所以這次透過 Laravel Homestead 一起來把 CodeIgniter 開發環境無痛架設起來,省去新人安裝 Nginx + PHP + MySQL 的時間。
[Read More]Laravel Homestead 2.0 介紹
在九月寫了 Laravel Homestead 的基礎介紹,最近 Laravel 推出 Laravel Homestead 2.0,在 1.0 套件是沒有支援 homestead
指令,現在 2.0 可以直接使用 homestead
指令,前置安裝 Vagrant + Virtualbox 就不在此介紹了。